import {z} from 'zod' export type LogisticsIdentifierTypeEnum = 'AIR_WAYBILL' | 'BILL_OF_LADING' | 'HOUSE_BILL_OF_LADING' | 'BOOKING_NUMBER' | 'CARRIER_IATA' | 'CARRIER_ICAO' | 'CARRIER_NAME' | 'CARRIER_SCAC' | 'FFW_SCAC' | 'NVOCC_SCAC' | 'NVOCC_NAME' | 'FFW_NAME' | 'FFW_MASTER_ID' | 'NVOCC_MASTER_ID' | 'CONTAINER_ID' | 'CUSTOMER_REFERENCE' | 'DELIVERY_NUMBER' | 'EXTERNAL' | 'FLIGHT_NUMBER' | 'ORDER' | 'PICKUP' | 'PRO' | 'PURCHASE_ORDER' | 'RAIL_CAR_ID' | 'RAIL_WAYBILL' | 'TRACKING_NUMBER' | 'TRAILER_ID' | 'UNKNOWN' | 'VESSEL_IMO' | 'VESSEL_NAME' | 'WAYBILL' | 'VESSEL_CALL_SIGN' | 'VESSEL_MMSI' | 'CARRIER_US_DOT_NUMBER' | 'CARRIER_MC_NUMBER' | 'SUBSCRIPTION_ID' | 'HOUSE_AIR_WAYBILL' | 'SALES_ORDER' | 'WAREHOUSE_MOVEMENT_ORDER' | 'ADVANCED_SHIPMENT_NOTICE' | 'DRIVER_MOBILE_PHONE_NUMBER' | 'VEHICLE_ID' | 'LICENSE_PLATE' | 'TRAILER_LICENSE_PLATE' | 'SENSITECH_DEVICE_ID' | 'EMERSON_DEVICE_ID' | 'TIVE_DEVICE_ID' | 'ZILLION_DEVICE_ID' | 'VOYAGE_NUMBER' | 'CARRIER_MASTER_ID' | 'CARRIER_NMC_ID' | 'CONTAINER_TYPE' | 'TRAIN_NUMBER' | 'WAGON_ID' | 'TRAIN_ID' | 'CAPACITY_PROVIDER_ACCOUNT_GROUP' | 'CAPACITY_PROVIDER_ACCOUNT_CODE' | 'SERIAL_NUMBER' | 'VEHICLE_IDENTIFICATION_NUMBER' | 'REFERENCE_NUMBER' | 'CONTAINER_PIN' | 'VESSEL_P44_ID' | 'EXPORT_CUSTOMS_BROKER' | 'IMPORT_CUSTOMS_BROKER' | 'POL_QUALITY_CONTROL_PROVIDER' | 'POD_QUALITY_CONTROL_PROVIDER' | 'AIRCRAFT_ICAO' | 'AIRLINE_NAME' | 'SEAL_NUMBER' | 'DRAYAGE_CARRIER_SCAC' | 'EXPORT_DRAYAGE_CARRIER_SCAC' | 'IMPORT_DRAYAGE_CARRIER_SCAC' | 'INBOUND_VOYAGE_NUMBER'; export type LogisticsIdentifier = {type?: LogisticsIdentifierTypeEnum | undefined, value?: string | undefined}; export type TrackedShipmentDateTime = {dateTime?: string | undefined, endDateTime?: string | undefined, id?: string | undefined, lastModifiedDateTime?: string | undefined, source?: ('UNKNOWN' | 'CARRIER' | 'BROKER' | 'FFW' | 'USER' | 'CONTRACT' | 'GEOFENCE' | 'FACILITY' | 'P44' | 'NVOCC') | undefined, sourceIdentifiers?: Array | undefined, selected?: boolean | undefined, sequence?: number | undefined, type?: ('UNKNOWN' | 'PLANNED' | 'ACTUAL' | 'ESTIMATE') | undefined}; export type DocumentEventDetails = {documentType?: ('UNKNOWN' | 'BILL_OF_LADING' | 'HOUSE_BILL_OF_LADING' | 'AIRWAY_BILL' | 'COMMERCIAL_INVOICE' | 'CUSTOMS_DOCUMENTS' | 'PACKING_SLIP' | 'PACK_SLIP' | 'CERTIFICATE_OF_ORIGIN' | 'PROOF_OF_DELIVERY' | 'DELIVERY_RECEIPT' | 'ECMR' | 'WEIGHT_CERTIFICATE' | 'INSPECTION_CERTIFICATE' | 'LETTER_OF_AUTHORIZATION' | 'LUMPER_CERTIFICATE' | 'INVOICE' | 'HAZMAT_DOCUMENT' | 'SHIPPING_LABEL' | 'OTHER' | 'MISCELLANEOUS') | undefined, fileFormat?: ('UNKNOWN' | 'PDF' | 'TIF' | 'PNG' | 'GIF' | 'JPEG') | undefined, scope?: ('UNKNOWN' | 'SHIPPER' | 'CARRIER' | 'DRIVER') | undefined, url?: string | undefined, version?: number | undefined}; export type MobileTrackingEventDetails = {code?: ('UNKNOWN' | 'DRIVER_ACCEPTED_TERMS_AND_CONDITIONS' | 'DRIVER_INITIATED_APP_SIGNUP' | 'DRIVER_LOADED_ASSIGNED_SHIPMENT_IN_APP' | 'DRIVER_DELETED_ACCOUNT' | 'DRIVER_CLAIMED_SHIPMENT' | 'SHIPMENT_ASSIGNED_INVALID_PHONE_NUMBER' | 'DRIVER_OPENED_INVITATION_LINK' | 'DRIVER_ENTERED_INVALID_VERIFICATION_CODE' | 'DRIVER_CONFIRMED_PHONE_NUMBER' | 'DRIVER_COMPLETED_SHIPMENT_MANUALLY' | 'DRIVER_REJECTED_SHIPMENT_MANUALLY' | 'DRIVER_COMPLETED_SETUP' | 'DRIVER_PROVIDED_INSUFFICIENT_LOCATION_PERMISSION' | 'SHIPMENT_ASSIGNED_VOIP_NUMBER') | undefined}; export type OceanEventDetails = {code?: ('UNKNOWN' | 'GATE_OUT_EMPTY_CONTAINER_AT_TERMINAL' | 'BOOKING_CONFIRMED_BY_FFW' | 'BOOKING_CONFIRMED_BY_OCEAN_CARRIER' | 'BOOKING_CANCELLED' | 'ARRIVAL_OF_EMPTY_CONTAINER_AT_ORIGIN' | 'FULL_CONTAINER_READY_FOR_PICK_UP_AT_ORIGIN' | 'PICKED_UP_FULL_CONTAINER_AT_ORIGIN' | 'ARRIVAL_AT_EXPORT_WAREHOUSE' | 'PICKED_UP_AT_ORIGIN' | 'DEPARTURE_FROM_EXPORT_WAREHOUSE' | 'ARRIVAL_AT_ORIGIN_CFS' | 'LOAD_INTO_CONTAINER_AT_ORIGIN_CFS' | 'DEPARTURE_OF_CONTAINER_FROM_ORIGIN_CFS' | 'ARRIVAL_OF_FULL_CONTAINER_AT_INLAND_EXPORT_TERMINAL' | 'DISCHARGE_FULL_CONTAINER_AT_INLAND_EXPORT_TERMINAL' | 'LOAD_FULL_CONTAINER_AT_INLAND_EXPORT_TERMINAL' | 'DEPARTURE_FULL_CONTAINER_FROM_INLAND_EXPORT_TERMINAL' | 'GATE_IN_FULL_CONTAINER_AT_PORT_OF_LOADING' | 'EXPORT_CUSTOMS_DOCS_FILING' | 'EXPORT_CUSTOMS_HOLD' | 'EXPORT_CUSTOMS_CLEARANCE' | 'LOAD_FULL_CONTAINER_ONTO_VESSEL_AT_PORT_OF_LOADING' | 'VESSEL_DEPARTURE_FROM_PORT_OF_LOADING' | 'SHORT_SHIPPED_AT_PORT_OF_LOADING' | 'VESSEL_ARRIVAL_AT_TRANSSHIPMENT_PORT' | 'DISCHARGE_FULL_CONTAINER_FROM_VESSEL_AT_TRANSSHIPMENT_PORT' | 'LOAD_FULL_CONTAINER_ONTO_VESSEL_AT_TRANSSHIPMENT_PORT' | 'VESSEL_DEPARTURE_FROM_TRANSSHIPMENT_PORT' | 'SHORT_SHIPPED_AT_TRANSSHIPMENT_PORT' | 'ARRIVAL_AT_TRANSSHIPMENT_CFS' | 'DISCHARGE_AT_TRANSSHIPMENT_CFS' | 'LOAD_INTO_CONTAINER_AT_TRANSSHIPMENT_CFS' | 'DEPARTURE_FROM_TRANSSHIPMENT_CFS' | 'VESSEL_ARRIVAL_AT_PORT_OF_DISCHARGE' | 'DISCHARGE_FULL_CONTAINER_FROM_VESSEL_AT_PORT_OF_DISCHARGE' | 'CARRIER_HOLD_AT_PORT_OF_DISCHARGE' | 'CARRIER_RELEASE_AT_PORT_OF_DISCHARGE' | 'SHORT_SHIPPED_AT_PORT_OF_DISCHARGE' | 'IMPORT_CUSTOMS_DOCS_FILING' | 'IMPORT_CUSTOMS_HOLD' | 'IMPORT_CUSTOMS_CLEARANCE' | 'GATE_OUT_FULL_CONTAINER_AT_PORT_OF_DISCHARGE' | 'ARRIVAL_FULL_CONTAINER_AT_INLAND_IMPORT_TERMINAL' | 'DEPARTURE_OF_FULL_CONTAINER_FROM_INLAND_IMPORT_TERMINAL' | 'DISCHARGE_FULL_CONTAINER_AT_INLAND_IMPORT_TERMINAL' | 'LOAD_FULL_CONTAINER_AT_INLAND_IMPORT_TERMINAL' | 'ARRIVAL_OF_FULL_CONTAINER_AT_INLAND_IMPORT_TERMINAL' | 'ARRIVAL_AT_DESTINATION_CFS' | 'STRIP_AT_DESTINATION_CFS' | 'DEPARTURE_FROM_DESTINATION_CFS' | 'ARRIVAL_AT_IMPORT_WAREHOUSE' | 'DEPARTURE_FROM_IMPORT_WAREHOUSE' | 'PROOF_OF_DELIVERY' | 'GATE_OUT_EMPTY_CONTAINER_AT_DESTINATION' | 'ARRIVAL_OF_FULL_CONTAINER_AT_CONSIGNEE' | 'HANDOVER_TO_THIRD_PARTY' | 'READY_FOR_PICKUP_EMPTY_CONTAINER_AT_CONSIGNEE_LOCATION' | 'PICKED_UP_EMPTY_CONTAINER_FROM_CONSIGNEE' | 'GATE_IN_EMPTY_CONTAINER_AT_TERMINAL' | 'CONTAINER_ROLLED_AT_PORT_OF_LOADING' | 'CONTAINER_ROLLED_AT_TRANSSHIPMENT_PORT' | 'CONSIGNEE_NOTIFY' | 'EXPORT_HOLD' | 'EXPORT_AVAILABLE' | 'IMPORT_HOLD' | 'IMPORT_AVAILABLE' | 'PENDING_UPDATE' | 'SCHEDULED' | 'READY_FOR_PICK_UP_AT_ORIGIN' | 'ARRIVAL_AT_ORIGIN_CFS_OR_WAREHOUSE' | 'LOAD_AT_ORIGIN_CFS_OR_WAREHOUSE' | 'DEPARTURE_FROM_ORIGIN_CFS_OR_WAREHOUSE' | 'ARRIVAL_AT_INLAND_EXPORT_TERMINAL' | 'DISCHARGE_AT_INLAND_EXPORT_TERMINAL' | 'LOAD_AT_INLAND_EXPORT_TERMINAL' | 'DEPARTURE_FROM_INLAND_EXPORT_TERMINAL' | 'GATE_IN_FULL_AT_PORT_OF_LOADING' | 'LOAD_ONTO_VESSEL_AT_PORT_OF_LOADING' | 'DISCHARGE_FROM_VESSEL_AT_TRANSSHIPMENT_PORT' | 'LOAD_ONTO_VESSEL_AT_TRANSSHIPMENT_PORT' | 'DISCHARGE_FROM_VESSEL_AT_PORT_OF_DISCHARGE' | 'GATE_OUT_FULL_AT_PORT_OF_DISCHARGE' | 'ARRIVAL_AT_INLAND_IMPORT_TERMINAL' | 'DISCHARGE_AT_INLAND_IMPORT_TERMINAL' | 'LOAD_AT_INLAND_IMPORT_TERMINAL' | 'DEPARTURE_FROM_INLAND_IMPORT_TERMINAL' | 'ARRIVAL_AT_DESTINATION_CFS_OR_WAREHOUSE' | 'STRIP_AT_DESTINATION_CFS_OR_WAREHOUSE' | 'DEPARTURE_FROM_DESTINATION_CFS_OR_WAREHOUSE') | undefined}; export type QualityControlEventDetails = {code?: ('UNKNOWN' | 'SURVEY' | 'HELD' | 'DAMAGE_HELD' | 'PLANT_HELD' | 'QUALITY_CAMPAIGN_HELD' | 'CUSTOMS_HELD' | 'POWER_WASH_HELD' | 'OTHER_HELD' | 'QUALITY_CONTROL_HELD' | 'IMPORT_HELD' | 'RELEASE' | 'AVAILABLE' | 'EXPORT_SURVEY') | undefined}; export type RolloverDetails = Record; export type TrackedShipmentEventDetails = {documentDetails?: DocumentEventDetails | undefined, mobileTracking?: MobileTrackingEventDetails | undefined, ocean?: OceanEventDetails | undefined, qualityControl?: QualityControlEventDetails | undefined, rolloverDetails?: RolloverDetails | undefined}; export type TrackedShipmentEvent = {dateTime?: string | undefined, description?: string | undefined, dateTimes?: Array | undefined, details?: TrackedShipmentEventDetails | undefined, estimateDateTime?: string | undefined, estimateLastCalculatedDateTime?: string | undefined, id?: string | undefined, plannedDateTime?: string | undefined, plannedEndDateTime?: string | undefined, receivedDateTime?: string | undefined, routeSegmentId?: string | undefined, stopId?: string | undefined, type?: ('UNKNOWN' | 'TRACKING_INITIATE' | 'TRACKING_START' | 'ARRIVAL_AT_STOP' | 'DEPARTURE_FROM_STOP' | 'LOAD_ONTO_VEHICLE' | 'UNLOAD_FROM_VEHICLE' | 'TRACKING_END_DUE_TO_TIMEOUT' | 'TRACKING_END_BY_USER' | 'TRACKING_COMPLETE' | 'GATE_IN' | 'GATE_OUT' | 'FLIGHT_BOOKING' | 'MANIFEST' | 'RECEIVE_FROM_SHIPPER' | 'CONSIGNEE_NOTIFY' | 'DELIVERY' | 'WARNING' | 'EXCEPTION' | 'TRACKING_STOP' | 'EXCEPTION_LATE_DEPARTURE' | 'EXCEPTION_MISSED_CONNECTION' | 'GATE_IN_FULL' | 'GATE_IN_EMPTY' | 'GATE_OUT_EMPTY' | 'GATE_OUT_FULL' | 'LOAD' | 'DISCHARGE' | 'EXCEPTION_DELAYED' | 'EXCEPTION_DELIVERY_MISSED' | 'EXCEPTION_HELD' | 'EXCEPTION_PICKUP_MISSED' | 'AVAILABLE' | 'ENTERED_GEOFENCE' | 'EXITED_GEOFENCE' | 'INFO' | 'OUT_FOR_DELIVERY' | 'PICKED_UP' | 'RETURN_TO_SENDER' | 'TRACKING_FAILED' | 'UNAUTHORIZED' | 'PICKUP_MISSED' | 'SURVEY' | 'HELD' | 'CLEAN_TRUCK_FEE_CLEARANCE' | 'CLEAN_TRUCK_FEE_HOLD' | 'OTHER_HOLD' | 'OTHER_HOLD_CLEARANCE' | 'TERMINAL_CLEARANCE' | 'TERMINAL_HOLD' | 'TRAFFIC_MITIGATION_FEE_CLEARANCE' | 'TRAFFIC_MITIGATION_FEE_HOLD' | 'RELEASE' | 'DELAYED' | 'DELIVERY_MISSED' | 'ENTERED_INNER_GEOFENCE' | 'EXITED_INNER_GEOFENCE' | 'ENTERED_OUTER_GEOFENCE' | 'EXITED_OUTER_GEOFENCE' | 'ENTERED_FINAL_GEOFENCE' | 'EXITED_FINAL_GEOFENCE' | 'IDLE' | 'DRIVER_DENY_TRACKING' | 'UNKNOWN_EQUIPMENT_IDENTIFIER' | 'MISSING_EQUIPMENT_IDENTIFIER' | 'DISPATCH' | 'CUSTOMS_HOLD' | 'CUSTOMS_CLEARANCE' | 'CUSTOMS_DOCS_FILING' | 'CUSTOMS_TRANSIT_DOCS_ISSUED' | 'CUSTOMS_TRANSIT_DOCS_CLOSED' | 'CARRIER_HOLD' | 'RECEIVE_FROM_CARRIER' | 'ISSUE_FREIGHT_BILL' | 'FREIGHT_ON_HAND' | 'READY_FOR_CARRIAGE' | 'LAST_FREE_DAY' | 'MISSING_CARRIER' | 'STUFF' | 'STRIP' | 'SEAL_INSPECTION' | 'SEAL_REMOVAL' | 'SEAL_RESEAL' | 'HANDOVER' | 'DOCUMENT_ADD' | 'DOCUMENT_REMOVE' | 'REMOVE_FROM_BOOKING' | 'COST_UPDATE' | 'SHARING_STOPPED' | 'ROLLED_OVER' | 'BAD_ORDER' | 'BAD_ORDER_RELEASE') | undefined}; export type CreateApiApiV4CapacityprovidersTlShipmentsShipmentLegIdEventsArgs = {shipmentLegId: string, body: TrackedShipmentEvent}; export type CreateApiApiV4CapacityprovidersTlShipmentsShipmentLegIdEventsOptions = {baseUrl?: string | undefined, oAuth2?: string | undefined, fetch?: typeof fetch | undefined}; export const logisticsIdentifierTypeEnum = z.enum(["AIR_WAYBILL", "BILL_OF_LADING", "HOUSE_BILL_OF_LADING", "BOOKING_NUMBER", "CARRIER_IATA", "CARRIER_ICAO", "CARRIER_NAME", "CARRIER_SCAC", "FFW_SCAC", "NVOCC_SCAC", "NVOCC_NAME", "FFW_NAME", "FFW_MASTER_ID", "NVOCC_MASTER_ID", "CONTAINER_ID", "CUSTOMER_REFERENCE", "DELIVERY_NUMBER", "EXTERNAL", "FLIGHT_NUMBER", "ORDER", "PICKUP", "PRO", "PURCHASE_ORDER", "RAIL_CAR_ID", "RAIL_WAYBILL", "TRACKING_NUMBER", "TRAILER_ID", "UNKNOWN", "VESSEL_IMO", "VESSEL_NAME", "WAYBILL", "VESSEL_CALL_SIGN", "VESSEL_MMSI", "CARRIER_US_DOT_NUMBER", "CARRIER_MC_NUMBER", "SUBSCRIPTION_ID", "HOUSE_AIR_WAYBILL", "SALES_ORDER", "WAREHOUSE_MOVEMENT_ORDER", "ADVANCED_SHIPMENT_NOTICE", "DRIVER_MOBILE_PHONE_NUMBER", "VEHICLE_ID", "LICENSE_PLATE", "TRAILER_LICENSE_PLATE", "SENSITECH_DEVICE_ID", "EMERSON_DEVICE_ID", "TIVE_DEVICE_ID", "ZILLION_DEVICE_ID", "VOYAGE_NUMBER", "CARRIER_MASTER_ID", "CARRIER_NMC_ID", "CONTAINER_TYPE", "TRAIN_NUMBER", "WAGON_ID", "TRAIN_ID", "CAPACITY_PROVIDER_ACCOUNT_GROUP", "CAPACITY_PROVIDER_ACCOUNT_CODE", "SERIAL_NUMBER", "VEHICLE_IDENTIFICATION_NUMBER", "REFERENCE_NUMBER", "CONTAINER_PIN", "VESSEL_P44_ID", "EXPORT_CUSTOMS_BROKER", "IMPORT_CUSTOMS_BROKER", "POL_QUALITY_CONTROL_PROVIDER", "POD_QUALITY_CONTROL_PROVIDER", "AIRCRAFT_ICAO", "AIRLINE_NAME", "SEAL_NUMBER", "DRAYAGE_CARRIER_SCAC", "EXPORT_DRAYAGE_CARRIER_SCAC", "IMPORT_DRAYAGE_CARRIER_SCAC", "INBOUND_VOYAGE_NUMBER"]); export const logisticsIdentifier = z.object({type: logisticsIdentifierTypeEnum.optional(), value: z.string().min(1).optional()}); export const trackedShipmentDateTime = z.object({dateTime: z.string().min(1).optional(), endDateTime: z.string().optional(), id: z.string().optional(), lastModifiedDateTime: z.string().optional(), source: z.enum(["UNKNOWN", "CARRIER", "BROKER", "FFW", "USER", "CONTRACT", "GEOFENCE", "FACILITY", "P44", "NVOCC"]).optional(), sourceIdentifiers: z.array(logisticsIdentifier).optional(), selected: z.boolean().optional(), sequence: z.number().int().optional(), type: z.enum(["UNKNOWN", "PLANNED", "ACTUAL", "ESTIMATE"]).min(1).optional()}); export const documentEventDetails = z.object({documentType: z.enum(["UNKNOWN", "BILL_OF_LADING", "HOUSE_BILL_OF_LADING", "AIRWAY_BILL", "COMMERCIAL_INVOICE", "CUSTOMS_DOCUMENTS", "PACKING_SLIP", "PACK_SLIP", "CERTIFICATE_OF_ORIGIN", "PROOF_OF_DELIVERY", "DELIVERY_RECEIPT", "ECMR", "WEIGHT_CERTIFICATE", "INSPECTION_CERTIFICATE", "LETTER_OF_AUTHORIZATION", "LUMPER_CERTIFICATE", "INVOICE", "HAZMAT_DOCUMENT", "SHIPPING_LABEL", "OTHER", "MISCELLANEOUS"]).optional(), fileFormat: z.enum(["UNKNOWN", "PDF", "TIF", "PNG", "GIF", "JPEG"]).optional(), scope: z.enum(["UNKNOWN", "SHIPPER", "CARRIER", "DRIVER"]).optional(), url: z.string().optional(), version: z.number().int().optional()}); export const mobileTrackingEventDetails = z.object({code: z.enum(["UNKNOWN", "DRIVER_ACCEPTED_TERMS_AND_CONDITIONS", "DRIVER_INITIATED_APP_SIGNUP", "DRIVER_LOADED_ASSIGNED_SHIPMENT_IN_APP", "DRIVER_DELETED_ACCOUNT", "DRIVER_CLAIMED_SHIPMENT", "SHIPMENT_ASSIGNED_INVALID_PHONE_NUMBER", "DRIVER_OPENED_INVITATION_LINK", "DRIVER_ENTERED_INVALID_VERIFICATION_CODE", "DRIVER_CONFIRMED_PHONE_NUMBER", "DRIVER_COMPLETED_SHIPMENT_MANUALLY", "DRIVER_REJECTED_SHIPMENT_MANUALLY", "DRIVER_COMPLETED_SETUP", "DRIVER_PROVIDED_INSUFFICIENT_LOCATION_PERMISSION", "SHIPMENT_ASSIGNED_VOIP_NUMBER"]).optional()}); export const oceanEventDetails = z.object({code: z.enum(["UNKNOWN", "GATE_OUT_EMPTY_CONTAINER_AT_TERMINAL", "BOOKING_CONFIRMED_BY_FFW", "BOOKING_CONFIRMED_BY_OCEAN_CARRIER", "BOOKING_CANCELLED", "ARRIVAL_OF_EMPTY_CONTAINER_AT_ORIGIN", "FULL_CONTAINER_READY_FOR_PICK_UP_AT_ORIGIN", "PICKED_UP_FULL_CONTAINER_AT_ORIGIN", "ARRIVAL_AT_EXPORT_WAREHOUSE", "PICKED_UP_AT_ORIGIN", "DEPARTURE_FROM_EXPORT_WAREHOUSE", "ARRIVAL_AT_ORIGIN_CFS", "LOAD_INTO_CONTAINER_AT_ORIGIN_CFS", "DEPARTURE_OF_CONTAINER_FROM_ORIGIN_CFS", "ARRIVAL_OF_FULL_CONTAINER_AT_INLAND_EXPORT_TERMINAL", "DISCHARGE_FULL_CONTAINER_AT_INLAND_EXPORT_TERMINAL", "LOAD_FULL_CONTAINER_AT_INLAND_EXPORT_TERMINAL", "DEPARTURE_FULL_CONTAINER_FROM_INLAND_EXPORT_TERMINAL", "GATE_IN_FULL_CONTAINER_AT_PORT_OF_LOADING", "EXPORT_CUSTOMS_DOCS_FILING", "EXPORT_CUSTOMS_HOLD", "EXPORT_CUSTOMS_CLEARANCE", "LOAD_FULL_CONTAINER_ONTO_VESSEL_AT_PORT_OF_LOADING", "VESSEL_DEPARTURE_FROM_PORT_OF_LOADING", "SHORT_SHIPPED_AT_PORT_OF_LOADING", "VESSEL_ARRIVAL_AT_TRANSSHIPMENT_PORT", "DISCHARGE_FULL_CONTAINER_FROM_VESSEL_AT_TRANSSHIPMENT_PORT", "LOAD_FULL_CONTAINER_ONTO_VESSEL_AT_TRANSSHIPMENT_PORT", "VESSEL_DEPARTURE_FROM_TRANSSHIPMENT_PORT", "SHORT_SHIPPED_AT_TRANSSHIPMENT_PORT", "ARRIVAL_AT_TRANSSHIPMENT_CFS", "DISCHARGE_AT_TRANSSHIPMENT_CFS", "LOAD_INTO_CONTAINER_AT_TRANSSHIPMENT_CFS", "DEPARTURE_FROM_TRANSSHIPMENT_CFS", "VESSEL_ARRIVAL_AT_PORT_OF_DISCHARGE", "DISCHARGE_FULL_CONTAINER_FROM_VESSEL_AT_PORT_OF_DISCHARGE", "CARRIER_HOLD_AT_PORT_OF_DISCHARGE", "CARRIER_RELEASE_AT_PORT_OF_DISCHARGE", "SHORT_SHIPPED_AT_PORT_OF_DISCHARGE", "IMPORT_CUSTOMS_DOCS_FILING", "IMPORT_CUSTOMS_HOLD", "IMPORT_CUSTOMS_CLEARANCE", "GATE_OUT_FULL_CONTAINER_AT_PORT_OF_DISCHARGE", "ARRIVAL_FULL_CONTAINER_AT_INLAND_IMPORT_TERMINAL", "DEPARTURE_OF_FULL_CONTAINER_FROM_INLAND_IMPORT_TERMINAL", "DISCHARGE_FULL_CONTAINER_AT_INLAND_IMPORT_TERMINAL", "LOAD_FULL_CONTAINER_AT_INLAND_IMPORT_TERMINAL", "ARRIVAL_OF_FULL_CONTAINER_AT_INLAND_IMPORT_TERMINAL", "ARRIVAL_AT_DESTINATION_CFS", "STRIP_AT_DESTINATION_CFS", "DEPARTURE_FROM_DESTINATION_CFS", "ARRIVAL_AT_IMPORT_WAREHOUSE", "DEPARTURE_FROM_IMPORT_WAREHOUSE", "PROOF_OF_DELIVERY", "GATE_OUT_EMPTY_CONTAINER_AT_DESTINATION", "ARRIVAL_OF_FULL_CONTAINER_AT_CONSIGNEE", "HANDOVER_TO_THIRD_PARTY", "READY_FOR_PICKUP_EMPTY_CONTAINER_AT_CONSIGNEE_LOCATION", "PICKED_UP_EMPTY_CONTAINER_FROM_CONSIGNEE", "GATE_IN_EMPTY_CONTAINER_AT_TERMINAL", "CONTAINER_ROLLED_AT_PORT_OF_LOADING", "CONTAINER_ROLLED_AT_TRANSSHIPMENT_PORT", "CONSIGNEE_NOTIFY", "EXPORT_HOLD", "EXPORT_AVAILABLE", "IMPORT_HOLD", "IMPORT_AVAILABLE", "PENDING_UPDATE", "SCHEDULED", "READY_FOR_PICK_UP_AT_ORIGIN", "ARRIVAL_AT_ORIGIN_CFS_OR_WAREHOUSE", "LOAD_AT_ORIGIN_CFS_OR_WAREHOUSE", "DEPARTURE_FROM_ORIGIN_CFS_OR_WAREHOUSE", "ARRIVAL_AT_INLAND_EXPORT_TERMINAL", "DISCHARGE_AT_INLAND_EXPORT_TERMINAL", "LOAD_AT_INLAND_EXPORT_TERMINAL", "DEPARTURE_FROM_INLAND_EXPORT_TERMINAL", "GATE_IN_FULL_AT_PORT_OF_LOADING", "LOAD_ONTO_VESSEL_AT_PORT_OF_LOADING", "DISCHARGE_FROM_VESSEL_AT_TRANSSHIPMENT_PORT", "LOAD_ONTO_VESSEL_AT_TRANSSHIPMENT_PORT", "DISCHARGE_FROM_VESSEL_AT_PORT_OF_DISCHARGE", "GATE_OUT_FULL_AT_PORT_OF_DISCHARGE", "ARRIVAL_AT_INLAND_IMPORT_TERMINAL", "DISCHARGE_AT_INLAND_IMPORT_TERMINAL", "LOAD_AT_INLAND_IMPORT_TERMINAL", "DEPARTURE_FROM_INLAND_IMPORT_TERMINAL", "ARRIVAL_AT_DESTINATION_CFS_OR_WAREHOUSE", "STRIP_AT_DESTINATION_CFS_OR_WAREHOUSE", "DEPARTURE_FROM_DESTINATION_CFS_OR_WAREHOUSE"]).optional()}); export const qualityControlEventDetails = z.object({code: z.enum(["UNKNOWN", "SURVEY", "HELD", "DAMAGE_HELD", "PLANT_HELD", "QUALITY_CAMPAIGN_HELD", "CUSTOMS_HELD", "POWER_WASH_HELD", "OTHER_HELD", "QUALITY_CONTROL_HELD", "IMPORT_HELD", "RELEASE", "AVAILABLE", "EXPORT_SURVEY"]).optional()}); export const rolloverDetails = z.object({}); export const trackedShipmentEventDetails = z.object({documentDetails: documentEventDetails.optional(), mobileTracking: mobileTrackingEventDetails.optional(), ocean: oceanEventDetails.optional(), qualityControl: qualityControlEventDetails.optional(), rolloverDetails: rolloverDetails.optional()}); export const trackedShipmentEvent = z.object({dateTime: z.string().optional(), description: z.string().optional(), dateTimes: z.array(trackedShipmentDateTime).optional(), details: trackedShipmentEventDetails.optional(), estimateDateTime: z.string().optional(), estimateLastCalculatedDateTime: z.string().optional(), id: z.string().optional(), plannedDateTime: z.string().optional(), plannedEndDateTime: z.string().optional(), receivedDateTime: z.string().optional(), routeSegmentId: z.string().optional(), stopId: z.string().optional(), type: z.enum(["UNKNOWN", "TRACKING_INITIATE", "TRACKING_START", "ARRIVAL_AT_STOP", "DEPARTURE_FROM_STOP", "LOAD_ONTO_VEHICLE", "UNLOAD_FROM_VEHICLE", "TRACKING_END_DUE_TO_TIMEOUT", "TRACKING_END_BY_USER", "TRACKING_COMPLETE", "GATE_IN", "GATE_OUT", "FLIGHT_BOOKING", "MANIFEST", "RECEIVE_FROM_SHIPPER", "CONSIGNEE_NOTIFY", "DELIVERY", "WARNING", "EXCEPTION", "TRACKING_STOP", "EXCEPTION_LATE_DEPARTURE", "EXCEPTION_MISSED_CONNECTION", "GATE_IN_FULL", "GATE_IN_EMPTY", "GATE_OUT_EMPTY", "GATE_OUT_FULL", "LOAD", "DISCHARGE", "EXCEPTION_DELAYED", "EXCEPTION_DELIVERY_MISSED", "EXCEPTION_HELD", "EXCEPTION_PICKUP_MISSED", "AVAILABLE", "ENTERED_GEOFENCE", "EXITED_GEOFENCE", "INFO", "OUT_FOR_DELIVERY", "PICKED_UP", "RETURN_TO_SENDER", "TRACKING_FAILED", "UNAUTHORIZED", "PICKUP_MISSED", "SURVEY", "HELD", "CLEAN_TRUCK_FEE_CLEARANCE", "CLEAN_TRUCK_FEE_HOLD", "OTHER_HOLD", "OTHER_HOLD_CLEARANCE", "TERMINAL_CLEARANCE", "TERMINAL_HOLD", "TRAFFIC_MITIGATION_FEE_CLEARANCE", "TRAFFIC_MITIGATION_FEE_HOLD", "RELEASE", "DELAYED", "DELIVERY_MISSED", "ENTERED_INNER_GEOFENCE", "EXITED_INNER_GEOFENCE", "ENTERED_OUTER_GEOFENCE", "EXITED_OUTER_GEOFENCE", "ENTERED_FINAL_GEOFENCE", "EXITED_FINAL_GEOFENCE", "IDLE", "DRIVER_DENY_TRACKING", "UNKNOWN_EQUIPMENT_IDENTIFIER", "MISSING_EQUIPMENT_IDENTIFIER", "DISPATCH", "CUSTOMS_HOLD", "CUSTOMS_CLEARANCE", "CUSTOMS_DOCS_FILING", "CUSTOMS_TRANSIT_DOCS_ISSUED", "CUSTOMS_TRANSIT_DOCS_CLOSED", "CARRIER_HOLD", "RECEIVE_FROM_CARRIER", "ISSUE_FREIGHT_BILL", "FREIGHT_ON_HAND", "READY_FOR_CARRIAGE", "LAST_FREE_DAY", "MISSING_CARRIER", "STUFF", "STRIP", "SEAL_INSPECTION", "SEAL_REMOVAL", "SEAL_RESEAL", "HANDOVER", "DOCUMENT_ADD", "DOCUMENT_REMOVE", "REMOVE_FROM_BOOKING", "COST_UPDATE", "SHARING_STOPPED", "ROLLED_OVER", "BAD_ORDER", "BAD_ORDER_RELEASE"]).optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * createTruckloadShipmentEvent * * POST /api/v4/capacityproviders/tl/shipments/{shipmentLegId}/events */ export const createApiApiV4CapacityprovidersTlShipmentsShipmentLegIdEvents = async (args: CreateApiApiV4CapacityprovidersTlShipmentsShipmentLegIdEventsArgs, options?: CreateApiApiV4CapacityprovidersTlShipmentsShipmentLegIdEventsOptions) => { const {baseUrl = "https://na12.api.project44.com", fetch: fetchFn = fetch, oAuth2} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (oAuth2 !== undefined) headers.set('authorization', `Bearer ${oAuth2}`) const url = `${baseUrl.replace(/\/+$/, '')}/api/v4/capacityproviders/tl/shipments/${encodeURIComponent(String(args.shipmentLegId))}/events${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(trackedShipmentEvent, await res.json()) };