Merge pull request #1414 from Tria-plc/freight_feature/usermanagement

feat: enhance train scheduling and contract management features
This commit is contained in:
marshal
2026-08-26 00:46:17 +03:00
committed by GitHub
67 changed files with 2998 additions and 255 deletions

View File

@@ -1018,8 +1018,18 @@ export interface CreateBookingUnderContractDto {
equipmentReturn?: string;
containers?: CreateBookingContainerLineDto[];
bulkLines?: CreateBulkLineDto[];
/**
* NUMBER_OF_WAGONS bulk cargo only: how many wagons the shipment needs. The
* weight spreads evenly across them; a PER_WAGON rate bills this count.
* Required when the cargo type is measured by wagons, ignored otherwise.
*/
requestedWagons?: number;
/** What the containers carry — captured per booking (container freight). */
cargoFreeText?: string;
/** Customer's own clearing agent — required at completion of a without-customs import/export booking. */
customsClearingAgent?: string;
customsClearingAgentEmail?: string;
customsClearingAgentPhone?: string;
notes?: string;
}

View File

@@ -73,6 +73,13 @@ export enum BookingType {
export enum CargoUnitOfMeasure {
PerTon = "PER_TON",
PerItem = "PER_ITEM",
/**
* Wagon-request cargo: the customer states the wagon count the shipment
* needs alongside its weight (and an optional item count). Allocation uses
* the requested count verbatim, spreading the weight evenly; a PER_WAGON
* rate bills that count, a PER_TON rate bills the weight.
*/
NumberOfWagons = "NUMBER_OF_WAGONS",
}
export enum BookingStatus {
@@ -709,6 +716,8 @@ export interface IBooking extends BaseEntity {
// (multi-truck self-haul lives in ICustomerTruck[], fetched via the
// /customer-trucks endpoint; the fields above are the booking-level flag.)
customsClearingAgent?: string | null;
customsClearingAgentEmail?: string | null;
customsClearingAgentPhone?: string | null;
equipmentReturn: "WITH_RETURN" | "WITHOUT_RETURN";
originYard?: IYard | null;