Enhance contract and booking request handling

This commit is contained in:
Marshal
2026-06-30 02:20:32 +00:00
parent d91389daac
commit a072f04450
8 changed files with 735 additions and 62 deletions

View File

@@ -411,7 +411,10 @@ export interface IContract extends BaseEntity {
id: string;
code: string;
serviceName: string;
description?: string | null;
canBeBookedAlone: boolean;
includesFirstMile?: boolean;
includesLastMile?: boolean;
includesCustoms: boolean;
} | null;
paymentCurrency: string;
@@ -614,6 +617,39 @@ export interface IBookingRequest extends BaseEntity {
reviewedByStaffId?: string | null;
reviewedAt?: string | null;
reviewNote?: string | null;
/** Loaded contract relation (request detail response includes it). */
contract?: BookingRequestContract | null;
}
/** Customer (company) summary carried on a request's contract. */
export interface BookingRequestCompany {
id: string;
name?: string | null;
tin?: string | null;
email?: string | null;
phone?: string | null;
address?: string | null;
contactPersonName?: string | null;
contactPersonPhone?: string | null;
}
/**
* The slice of the contract surfaced on the shipment-request detail page:
* identity, service type (mile/customs flags), customer, routes and cargo scope.
*/
export interface BookingRequestContract {
id: string;
reference: string;
contractKind: ContractKind;
tradeDirection: ContractTradeDirection;
freightType: ContractFreightType;
customsClearingEnabled: boolean;
paymentCurrency: string;
contractValidUntil?: string | null;
company?: BookingRequestCompany | null;
serviceType?: IContract["serviceType"];
routes?: IContractRoute[];
cargoScope?: IContractCargoScope[];
}
export interface CreateBookingRequestDto {