openapi: 3.0.1 info: license: name: © 2024 project44 - Terms of Use url: https://www.project44.com/terms description: Version 4.0.0 of project44's API title: project44 REST API version: 4.0.0 x-logo: url: /img/p44logo.png servers: - url: https://na12.api.project44.com description: API endpoint for project44 tenants created in NA region - url: https://eu12.api.project44.com description: API endpoint for project44 tenants created in EU region - url: https://na12.api.sandbox.p-44.com description: API endpoint for project44 tenants created in the Sandbox environment tags: - name: Manage Client Applications - name: Generate Tokens - name: Unified Shipment Tracking - name: Deprecated Ocean Tracking - name: Webhook components: schemas: AccessGroup: description: >- A group within the tenant used to group together users that should be entitled the same subset of data. properties: id: description: The unique identifier of the access group format: uuid type: string title: AccessGroup type: object Accessorial: properties: codes: description: An array to hold the list of services requested for the shipment. items: $ref: '#/components/schemas/AccessorialCode' type: array hazardousDetails: allOf: - $ref: '#/components/schemas/HazardousDetailsContact' description: >- Required if accessorial codes list contains HAZ and/or if any commodity line item's hazardous flag is set to true. cod: allOf: - $ref: '#/components/schemas/Cod' description: >- Required when accessorial code COD is present in the accessorial codes list. sortAndSegregateDetails: allOf: - $ref: '#/components/schemas/SortAndSegregateDetails' description: >- Required when accessorial code SRT is present in the accessorial codes list. fullValueCoverageDetails: allOf: - $ref: '#/components/schemas/FullValueCoverageDetails' description: >- Required when accessorial code FVC is present in the accessorial codes list. markDetails: allOf: - $ref: '#/components/schemas/MarkDetails' description: >- Required when accessorial code MARK is present in the accessorial codes list. limitedAccessType: allOf: - $ref: '#/components/schemas/LimitedAccessType' description: >- Optional attribute to indicate the limited access type when accessorial code LTDAP or LTDAD is present in the accessorial codes list. timeCriticalDetails: $ref: '#/components/schemas/TimeCriticalDetails' appointmentDetails: $ref: '#/components/schemas/AppointmentDetails' type: object AccessorialCode: description: Accessorial codes enum: - APTD - APTP - COD - EXPD - FVC - GTD_AM - GTD_NOON - GTD_PM - HAZ - IDL - INBD - IPU - LFTD - LFTP - LTDAD - LTDAP - MARK - MNC - OVR - PPD - PSC - PSH - PSN - REP - RES - SRT - SS - TCS type: string AccessorialService: description: An accessorial service requested of a carrier tendering a shipment. properties: code: description: >- The code for the requested accessorial service. A list of accessorial service codes supported by project44 is provided in the API reference data section. type: string required: - code AccessorialServiceConfiguration: description: Contains fields used to configure the rate quote accessorial services. properties: allowUnacceptedAccessorials: description: >- If set to 'true', rate quotes will be allowed from capacity providers that do not accept one or more requested accessorial services. The default behavior is to reject a rate quote with an error from any capacity provider that does not accept every requested accessorial service in the query. (default: 'false') type: boolean fetchAllGuaranteed: description: >- If set to 'true', rate quotes for all possible guaranteed service levels (e.g., guaranteed by noon or guaranteed by 3pm) will be retrieved from each capacity provider, based on what each provider offers. (default: 'false') type: boolean fetchAllInsideDelivery: description: >- If set to 'true', rate quotes for all possible inside delivery accessorial services will be retrieved from each capacity provider, based on what each provider offers. (default: 'false') type: boolean fetchAllServiceLevels: description: >- If set to 'true', rate quotes for all possible service levels (e.g., guaranteed or expedited) will be retrieved from each capacity provider, based on what each provider offers. (default: 'false') type: boolean title: AccessorialServiceConfiguration type: object AdditionalAppointmentWindowIdentifier: description: >- A user defined additional appointment window identifier to be used in lists. properties: type: $ref: '#/components/schemas/AdditionalAppointmentWindowIdentifierType' value: description: The value of additional appointment window identifier. type: string required: - type - value AdditionalAppointmentWindowIdentifierType: description: The type of additional appointment window identifier. enum: - DOCK - BOOKING_ID format: enum type: string AdditionalAppointmentWindowStatus: enum: - PENDING - REJECTED - BOOKED - CANCELLED - COMPLETED - PENDING_CARRIER - PENDING_INTERNAL - NONE_AVAILABLE format: enum type: string AdditionalOrderIdentifier: properties: type: enum: - CONTRACT - LOAD - MANUFACTURER - PROMOTION - SEASON - VENDOR - LAUNCH_CODE type: string value: type: string type: object AdditionalReference: properties: name: description: Indicates the name of the reference number being provided. type: string value: description: >- Additional reference number that correlates to the additional reference name. type: string type: object Address: description: A postal address. properties: postalCode: description: The ZIP or postal code. type: string addressLines: description: >- Street name, number, direction, PO box, etc. Only three address lines are currently permitted. items: type: string maxLength: 3 minLength: 0 type: array city: description: Name of city, town, etc. type: string state: description: Abbreviation of state, province, district, etc. type: string country: $ref: '#/components/schemas/CountryCode' description: 'Abbreviation of country (using ISO 3166 standards). (default: ''US'')' required: - addressLines - city - country - postalCode - state AlternateRateQuote: description: >- An alternate rate quote provided along with the primary rate quote from a single carrier. properties: capacityProviderQuoteNumber: description: >- The capacity provider's identifier for this alternate rate quote, if provided. type: string deliveryDateTime: description: >- The delivery date and time for this alternate rate quote in the timezone of the destination location, if provided. (format: yyyy-MM-dd'T'HH:mm:ss) format: date-time type: string rateQuoteDetail: $ref: '#/components/schemas/RateQuoteDetail' serviceLevel: $ref: '#/components/schemas/ServiceLevel' transitDays: description: >- The number of service days to deliver the shipment being quoted after it is picked up, if provided. format: int32 type: integer transitDaysRange: $ref: '#/components/schemas/IntegerRange' title: AlternateRateQuote type: object ApiConfiguration: properties: bookingWebhookName: description: >- An optional name of the webhook that will receive updates for this booking. type: string type: object ApiError: description: >- Representation of an error that occurs during API execution and results in a 4xx or 5xx HTTP status code. properties: httpStatusCode: description: The value of the HTTP status code. format: int32 type: integer httpMessage: description: Description of the HTTP status code. type: string errorMessage: description: Description of the error. type: string errors: description: >- (Optional) Collection of Message objects which provide further information as to the cause of this error. items: $ref: '#/components/schemas/Message' type: array xml: wrapped: true supportReferenceId: description: >- A reference identifier used by project44 support to assist with certain error messages. type: string ApiErrorDto: properties: httpStatusCode: format: int32 type: integer httpMessage: type: string errorMessage: type: string errors: items: $ref: '#/components/schemas/MessageDto' type: array supportReferenceId: type: string type: object AppointmentDetails: properties: pickup: allOf: - $ref: '#/components/schemas/PickupAppointmentDetails' description: Pickup appointment details. delivery: allOf: - $ref: '#/components/schemas/DeliveryAppointmentDetails' description: Delivery appointment details. type: object AppointmentRequiredAccessorial: additionalProperties: false description: Accessorial which flags the explicit need for appointment service. properties: code: enum: - APPOINTMENT_REQUIRED type: string details: allOf: - $ref: '#/components/schemas/SpecificationKind_bool_' description: Flag denoting requirement. required: - code - details type: object ArrivalEstimateSource: description: The source of the external arrival estimate. enum: - SHIPPER - CARRIER - UNKNOWN format: enum type: string ArrivalStatus: properties: code: enum: - UNKNOWN - EARLY - ON_TIME - LATE type: string duration: $ref: '#/components/schemas/TimeDuration' title: ArrivalStatus type: object AssetTrackingSubscription: properties: equipmentIdentifier: $ref: '#/components/schemas/EquipmentIdentifier' expirationDateTime: description: >- Optional time to stop tracking as asset. This is a date-time with an offset from UTC/Greenwich in the ISO-8601 calendar system, such as 2019-12-03T10:15:30+01:00. If not provided, it will be set to six months from the enrollment time. type: string id: format: uuid type: string webhookName: description: >- The name of the previously registered webhook. This indicates where to send the asset tracking information. type: string title: AssetTrackingSubscription type: object Attribute: description: Contains a key and value for custom attributes. properties: name: description: The name for an attribute. Must be unique. maxLength: 255 minLength: 1 type: string values: description: The values for an attribute. items: type: string type: array required: - name - values AutomatedFailureReason: description: An enumeration. enum: - ERROR_CREDENTIALS - NO_RESPONSE_CARRIER - INTERNAL_ERROR_CARRIER - UNKNOWN_ERROR_CARRIER - INTERNAL_ERROR_VCS - UNKNOWN_ERROR_VCS - UNSUPPORTED_EQUIPMENT_TYPE - UNSUPPORTED_MODE - UNSUPPORTED_COUNTRY - UNSUPPORTED_STOP_TYPE - MISSING_DATA - INVALID_DATA type: string AvailableVehicles: properties: terminatingCapacity: $ref: '#/components/schemas/TerminatingCapacity' title: AvailableVehicles type: object AvailableVehiclesPage: properties: paginationInfo: $ref: '#/components/schemas/PaginationInfo' results: description: List of resources contained on this page. items: $ref: '#/components/schemas/AvailableVehicles' type: array title: AvailableVehiclesPage type: object AvailableVehiclesQuery: properties: address: $ref: '#/components/schemas/Address' geoCoordinates: $ref: '#/components/schemas/GeoCoordinates' includeMyShipments: description: Allows users to exclude shipments belonging to their tenant. type: boolean radius: description: >- Search radius for capacity. Default is 25 miles or 40 km if no value is submitted. Valid values are any integer between 10-50 for miles and 16-80 for km. format: int32 type: integer radiusUnit: description: Unit of the search radius for capacity. Default is miles. enum: - FT - M - MI - KM type: string sharingPool: description: >- Optional parameter that will only return results from a specified pool. This will only apply to customers in more than 1 pool. type: string timeRange: $ref: '#/components/schemas/OffsetDateTimeWindow' truckType: description: >- Optional parameter that will return available capacity specific to the type of truck requested. enum: - AUTO_CARRIER - B_TRAIN - CONESTOGA - CONTAINER - CONTAINER_INSULATED - CONTAINER_REFRIGERATED - CONVEYOR - DOUBLE_DROP - DROP_DECK_LANDOLL - DUMP_TRAILER - FLAT_BED - FLATBED_AIR_RIDE - FLATBED_CONESTOGA - FLATBED_DOUBLE - FLATBED_HAZMAT - FLATBED_HOTSHOT - FLATBED_MAXI - FLATBED_STEP_DECK - FLATBED_OVERDOMENSION - FLATBED_OVERDIMENSION - FLATBED_CHAINS - FLATBED_SIDES - FLATBED_TARPS - FLATBED_TEAM - FLATBED_VAN_REEFER - HOPPER_BOTTOM - INSULATED_VAN_REEFER - LOWBOY - LOWBOY_REM_GOOSENECK - LOWBOY_OVERDIMENSION - MOVING_VAN - PNEUMATIC - POWER_ONLY - REEFER - REEFER_AIR_RIDE - REEFER_DOUBLE - REEFER_HAZMAT - REEFER_INTERMODAL - REEFER_LOGISTICS - REEFER_VENTED_VAN - REEFER_PALLET_EXCHANGE - REEFER_TEAM - REMOVABLE_GOOSENECK - STEP_DECK - STEP_DECK_REM_GOOSENECK - STEP_DECK_CONESTOGA - STRAIGHT_BOX_TRUCK - STRETCH_TRAILER - TANKER_ALUMINUM - TANKER_INTERMODAL - TANKER_STEEL - TRUCK_AND_TRAILER - DRY_VAN - VAN - VAN_AIR_RIDE - VAN_BLANKET_WRAP - VAN_CONESTOGA - VAN_DOUBLE - VAN_HAZMAT - VAN_HOTSHOT - VAN_INSULATED - VAN_INTERMODAL - VAN_LIFT_GATE - VAN_LOGISTICS - VAN_OPEN_TOP - VAN_FLATBED - VAN_FLATBED_TARPS - VAN_FLATBET - VAN_FLATBET_TARPS - VAN_REEFER - VAN_PALLET_EXCHANGE - VAN_ROLLER_BED - VAN_TRIPLE - VAN_VENTED - VAN_CURTAINS - VAN_TEAM type: string title: AvailableVehiclesQuery type: object BasicInventoryItemSearchCriteria: properties: consumeByDateTimeRange: $ref: '#/components/schemas/OffsetDateTimeRangeFilter' hazardClasses: items: type: string type: array ids: items: type: string type: array inventoryIdentifiers: items: $ref: '#/components/schemas/InventoryIdentifier' type: array manufacturedDateTimeRange: $ref: '#/components/schemas/OffsetDateTimeRangeFilter' orderIds: items: type: string type: array packagedDateTimeRange: $ref: '#/components/schemas/OffsetDateTimeRangeFilter' perUnitCost: $ref: '#/components/schemas/MonetaryValueRangeFilter' perUnitRetailValue: $ref: '#/components/schemas/MonetaryValueRangeFilter' perishable: type: boolean searchText: type: string sellByDateTimeRange: $ref: '#/components/schemas/OffsetDateTimeRangeFilter' shipmentIds: items: format: uuid type: string type: array skus: items: type: string type: array taxable: type: boolean upcs: items: type: string type: array title: BasicInventoryItemSearchCriteria type: object BasicInventoryOrderSearchCriteria: properties: additionalOrderIdentifierCriteria: items: $ref: '#/components/schemas/InventoryOrderIdentifierCriteria' type: array billToLocationAddressText: type: string destinationLocationAddressText: type: string hasShipmentIds: type: boolean ids: items: type: string type: array launchDateTime: $ref: '#/components/schemas/OffsetDateTimeRangeFilter' orderAttributes: items: $ref: '#/components/schemas/InventoryOrderAttributeFilter' type: array orderHealthCriteria: items: $ref: '#/components/schemas/OrderHealthCriteria' type: array orderIdentifiers: items: type: string type: array orderSubmissionDateTime: $ref: '#/components/schemas/OffsetDateTimeRangeFilter' orderTagCriteria: items: $ref: '#/components/schemas/InventoryOrderTagCriteria' type: array orderTypes: items: enum: - PURCHASE_ORDER - SALES_ORDER - WAREHOUSE_MOVEMENT_ORDER - ADVANCED_SHIPMENT_NOTICE - INVOICE type: string type: array originLocationAddressText: type: string originalDeliveryDateTimeWindowEnd: $ref: '#/components/schemas/OffsetDateTimeRangeFilter' originalDeliveryDateTimeWindowStart: $ref: '#/components/schemas/OffsetDateTimeRangeFilter' pagination: $ref: '#/components/schemas/PaginationParameters' relatedOrderIds: items: type: string type: array searchText: type: string shipmentIds: items: format: uuid type: string type: array sort: items: $ref: '#/components/schemas/InventoryOrderSortField' type: array statusCodes: items: enum: - SUBMITTED - RECEIVED - PROCESSING - ACCEPTED - FULFILLED - REJECTED - CANCELED type: string type: array supplierReadyDateTimeWindowEnd: $ref: '#/components/schemas/OffsetDateTimeRangeFilter' supplierReadyDateTimeWindowStart: $ref: '#/components/schemas/OffsetDateTimeRangeFilter' vendorLocationAddressText: type: string title: BasicInventoryOrderSearchCriteria type: object Body_create_document_documents_post: properties: upload_file: format: binary type: string document: type: string required: - document type: object Body_search_documents_documents_search_post: properties: name: allOf: - $ref: '#/components/schemas/NameWrapper' description: The name of the document to search for type: allOf: - $ref: '#/components/schemas/TypeWrapper' description: List of document types to filter. Only equal operator is supported. identifiers: allOf: - $ref: '#/components/schemas/IdentifierWrapper' description: List of logistics identifiers. Only equal operator is supported. type: object Bol: properties: requestedPickupDate: description: The intended Ship Date. format: date-time type: string function: default: Create description: The intent for the submitted request. type: string isTest: default: false description: >- Indicates whether or not the submitted request is intended to be a test or not. type: boolean requestorRole: allOf: - $ref: '#/components/schemas/RequestorRoleCode' description: Identifies the party making the request. specialInstructions: description: >- Special delivery instructions that need to be followed for the shipment's delivery. type: string required: - requestedPickupDate - requestorRole type: object BookedShipment: description: >- The overall shipper's construct of the material good(s) to be transported by the carrier. properties: identifiers: items: $ref: '#/components/schemas/LogisticsIdentifier' maxItems: 20 type: array routeInfo: $ref: '#/components/schemas/RouteInfo' attributes: description: >- An optional user-defined set of custom attributes to associate with this shipment. These are descriptors and identifiers which apply to the entire shipment and they are not shared with any carriers. items: $ref: '#/components/schemas/CustomAttribute' maxItems: 5 type: array name: description: >- The descriptive name or otherwise human-readable description of the shipment created; this is not visible to the carrier. type: string notes: description: >- An optional, shipper-provided free-text space for notes on the shipment. maxLength: 300 type: string bookings: description: A list of all bookings related to the shipment. items: $ref: '#/components/schemas/Booking' type: array id: description: The project44-generated shipment identifier format: uuid type: string createdDateTime: description: The datetime when the shipment was created. format: date-time type: string lastModifiedDateTime: description: The datetime when the shipment was last updated. format: date-time type: string required: - routeInfo - id - createdDateTime - lastModifiedDateTime type: object BookedShipmentPage: description: >- A paginated response containing results and information about the current page. properties: paginationInfo: allOf: - $ref: '#/components/schemas/PaginationInfo' description: Pagination information about a collection of resources. results: description: List of resources contained on this page. items: $ref: '#/components/schemas/BookedShipment' type: array required: - paginationInfo type: object Booking: description: >- A representation of a booking initiated by a shipper and accepted/rejected by a carrier. A booking describes the segments between locations to transport a load. properties: shipmentId: description: >- The project44-generated identifier for the shipment which parents the booking. Optional when created with a Shipment in one request. Required when creating a booking separately. format: uuid type: string attributes: description: >- A shipper-provided list of custom key-value list pairs relevant to the booking which are shared with the carrier. items: $ref: '#/components/schemas/CustomAttribute' type: array capacityProviderIdentifier: allOf: - $ref: '#/components/schemas/CapacityProviderIdentifier' description: >- Reference to the desired carrier to transport the shipment across the booking's specified route segments. carrierContacts: description: >- Individuals representing the carrier to whom the booking should be sent. These contacts are not notify parties nor any individuals working with or on behalf of the shipper. items: $ref: >- #/components/schemas/multi_modal_booking_service_public__contact__Contact type: array totalRate: allOf: - $ref: '#/components/schemas/MonetaryValue' description: >- Optionally include the rate for transporting the load to the stops specified in the booking. rateIdentifiers: description: >- A list of at least one identifier as reference to the original source of the rate applicable to the booking. Typically a spot quote or a contract ID. items: $ref: '#/components/schemas/RateIdentifier' minItems: 1 type: array expirationDateTime: description: >- The datetime of expiration for this request from the shipper to the carrier. A timezone offset is required. format: date-time type: string routeSegmentIds: description: List of route-segment ids which apply to the booking. items: type: string format: uuid minItems: 1 type: array notes: description: >- An optional, shipper-provided free-text space for notes on the shipment. maxLength: 300 type: string shipmentDetails: description: >- Descriptive information about the load to be transported; if the load does not change between route segments, this body is expected to be the same across each route-segment body. items: $ref: '#/components/schemas/ShipmentDetails' type: array apiConfiguration: allOf: - $ref: '#/components/schemas/ApiConfiguration' description: Field for configuring the behavior of this API. shipperContactInfo: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_public__contact__Contact description: Contact method to reach the shipper making the booking request. shippingDetails: anyOf: - $ref: '#/components/schemas/TruckloadShippingDetails' - $ref: '#/components/schemas/OceanShippingDetails' description: >- Information about how a load should be handled in transportation, specific to mode; When carrier respond to booking, this field also contains specific carrier's response information. id: description: The project44-generated identifier for the booking. format: uuid type: string status: allOf: - $ref: '#/components/schemas/BookingStatus' default: PROCESSING description: >- A descriptive state of the booking; Starting as `PROCESSING` when created, this booking may be `BOOKED`, `UNDER_REVIEW`, or `REJECTED by the carrier, and `CANCELLED` by the shipper. Or it may `EXPIRE` if it remains in the `PROCESSING` or `UNDER_REVIEW` states beyond its set expiration datetime. shipmentIdentifiers: description: >- Shipper-supplied identifiers for the shipment to be transported. Passed through from the parenting shipment and shared with the carrier. items: $ref: '#/components/schemas/LogisticsIdentifier' type: array routeSegments: description: >- A list of locations from/to which the shipment load is expected to be transported, organized as pairs. items: $ref: '#/components/schemas/RouteSegmentWithStops' type: array rejectionReason: allOf: - $ref: '#/components/schemas/BookingRejectionReason' description: >- Descriptive information as to why a carrier could not accept a booking, if applicable. carrierResponseMethod: allOf: - $ref: '#/components/schemas/CarrierResponseMethod' default: EMAIL description: Carrier expected to answer by API/EDI or email automatedFailureReason: allOf: - $ref: '#/components/schemas/AutomatedFailureReason' description: >- The reason a booking may not have been properly requested, or its response from the carrier may not have been retrieved for bookings which are relayed to the carrier through an automated means (EDI, API). bookingSourceMethod: allOf: - $ref: '#/components/schemas/BookingSourceMethod' default: API description: Shipper made booking request by WebGUI or API carrierRejectionNotes: description: >- A free-text space for the carrier to provide extra information as to why they may reject the booking request. maxLength: 300 type: string transportationMode: $ref: '#/components/schemas/TransportationMode' masterShipmentId: description: >- Once `BOOKED`, the booking initiates a tracked shipment within project44. With this identifier, the shipper may seek the trackable shipment through the rest of the project44 platform. format: uuid type: string carrierProvidedIdentifiers: description: >- Carrier-supplied identifiers for the shipment to be transported. Fully mutable. items: $ref: '#/components/schemas/LogisticsIdentifier' maxItems: 20 type: array createdDateTime: description: The datetime when the booking was created. format: date-time type: string lastModifiedDateTime: description: The datetime when the shipment was last updated. format: date-time type: string required: - capacityProviderIdentifier - rateIdentifiers - expirationDateTime - routeSegmentIds - shipperContactInfo - shippingDetails - transportationMode - createdDateTime - lastModifiedDateTime type: object BookingPage: description: >- A paginated response containing results and information about the current page. properties: paginationInfo: allOf: - $ref: '#/components/schemas/PaginationInfo' description: Pagination information about a collection of resources. results: description: List of resources contained on this page. items: $ref: '#/components/schemas/Booking' type: array required: - paginationInfo type: object BookingRejection: properties: reason: allOf: - $ref: '#/components/schemas/BookingRejectionReason' description: >- The codified reason why a carrier would reject a booking from a carrier. notes: description: >- Free text space to supply extra detail regarding why the carrier may not be able to accept a particular booking from a shipper. maxLength: 300 type: string required: - reason type: object BookingRejectionReason: description: The reason a carrier may opt not to accept a booking from a shipper. enum: - COST_NOT_AGREED - SHORT_ON_STAFF - NOT_WITHIN_SCOPE - TRANSIT_TIME_TOO_SHORT - REQUESTED_EQUIPMENT_NOT_AVAILABLE - OTHER type: string BookingResponse: description: >- The carrier's approval of a booking. The carrier should supply any identifiers they have for the shipment in their response. properties: shipmentIdentifiers: description: >- Methods for identifying the shipment; usually a BOOKING_NUMBER or BOL. items: $ref: '#/components/schemas/LogisticsIdentifier' type: array routeSegments: description: >- List of the accepted dates to travel the route-segments requested by the shipper. All of the route-segments requested by the shipper in the booking must be included. items: $ref: '#/components/schemas/RouteSegmentResponse' minItems: 1 type: array details: anyOf: - $ref: '#/components/schemas/OceanBookingResponseDetails' - $ref: '#/components/schemas/TruckloadBookingResponseDetails' description: Further response details applicable to the booking. required: - routeSegments type: object BookingSourceMethod: description: Method by which a shipper initiates a request for a booking. enum: - API - WEBAPP type: string BookingStatus: description: >- A descriptive state for a booking. Bookings start out in a `PROCESSING` state, only to be `BOOKED` or `REJECTED` by a carrier. A booking may enter the `UNDER_REVIEW` state after `PROCESSING` if the response must be polled after request. The state may shift to `CANCELLED` due to actions caused by either party in any state. A booking is `EXPIRED` if it sits in the `PROCESSING` or `UNDER_REVIEW` status upon the time which it is set to expire. enum: - PROCESSING - UNDER_REVIEW - BOOKED - REJECTED - CANCELLED - EXPIRED type: string CallBeforeArrivalAccessorial: additionalProperties: false description: >- Accessorial which flags the explicit need for call before arrival to a stop service. properties: code: enum: - CALL_BEFORE_ARRIVAL type: string details: allOf: - $ref: '#/components/schemas/SpecificationKind_bool_' description: Flag denoting requirement. required: - code - details type: object CapacityProvider: properties: capacityProviderIdentifiers: description: >- A list of capacity provider identifiers that can be used to reference this capacity provider. items: $ref: '#/components/schemas/CapacityProviderIdentifier' type: array name: description: The name of this capacity provider. type: string supportedServices: description: >- A list of services by transportation mode supported by this capacity provider within project44. items: $ref: '#/components/schemas/CapacityProviderService' type: array type: description: The type of this capacity provider, either carrier or 3PL/broker. enum: - CARRIER - BROKER type: string title: CapacityProvider type: object CapacityProviderAccount: description: >- The capacity provider account that was used for authentication with the capacity provider's API. properties: code: description: >- The code for the requested capacity provider account that was used for authentication with the capacity provider's API. type: string required: - code CapacityProviderAccountFieldDefinition: properties: code: description: >- The project44 code for this field. This is the name of the field within CapacityProviderAccountInfo -- e.g., 'credential1' or 'accountFlag1'. type: string constraint: description: >- The constraints on this field -- whether it is required, conditionally required, or optional. If a field is not applicable to an account definition, it won't show up at all in the list. enum: - REQUIRED - CONDITIONALLY_REQUIRED - OPTIONAL type: string name: description: >- The display name of this field. For capacity-provider-specific fields like 'credential1', this name will be what the capacity provider calls this field -- e.g., 'Authentication Key' or 'Login Name'. type: string title: CapacityProviderAccountFieldDefinition type: object CapacityProviderAccountGroup: description: >- The requested capacity provider account group containing the account used for authentication with the capacity provider's API. properties: code: description: >- The code for the capacity provider account group that contains all accounts against which an operation is to be performed. Capacity provider account groups are set up through the project44 Self-Service Portal. If no key is specified, the 'Default' account group will be used. type: string accounts: description: >- Capacity provider accounts used for authentication with the capacity providers' APIs. For quoting, defaults to all accounts within the account group. For shipment, shipment status, and image, one and only one account is required. items: $ref: '#/components/schemas/CapacityProviderAccount' type: array xml: wrapped: true CapacityProviderAccountGroupInfo: description: >- The details necessary to get or instantiate a new capacity provider group. properties: code: description: >- The unique, user-provided code used to identify this account group. Typically, an account group will correspond to a single customer or a single customer location. Account group codes are provided in shipment lifecycle APIs to identify a particular account. This field may be provided when creating an account group but is not required when creating or updating a set of capacity provider accounts in the capacity provider account management API. type: string id: description: >- The project44-generated id of the capacity provider account group. This id may not be provided when creating a capacity provider account group, but it is required when updating one or when creating or updating a capacity provider account set. format: int64 type: integer name: description: >- The user-provided name to be assigned to this group. This field may be provided when creating an account group but is not required when creating or updating a set of capacity provider accounts in the capacity provider account management API. type: string title: CapacityProviderAccountGroupInfo type: object CapacityProviderAccountGroupInfoCollection: description: >- A collection of details necessary to get or instantiate a new capacity provider group. properties: groups: description: List of multiple capacity provider account groups. items: $ref: '#/components/schemas/CapacityProviderAccountGroupInfo' type: array title: CapacityProviderAccountGroupInfoCollection type: object CapacityProviderAccountInfo: description: Capacity provider account information. properties: accountDefinitionIdentifier: description: >- Capacity provider account definition identifier is used to distinguish capacity provider accounts when a specific capacity provider has more then one account definition for different services. Use the "Capacity Provider Metadata" API to get account definition information for a capacity provider. type: string accountFlag1: description: >- A boolean flag related to the your account with the capacity provider, defined by the applicable capacity provider account definition (e.g., for UPGF, this is 'enable density-based rating'). type: boolean accountNumber1: description: >- The first account number with the capacity provider if this capacity provider account type has account numbers. This may be a bill-to account number, a shipper account number, a consignee account number, or some other account number. type: string accountNumber2: description: >- The second account number with the capacity provider if this capacity provider account type has account numbers. This may be a bill-to account number, a shipper account number, a consignee account number, or some other account number. type: string billToLocationId: description: >- The project44-generated id of the bill-to location. Locations can be created, updated, and retrieved through the location management API. type: string credential1: description: >- The first password, authentication key, or other credentials with the capacity provider, if this capacity provider account type has one of these. This field will not appear in any response object. type: string credential2: description: >- The second password, authentication key, or other credentials with the capacity provider, if this capacity provider account type has one of these. type: string credential3: description: >- The third password, authentication key, or other credentials with the capacity provider, if this capacity provider account type has one of these. type: string directionCode: description: >- The direction or shipment terms of the your account with the capacity provider -- the party responsible for the shipment. enum: - SHIPPER - CONSIGNEE - THIRD_PARTY type: string enableDirectionOverride: description: >- Whether or not direction for this capacity provider account can be overridden in an API request. The direction for some capacity provider accounts should never be overridden, while others need to be changed depending on the origin and destination of a shipment or other factors. Whether this override should be enabled depends primarily on the capacity provider. (default: 'false') type: boolean enablePaymentTermsOverride: description: >- Whether or not payment terms for this capacity provider account can be overridden in an API request. The payment terms for some capacity provider accounts should never be overridden, while others need to be changed depending on the origin and destination of a shipment or other factors. Whether this override is enabled depends primarily on the capacity provider. (default: 'false') type: boolean id: description: >- The project44-generated id of the capacity provider account. This id may not be provided when creating a capacity provider account, but it is required when updating one. format: int64 type: integer oAuth2LoginUrl: type: string oAuth2SignupUrl: type: string paymentTermsCode: description: >- The payment terms of the customer's account with the capacity provider -- the party responsible for payment. enum: - PREPAID - COLLECT - THIRD_PARTY type: string username1: description: >- The username of the account, if this capacity provider account type has a username. type: string title: CapacityProviderAccountInfo type: object CapacityProviderAccountInfoDefinition: properties: accountDefinitionIdentifier: description: >- The project44 account definition identifier for this capacity provider account definition, to be passed in the CapacityProviderAccountInfo to identify this account. type: string accountFieldDefinitions: description: >- A list of account fields and their definitions, indicating which fields on CapacityProviderAccountInfo are required, conditionally required, and optional, and what the capacity provider itself calls these fields to make locating the information within the capacity provider's system easy. Only those fields that may be passed in CapacityProviderAccountInfo for this specific account definition and capacity provider are listed here. items: $ref: '#/components/schemas/CapacityProviderAccountFieldDefinition' type: array name: description: >- The project44 name for this account for reference or display purposes. type: string supportedServices: description: >- A list of supported services by transportation mode supported by this capacity provider via this specific account type. Capacity providers that have multiple account definitions often use each for a distinct subset of their supported services -- e.g., one account definition may be for volume LTL rating, another may be for LTL imaging, and a third may be for their remaining supported services. items: $ref: '#/components/schemas/CapacityProviderService' type: array title: CapacityProviderAccountInfoDefinition type: object CapacityProviderAccountInfos: description: Contains one or more account definitions for a capacity provider. properties: accounts: description: >- Only one account for each of the capacity provider's account definitions may be provided. On update, accounts in this list may reference ids of existing accounts or may be completely new accounts without ids if replacement is desired. Use the "Capacity Provider Metadata" API to get account definition information for a capacity provider. This API will indicate all fields that must be specified on CapacityProviderAccountInfo for each account type for a given capacity provider. items: $ref: '#/components/schemas/CapacityProviderAccountInfo' type: array capacityProviderIdentifier: $ref: '#/components/schemas/CapacityProviderIdentifier' code: description: >- The code identifier for the account set. This must be unique to the capacity provider account group this account set resides in. type: string group: $ref: '#/components/schemas/CapacityProviderAccountGroupInfo' id: description: >- The project44-generated id of the capacity provider account set. This id may not be provided when creating a capacity provider account set, but it is required when updating one. format: int64 type: integer title: CapacityProviderAccountInfos type: object CapacityProviderAccountInfosCollection: description: A collection of one or more account definitions for a capacity provider. properties: accounts: description: >- List of capacity provider accounts, possible across multiple account groups. items: $ref: '#/components/schemas/CapacityProviderAccountInfos' type: array title: CapacityProviderAccountInfosCollection type: object CapacityProviderCollection: properties: capacityProviders: description: A list of all capacity providers matching the query. items: $ref: '#/components/schemas/CapacityProvider' type: array title: CapacityProviderCollection type: object CapacityProviderIdentifier: description: A capacity provider identifier object. properties: type: $ref: '#/components/schemas/CapacityProviderIdentifierType' value: description: Capacity provider identifier value. type: string required: - type - value CapacityProviderIdentifierType: description: Carrier Identifiers that are used to find companies within project44. enum: - SCAC - DOT_NUMBER - MC_NUMBER - P44_EU - SYSTEM - P44_GLOBAL - VAT format: enum type: string CapacityProviderMetadata: properties: accountDefinitions: description: >- A list of capacity provider account definitions for this capacity provider. Each of these corresponds to a CapacityProviderAccountInfo that could be passed as part of a CapacityProviderAccountInfos when creating a capacity provider account for this capacity provider via the capacity provider account management APIs. items: $ref: '#/components/schemas/CapacityProviderAccountInfoDefinition' type: array capacityProvider: $ref: '#/components/schemas/CapacityProvider' title: CapacityProviderMetadata type: object CapacityProviderService: properties: mode: description: >- The transportation mode of this service provided by a capacity provider. enum: - PARCEL - LTL - VOLUME_LTL - TRUCKLOAD - OCEAN - RAIL type: string type: description: The type of this service provided by a capacity provider. enum: - RATING - DISPATCH - TRACKING - IMAGING type: string title: CapacityProviderService type: object CargoMeasurements: properties: volume: allOf: - $ref: '#/components/schemas/Volume' description: The volume of the cargo weight: allOf: - $ref: '#/components/schemas/Weight' description: The weight of the cargo dimensions: allOf: - $ref: '#/components/schemas/Dimensions' description: The height, length, width dimensions of the cargo type: object CarrierLanePerformance: properties: carrier: $ref: '#/components/schemas/ConnectedCarrierContact' destinationMarket: description: >- Destination market of lane. Market is defined as the 3ZIP in the United States, and the Level-2 administrative region (County/District) everywhere else. type: string last30DaysDeliveryScheduleReliability: description: >- Percentage of tracked shipments in the past 30 days that were delivered within 2 hours of the scheduled time format: int32 type: integer last30DaysPercentTracked: description: >- Percentage of shipments in the past 30 days where tracking was initiated which received at least one tracking update format: int32 type: integer last30DaysPickupScheduleReliability: description: >- Percentage of tracked shipments in the past 30 days that were picked up within 2 hours of the scheduled time format: int32 type: integer last30DaysShipmentVolume: description: Number of shipments tracked in the past 30 days enum: - VOLUME_0_TO_10_SHIPMENTS - VOLUME_11_TO_50_SHIPMENTS - VOLUME_51_TO_100_SHIPMENTS - VOLUME_101_OR_MORE_SHIPMENTS type: string last365DaysDeliveryScheduleReliability: description: >- Percentage of tracked shipments in the past 365 days that were delivered within 2 hours of the scheduled time format: int32 type: integer last365DaysPercentTracked: description: >- Percentage of shipments in the past 365 days where tracking was initiated which received at least one tracking update format: int32 type: integer last365DaysPickupScheduleReliability: description: >- Percentage of tracked shipments in the past 365 days that were picked up within 2 hours of the scheduled time format: int32 type: integer last365DaysShipmentVolume: description: Number of shipments tracked in the past 365 days enum: - VOLUME_0_TO_10_SHIPMENTS - VOLUME_11_TO_50_SHIPMENTS - VOLUME_51_TO_100_SHIPMENTS - VOLUME_101_OR_MORE_SHIPMENTS type: string originMarket: description: >- Origin market of lane. Market is defined as the 3ZIP in the United States, and the Level-2 administrative region (County/District) everywhere else. type: string performanceByMonth: description: Average monthly performance for the past 12 months items: $ref: '#/components/schemas/MonthlyCarrierPerformance' type: array title: CarrierLanePerformance type: object CarrierLanePerformanceCollection: properties: carrierLanePerformances: description: List of responses items: $ref: '#/components/schemas/CarrierLanePerformance' type: array title: CarrierLanePerformanceCollection type: object CarrierLanePerformanceQuery: properties: carrierIdentifier: $ref: '#/components/schemas/ConnectedCarrierIdentifier' destination: $ref: '#/components/schemas/Address' minimumDeliveryScheduleReliability: description: >- Return only results where the percentage of tracked shipments in the past 365 days that were delivered within 2 hours of the scheduled time is above the given value format: int32 type: integer minimumPickupScheduleReliability: description: >- Return only results where the percentage of tracked shipments in the past 365 days that were picked up within 2 hours of the scheduled time is above the given value format: int32 type: integer minimumTrackingPercentage: description: >- Return only results where the percentage of tracked shipments in the past 365 days which received at least one tracking update is above the given value format: int32 type: integer minimumVolume: description: >- Return only results where the number of shipments tracked in the past 365 days is above the given value enum: - VOLUME_0_TO_10_SHIPMENTS - VOLUME_11_TO_50_SHIPMENTS - VOLUME_51_TO_100_SHIPMENTS - VOLUME_101_OR_MORE_SHIPMENTS type: string origin: $ref: '#/components/schemas/Address' sortBy: description: >- Use the following metric to sort results. Defaults to SHIPMENT_VOLUME enum: - SHIPMENT_VOLUME - RECENT_SHIPMENT_VOLUME - DELIVERY_SCHEDULE_RELIABILITY - PICKUP_SCHEDULE_RELIABILITY - PERCENT_TRACKED - RECENT_PERCENT_TRACKED type: string sortDirection: description: >- Sort results by ascending or descending values of the selected metric. Defaults to DESC (descending). enum: - ASC - DESC type: string title: CarrierLanePerformanceQuery type: object CarrierPerformance: properties: carrier: $ref: '#/components/schemas/ConnectedCarrierContact' last30DaysDeliveryScheduleReliability: description: >- Percentage of tracked shipments in the past 30 days that were delivered within 2 hours of the scheduled time format: int32 type: integer last30DaysPercentTracked: description: >- Percentage of shipments in the past 30 days where tracking was initiated which received at least one tracking update format: int32 type: integer last30DaysPickupScheduleReliability: description: >- Percentage of tracked shipments in the past 30 days that were picked up within 2 hours of the scheduled time format: int32 type: integer last30DaysShipmentVolume: description: Number of shipments tracked in the past 30 days enum: - VOLUME_0_TO_10_SHIPMENTS - VOLUME_11_TO_50_SHIPMENTS - VOLUME_51_TO_100_SHIPMENTS - VOLUME_101_OR_MORE_SHIPMENTS type: string last365DaysDeliveryScheduleReliability: description: >- Percentage of tracked shipments in the past 365 days that were delivered within 2 hours of the scheduled time format: int32 type: integer last365DaysPercentTracked: description: >- Percentage of shipments in the past 365 days where tracking was initiated which received at least one tracking update format: int32 type: integer last365DaysPickupScheduleReliability: description: >- Percentage of tracked shipments in the past 365 days that were picked up within 2 hours of the scheduled time format: int32 type: integer last365DaysShipmentVolume: description: Number of shipments tracked in the past 365 days enum: - VOLUME_0_TO_10_SHIPMENTS - VOLUME_11_TO_50_SHIPMENTS - VOLUME_51_TO_100_SHIPMENTS - VOLUME_101_OR_MORE_SHIPMENTS type: string performanceByMonth: description: Average monthly performance for the past 12 months items: $ref: '#/components/schemas/MonthlyCarrierPerformance' type: array title: CarrierPerformance type: object CarrierPerformanceCollection: properties: carrierPerformances: description: List of responses items: $ref: '#/components/schemas/CarrierPerformance' type: array title: CarrierPerformanceCollection type: object CarrierPerformanceQuery: properties: carrierIdentifier: $ref: '#/components/schemas/ConnectedCarrierIdentifier' minimumDeliveryScheduleReliability: description: >- Return only results where the percentage of tracked shipments in the past 365 days that were delivered within 2 hours of the scheduled time is above the given value format: int32 type: integer minimumPickupScheduleReliability: description: >- Return only results where the percentage of tracked shipments in the past 365 days that were picked up within 2 hours of the scheduled time is above the given value format: int32 type: integer minimumTrackingPercentage: description: >- Return only results where the percentage of tracked shipments in the past 365 days which received at least one tracking update is above the given value format: int32 type: integer minimumVolume: description: >- Return only results where the number of shipments tracked in the past 365 days is above the given value enum: - VOLUME_0_TO_10_SHIPMENTS - VOLUME_11_TO_50_SHIPMENTS - VOLUME_51_TO_100_SHIPMENTS - VOLUME_101_OR_MORE_SHIPMENTS type: string sortBy: description: >- Use the following metric to sort results. Defaults to SHIPMENT_VOLUME enum: - SHIPMENT_VOLUME - RECENT_SHIPMENT_VOLUME - DELIVERY_SCHEDULE_RELIABILITY - PICKUP_SCHEDULE_RELIABILITY - PERCENT_TRACKED - RECENT_PERCENT_TRACKED type: string sortDirection: description: >- Sort results by ascending or descending values of the selected metric. Defaults to DESC (descending). enum: - ASC - DESC type: string title: CarrierPerformanceQuery type: object CarrierResponseMethod: description: Method by which a carrier responds to bookings. enum: - API - EDI - EMAIL type: string ChainsAccessorial: additionalProperties: false description: >- Accessorial which delineates the expected size and number of chains used in shipping. properties: code: enum: - CHAINS type: string details: allOf: - $ref: '#/components/schemas/QuantityKind' description: Count and size of chains. required: - code - details type: object Charge: description: An individual charge provided in a rate quote. properties: amount: description: >- The actual amount charged by the capacity provider (adds into the total). This amount may be negative (e.g., for discounts). type: number amountInPreferredCurrency: description: >- A list of individual charges making up the total, if provided, in the preferred currency requested. Also returned for alternate rate quotes. type: number code: description: >- Code that identifies this line item charge. A list of charge codes used by project44 is provided in the API reference data section. type: string description: description: >- Readable description of the line item charge, often originating from the capacity provider. type: string itemFreightClass: description: >- If this is an item charge, the freight class of the line item, if provided. This field is not returned for volume LTL quotes. type: string itemWeight: description: >- If this is an item charge, the weight of the line item, if provided. If a preferred system of measurement was provided, the weight will be converted as necessary. type: number itemWeightUnit: description: >- If this is an item charge, the weight measurement unit for the provided line item weight. If a preferred system of measurement was provided, the weight will be converted as necessary. enum: - LB - KG type: string rate: description: >- Rate used by the capacity provider to calculate this charge (e.g., an amount charged per lb, per piece, per mile, etc.). This rate may be negative (e.g., for discounts). type: number title: Charge type: object ClientApplication: description: Contains the attributes of an OAuth 2.0 client application. properties: id: description: >- The id of the client application, generated and assigned by project44. It is an alphanumeric id. In OAuth 2.0, this is referred to as the "client_id". This id is not considered a secret, but it is generally known only to you, your application, and project44, and is part of your application's credentials, along with the client secret, which are required to authenticate your application to generate access tokens for use with project44's other APIs. If provided via HTTP Basic Authentication when generating an access token, this id is the "username" part of the base64-encoded Authorization header value. readOnly: true type: string name: description: >- Your name for the client application. Every application is required to have a name. type: string secret: description: >- The secret part of the client application's credentials, generated and assigned by project44. In OAuth 2.0, this is referred to as the "client_secret". It cannot be retrieved again after the first time project44 returns it to you, but a new secret can be set for an application via the "new-secret" endpoint. It is confidential and should be stored encrypted at rest in a secure location for your application's use only. It is needed to authenticate your application to generate access tokens for use with project44's other APIs. If provided via HTTP Basic Authentication when generating an access token, this secret is the "password" part of the base64-encoded Authorization header value. readOnly: true type: string title: ClientApplication type: object ClientApplicationCollection: description: Contains a list of client applications. properties: clientApplications: description: >- The list of client applications registered in your project44 account. items: $ref: '#/components/schemas/ClientApplication' type: array title: ClientApplicationCollection type: object Cod: properties: amount: description: >- Amount to be received for the COD. Valid Formats: ##.## (2 decimal places only). type: string currency: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_models__ebol__ltl__accessorial__Currency default: USD description: >- Optional attribute to indicate currency of declaredValue. Defaults to USD. terms: allOf: - $ref: '#/components/schemas/CodTermCode' description: Payment terms associated with the COD. customerCheckAcceptable: description: Indicates whether or not a customer check or cash is acceptable. type: boolean remitTo: allOf: - $ref: '#/components/schemas/RemitTo' description: >- Required when accessorial code COD is present in the accessorial codes list. type: object CodTermCode: description: An enumeration. enum: - Collect - Prepaid type: string Commodities: properties: lineItemLayout: allOf: - $ref: '#/components/schemas/LineItemLayoutType' description: >- Valid values: Nested or Stacked.Nested: Indicates if the Handling Unit/Line Item relationship is known. If this value is used, each Line Item associated to a Handling Unit is conditionally required to be passed within that Handling Unit's object. Stacked: Indicates if the Handling Unit/Line Item relationship is not known. If this value is used, Line Items may passed within any Handling Unit object. handlingUnits: description: A list of the quantity of certain handling unit types. items: $ref: >- #/components/schemas/multi_modal_booking_service_public__ebol__ltl__ebol__HandlingUnit type: array required: - lineItemLayout - handlingUnits type: object ConnectedCarrierContact: properties: address: $ref: '#/components/schemas/Address' contact: $ref: '#/components/schemas/Contact' identifiers: description: Codes used to identify carrier items: $ref: '#/components/schemas/ConnectedCarrierIdentifier' type: array name: description: Name of carrier type: string title: ConnectedCarrierContact type: object ConnectedCarrierIdentifier: description: A capacity provider identifier object. properties: type: description: ${CapacityProviderIdentifier.apiModel.type.value} enum: - SCAC - DOT_NUMBER - MC_NUMBER - P44_EU - P44_GLOBAL - VAT_NUMBER type: string value: description: ${CapacityProviderIdentifier.apiModel.value.value} type: string title: ConnectedCarrierIdentifier type: object Contact: description: Contact information. properties: companyName: description: Company name. type: string contactName: description: Contact name. May be required for shipments. type: string phoneNumber: description: >- Phone number. May be required for shipments. E.164 or North American Number Plan (NANP) phone numbers are accepted. If a phone number is passed in without the associated country code field, the number will be treated as a number that adheres to the NANP standard. The number will be returned in responses in the NANP format: '[+123 ]123-456-7890[, ext. 123456]'. If the associated country code field is passed in as well, the number will be treated as a number that adheres to the E.164 international phone number standard. The number will be returned in a response in the E.164 format: '[+123 ]12345678910[, ext. 123456]'. In requests, only digits and an optional 'X' (or lowercase 'x') marking the start of an extension will be used. Any other characters included for formatting will be stripped -- project44 will provide the phone number to the capacity provider in the format they accept. There must be at least ten digits before the optional 'X' (for the area code, central office code, and station code for NANP numbers or simply the subscriber number for E.164 numbers). For NANP numbers, no more than thirteen, with the first digits exceeding ten being interpreted as the country code when the country code. The number of digits after the optional 'X' must be less than seven. Examples of acceptable NANP phone numbers: '123-456-7890 x 32', '(123)456-7890 ext 30', '1234567890', '11234567890', '+55-123-456-7890 ext. 312412', '123-456-7890, ext. 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]123-456-7890[, ext. 123456]'. Examples of acceptable E.164 phone numbers: '20-1234-5678 x 1234', '(20) 1234-5678x1234', '2012345678', '20 1234-5678 ext 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]2012345678[, ext. 1234]'. type: string phoneNumberCountryCode: description: >- The country code associated with the phone number. If this is blank, the phone number will be treated as a number that adheres to the North American Number Plan (NANP) format. Acceptable country codes formats: '+123' or '123'. type: string phoneNumber2: description: >- Alternate phone number. E.164 or North American Number Plan (NANP) phone numbers are accepted. If a phone number is passed in without the associated country code field, the number will be treated as a number that adheres to the NANP standard. The number will be returned in responses in the NANP format: '[+123 ]123-456-7890[, ext. 123456]'. If the associated country code field is passed in as well, the number will be treated as a number that adheres to the E.164 international phone number standard. The number will be returned in a response in the E.164 format: '[+123 ]12345678910[, ext. 123456]'. In requests, only digits and an optional 'X' (or lowercase 'x') marking the start of an extension will be used. Any other characters included for formatting will be stripped -- project44 will provide the phone number to the capacity provider in the format they accept. There must be at least ten digits before the optional 'X' (for the area code, central office code, and station code for NANP numbers or simply the subscriber number for E.164 numbers). For NANP numbers, no more than thirteen, with the first digits exceeding ten being interpreted as the country code when the country code. The number of digits after the optional 'X' must be less than seven. Examples of acceptable NANP phone numbers: '123-456-7890 x 32', '(123)456-7890 ext 30', '1234567890', '11234567890', '+55-123-456-7890 ext. 312412', '123-456-7890, ext. 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]123-456-7890[, ext. 123456]'. Examples of acceptable E.164 phone numbers: '20-1234-5678 x 1234', '(20) 1234-5678x1234', '2012345678', '20 1234-5678 ext 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]2012345678[, ext. 1234]'. type: string phoneNumber2CountryCode: description: >- The country code associated with the phone number. If this is blank, the phone number will be treated as a number that adheres to the North American Number Plan (NANP) format. Acceptable country codes formats: '+123' or '123'. type: string email: description: Email address. May be required for shipments. type: string faxNumber: description: >- Fax number. E.164 or North American Number Plan (NANP) phone numbers are accepted. If a phone number is passed in without the associated country code field, the number will be treated as a number that adheres to the NANP standard. The number will be returned in responses in the NANP format: '[+123 ]123-456-7890[, ext. 123456]'. If the associated country code field is passed in as well, the number will be treated as a number that adheres to the E.164 international phone number standard. The number will be returned in a response in the E.164 format: '[+123 ]12345678910[, ext. 123456]'. In requests, only digits and an optional 'X' (or lowercase 'x') marking the start of an extension will be used. Any other characters included for formatting will be stripped -- project44 will provide the phone number to the capacity provider in the format they accept. There must be at least ten digits before the optional 'X' (for the area code, central office code, and station code for NANP numbers or simply the subscriber number for E.164 numbers). For NANP numbers, no more than thirteen, with the first digits exceeding ten being interpreted as the country code when the country code. The number of digits after the optional 'X' must be less than seven. Examples of acceptable NANP phone numbers: '123-456-7890 x 32', '(123)456-7890 ext 30', '1234567890', '11234567890', '+55-123-456-7890 ext. 312412', '123-456-7890, ext. 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]123-456-7890[, ext. 123456]'. Examples of acceptable E.164 phone numbers: '20-1234-5678 x 1234', '(20) 1234-5678x1234', '2012345678', '20 1234-5678 ext 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]2012345678[, ext. 1234]'. type: string faxNumberCountryCode: description: >- The country code associated with the phone number. If this is blank, the phone number will be treated as a number that adheres to the North American Number Plan (NANP) format. Acceptable country codes formats: '+123' or '123'. type: string required: - companyName - contactName - email - phoneNumber ContactReference: properties: contactId: description: >- The project44-generated id of the contact. Contacts can be created, updated, and retrieved through the contact management API. type: string type: description: Relationship of this contact to the location. type: string required: - contactId - type title: ContactReference type: object CountryCode: enum: - US - CA - MX - AG - BB - BS - BZ - CR - CU - DM - DO - GD - GT - HN - HT - JM - KN - LC - NI - PA - SV - TT - VC - AI - AW - BL - BM - BQ - CW - GL - GP - KY - MF - MQ - MS - PM - PR - SX - TC - UM - VG - VI - AT - BE - BG - CY - CZ - DK - DE - EE - ES - FI - FR - GB - GR - HR - HU - IE - IT - LT - LU - LV - MT - NL - PL - PT - RO - SE - SK - SI - CH - IS - LI - 'NO' - AL - ME - MK - RS - TR - AD - AX - BA - BV - BY - FO - GG - GI - IM - IO - JE - MC - MD - SJ - SM - TF - UA - VA - AE - AF - AM - AZ - BD - BH - BN - BT - CN - GE - HK - ID - IL - IN - IQ - IR - JO - JP - KG - KH - KP - KR - KW - KZ - LA - LB - LK - MM - MN - MO - MV - MY - NP - OM - PH - PK - PS - QA - RU - SA - SG - SY - TH - TJ - TL - TM - TW - UZ - VN - YE - AO - BF - BI - BJ - BW - CD - CF - CG - CI - CM - CV - DJ - DZ - EG - EH - ER - ET - GA - GH - GM - GN - GQ - GW - HM - KE - KM - LR - LS - LY - MA - MG - ML - MR - MU - MW - MZ - NA - NE - NG - RE - RW - SC - SD - SH - SL - SN - SO - SS - ST - SZ - TD - TG - TN - TZ - UG - YT - ZA - ZM - ZW - AR - BO - BR - CL - CO - EC - FK - GF - GS - GY - PE - PY - SR - UY - VE - AS - AU - CC - CK - CX - FJ - FM - GU - KI - MH - MP - NC - NF - NR - NU - NZ - PF - PG - PN - PW - SB - TK - TO - TV - VU - WF - WS - AQ - EL - UK - XK - XS - XI format: enum type: string CraneAccessorial: additionalProperties: false description: Accessorial which flags the explicit need for crane service. properties: code: enum: - CRANE type: string details: allOf: - $ref: '#/components/schemas/SpecificationKind_bool_' description: Flag denoting requirement. required: - code - details type: object CreateBookedShipment: description: >- The overall shipper's construct of the material good(s) to be transported by the carrier. properties: identifiers: items: $ref: '#/components/schemas/LogisticsIdentifier' maxItems: 20 type: array routeInfo: $ref: '#/components/schemas/RouteInfo' attributes: description: >- An optional user-defined set of custom attributes to associate with this shipment. These are descriptors and identifiers which apply to the entire shipment and they are not shared with any carriers. items: $ref: '#/components/schemas/CustomAttribute' maxItems: 5 type: array name: description: >- The descriptive name or otherwise human-readable description of the shipment created; this is not visible to the carrier. type: string notes: description: >- An optional, shipper-provided free-text space for notes on the shipment. maxLength: 300 type: string bookings: description: >- A list of bookings related to the shipment to create at the same time. items: $ref: '#/components/schemas/CreateUpdateBooking' type: array required: - routeInfo type: object CreateUpdateBooking: description: >- As a shipper, request a booking from a carrier to transport a load across 1+ route segments. properties: shipmentId: description: >- The project44-generated identifier for the shipment which parents the booking. Optional when created with a Shipment in one request. Required when creating a booking separately. format: uuid type: string attributes: description: >- A shipper-provided list of custom key-value list pairs relevant to the booking which are shared with the carrier. items: $ref: '#/components/schemas/CustomAttribute' type: array capacityProviderIdentifier: allOf: - $ref: '#/components/schemas/CapacityProviderIdentifier' description: >- Reference to the desired carrier to transport the shipment across the booking's specified route segments. carrierContacts: description: >- Individuals representing the carrier to whom the booking should be sent. These contacts are not notify parties nor any individuals working with or on behalf of the shipper. items: $ref: >- #/components/schemas/multi_modal_booking_service_public__contact__Contact type: array totalRate: allOf: - $ref: '#/components/schemas/MonetaryValue' description: >- Optionally include the rate for transporting the load to the stops specified in the booking. rateIdentifiers: description: >- A list of at least one identifier as reference to the original source of the rate applicable to the booking. Typically a spot quote or a contract ID. items: $ref: '#/components/schemas/RateIdentifier' minItems: 1 type: array expirationDateTime: description: >- The datetime of expiration for this request from the shipper to the carrier. A timezone offset is required. format: date-time type: string routeSegmentIds: description: List of route-segment ids which apply to the booking. items: type: string format: uuid minItems: 1 type: array notes: description: >- An optional, shipper-provided free-text space for notes on the shipment. maxLength: 300 type: string shipmentDetails: description: >- Descriptive information about the load to be transported; if the load does not change between route segments, this body is expected to be the same across each route-segment body. items: $ref: '#/components/schemas/ShipmentDetails' type: array apiConfiguration: allOf: - $ref: '#/components/schemas/ApiConfiguration' description: Field for configuring the behavior of this API. shipperContactInfo: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_public__contact__Contact description: Contact method to reach the shipper making the booking request. shippingDetails: anyOf: - $ref: '#/components/schemas/CreateUpdateTruckloadShippingDetails' - $ref: '#/components/schemas/CreateUpdateOceanShippingDetails' description: >- Information about how a load should be handled in transportation, specific to mode. required: - capacityProviderIdentifier - rateIdentifiers - expirationDateTime - routeSegmentIds - shipperContactInfo - shippingDetails type: object CreateUpdateBookingWithId: description: >- As a shipper, request a booking from a carrier to transport a load across 1+ route segments. properties: shipmentId: description: >- The project44-generated identifier for the shipment which parents the booking. Optional when created with a Shipment in one request. Required when creating a booking separately. format: uuid type: string attributes: description: >- A shipper-provided list of custom key-value list pairs relevant to the booking which are shared with the carrier. items: $ref: '#/components/schemas/CustomAttribute' type: array capacityProviderIdentifier: allOf: - $ref: '#/components/schemas/CapacityProviderIdentifier' description: >- Reference to the desired carrier to transport the shipment across the booking's specified route segments. carrierContacts: description: >- Individuals representing the carrier to whom the booking should be sent. These contacts are not notify parties nor any individuals working with or on behalf of the shipper. items: $ref: >- #/components/schemas/multi_modal_booking_service_public__contact__Contact type: array totalRate: allOf: - $ref: '#/components/schemas/MonetaryValue' description: >- Optionally include the rate for transporting the load to the stops specified in the booking. rateIdentifiers: description: >- A list of at least one identifier as reference to the original source of the rate applicable to the booking. Typically a spot quote or a contract ID. items: $ref: '#/components/schemas/RateIdentifier' minItems: 1 type: array expirationDateTime: description: >- The datetime of expiration for this request from the shipper to the carrier. A timezone offset is required. format: date-time type: string routeSegmentIds: description: List of route-segment ids which apply to the booking. items: type: string format: uuid minItems: 1 type: array notes: description: >- An optional, shipper-provided free-text space for notes on the shipment. maxLength: 300 type: string shipmentDetails: description: >- Descriptive information about the load to be transported; if the load does not change between route segments, this body is expected to be the same across each route-segment body. items: $ref: '#/components/schemas/ShipmentDetails' type: array apiConfiguration: allOf: - $ref: '#/components/schemas/ApiConfiguration' description: Field for configuring the behavior of this API. shipperContactInfo: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_public__contact__Contact description: Contact method to reach the shipper making the booking request. shippingDetails: anyOf: - $ref: '#/components/schemas/CreateUpdateTruckloadShippingDetails' - $ref: '#/components/schemas/CreateUpdateOceanShippingDetails' description: >- Information about how a load should be handled in transportation, specific to mode. id: description: The project44-generated identifier for the booking. format: uuid type: string required: - capacityProviderIdentifier - rateIdentifiers - expirationDateTime - routeSegmentIds - shipperContactInfo - shippingDetails type: object CreateUpdateDocument: properties: name: description: The name of this document. type: string type: allOf: - $ref: '#/components/schemas/DocumentType' description: The type of this document. identifiers: description: >- The list of identifiers related to this document. When x-tenant-role is 'CARRIER' InternalEntityType.SHIPPER_TENANT_UUID is MANDATORY if you want to associate this Document to Shipment. InternalEntityType.SHIPPER_TENANT_UUID is number identifying Shipper in project44. items: $ref: '#/components/schemas/Identifier' minItems: 1 type: array required: - name - type - identifiers type: object CreateUpdateOceanShippingDetails: properties: parties: description: >- Individual shipper-represented groups which are involved with the shipment on this items: $ref: '#/components/schemas/Party' minItems: 1 type: array serviceType: allOf: - $ref: '#/components/schemas/OceanServiceType' description: >- The type of service requested for booking. In other words, is the Carrier expected to handle the shipment between ports or boat-inaccessible yards. bookingType: allOf: - $ref: '#/components/schemas/OceanBookingType' description: >- The type of sea freight to be handled; the container-fill volume, or lack thereof. incoterm: allOf: - $ref: '#/components/schemas/IncotermType' description: >- International Commercial Terms for shipment responsibilities, according to the [ICC](https://iccwbo.org/). cargoMeasurements: allOf: - $ref: '#/components/schemas/CargoMeasurements' description: >- Volume, weight and linear dimensions of the cargo. Required when booking `ROLL_ON_ROLL_OFF` and `LESS_THAN_CONTAINER_LOAD`. containerCount: anyOf: - $ref: '#/components/schemas/FullContainerLoadContainerCount' - $ref: '#/components/schemas/OutOfGaugeContainerCount' description: >- Number of equipment requested for a booking needs to be provided here. Only required when booking `FULL_CONTAINER_LOAD` or `OUT_OF_GAUGE`. accessorials: description: >- Optional list of descriptors which detail any add-ons or declarations applicable which may be noteworthy to the carrier. items: anyOf: - $ref: '#/components/schemas/RefrigeratedAccessorial' - $ref: '#/components/schemas/LiftgateAccessorial' - $ref: '#/components/schemas/TarpsAccessorial' - $ref: '#/components/schemas/StrapsAccessorial' - $ref: '#/components/schemas/ChainsAccessorial' - $ref: '#/components/schemas/DeckHeightAccessorial' - $ref: '#/components/schemas/CraneAccessorial' - $ref: '#/components/schemas/CallBeforeArrivalAccessorial' - $ref: '#/components/schemas/DockRequiredAccessorial' - $ref: '#/components/schemas/LockedGateAccessorial' - $ref: '#/components/schemas/FirstComeFirstServedAccessorial' - $ref: '#/components/schemas/AppointmentRequiredAccessorial' - $ref: '#/components/schemas/WhiteGloveAccessorial' - $ref: '#/components/schemas/HazmatAccessorial' type: array required: - parties - serviceType - bookingType - incoterm type: object CreateUpdateTruckloadShippingDetails: properties: loadPreference: allOf: - $ref: '#/components/schemas/TruckLoadPreferenceType' description: The preferred load occupancy of the truck. trailerType: allOf: - $ref: '#/components/schemas/TrailerType' description: The equipment type of the trailer. trailerLength: allOf: - $ref: '#/components/schemas/Length' description: >- Total requested trailer length in feet or meters; must not exceed 53 Feet or 17 meters. trailerVolume: allOf: - $ref: '#/components/schemas/Volume' description: Total requested Trailer volume flatbedType: allOf: - $ref: '#/components/schemas/FlatbedType' description: >- The sub-equipment type of flatbed. Only applicable, and required, with a FLATBED trailer type. accessorials: description: >- Optional list of descriptors which detail any add-ons or declarations applicable which may be noteworthy to the carrier. items: anyOf: - $ref: '#/components/schemas/RefrigeratedAccessorial' - $ref: '#/components/schemas/LiftgateAccessorial' - $ref: '#/components/schemas/TarpsAccessorial' - $ref: '#/components/schemas/StrapsAccessorial' - $ref: '#/components/schemas/ChainsAccessorial' - $ref: '#/components/schemas/DeckHeightAccessorial' - $ref: '#/components/schemas/CraneAccessorial' - $ref: '#/components/schemas/CallBeforeArrivalAccessorial' - $ref: '#/components/schemas/DockRequiredAccessorial' - $ref: '#/components/schemas/LockedGateAccessorial' - $ref: '#/components/schemas/FirstComeFirstServedAccessorial' - $ref: '#/components/schemas/AppointmentRequiredAccessorial' - $ref: '#/components/schemas/WhiteGloveAccessorial' - $ref: '#/components/schemas/HazmatAccessorial' type: array required: - trailerType type: object Crs: properties: properties: properties: {} type: object type: enum: - name - link type: string title: Crs type: object CubicDimension: description: A cubic dimension. properties: length: description: Length measurement. minimum: 0 type: number width: description: Width measurement. minimum: 0 type: number height: description: Height measurement. minimum: 0 type: number required: - height - length - width Currency: description: The currency of the shipment value enum: - USD - CAD - MXN - EUR format: enum type: string CurrencyConversionAuditInfo: description: Currency conversion metadata. properties: conversionRate: description: The currency conversion rate applied. type: number conversionTimestamp: description: The timestamp of the currency conversion. type: string title: CurrencyConversionAuditInfo type: object CustomAttribute: description: >- An optional user-defined set of custom attributes to associate with this shipment. properties: name: description: The key (name) for the custom attribute. Must be unique. maxLength: 255 minLength: 1 type: string value: deprecated: true maxLength: 255 minLength: 1 type: string values: description: The values for the custom attribute. items: type: string description: The values for the custom attribute. maxItems: 25 minItems: 1 type: array required: - name type: object CustomerAccount: properties: accountIdentifier: description: >- The account identifier of the customer to whom this shipment belongs. This will be used to identify the mutual customer in project44's system. type: string title: CustomerAccount type: object CustomsBroker: properties: type: allOf: - $ref: '#/components/schemas/CustomsBrokerType' description: >- Used to identify a customs broker that is involved in a cross-border freight move.Valid Values: Import or Export.Import: customs broker handling the destination-side of the cross-border freight move.Export: customs broker handling the origin-side of the cross-border freight move. name: description: Company name associated with the customsBroker location. type: string address1: description: Primary Address line for the customsBroker location. type: string address2: description: Secondary Address line for the customsBroker location. type: string city: description: City Name for the customsBroker location. type: string stateProvince: allOf: - $ref: '#/components/schemas/StateProvinceCode' description: Two letter state/province code for the customsBroker location. postalCode: description: >- The 5-digit (or 6-characters for Canada) zip code for the customsBroker location. maxLength: 6 minLength: 5 type: string country: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_models__ebol__ltl__country_codes__CountryCode description: Three letter country code for the customsBroker location. contact: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_public__ebol__ltl__ebol__Contact description: Contact related to the customs broker. type: object CustomsBrokerType: description: An enumeration. enum: - Import - Export type: string CustomsInfo: description: A customs broker information. properties: customsBrokerLocation: $ref: '#/components/schemas/Location' title: CustomsInfo type: object CutOffDetails: properties: cutOffDatetime: description: The last date and time on which it is possible to make changes format: date-time type: string vesselCutOffDatetime: description: The last date and time when the container should arrive to the port format: date-time type: string documentationCutOffDatetime: description: >- The last date and time when the documentation should be sent to the carrier format: date-time type: string type: object DataOriginator: description: Tenant that created the shared data. properties: tenantUuid: description: UUID of the tenant. format: uuid type: string tenantName: description: Name of the tenant. type: string tenantId: description: Legacy identifier of the tenant, not to be used externally. format: int64 type: integer type: object DataRecipient: description: Tenant to whom the data is shared. properties: tenantUuid: description: UUID of the tenant. format: uuid type: string tenantName: description: Name of the tenant. type: string tenantId: description: Legacy identifier of the tenant, not to be used externally. format: int64 type: integer type: object DateQuartiles: properties: date: description: The first date in this timespan, in ISO-8601 format type: string p25: description: The 25th percentile value of this metric in days. format: double type: number p50: description: The median value of this metric in days. format: double type: number p75: description: The 75th percentile value of this metric in days. format: double type: number title: DateQuartiles type: object DateWindow: properties: start: description: >- The date (with or without time) the shipment is requested to be delivered.Required when timeCriticalDetails.type is populated with any valid value.Valid Formats: YYYY-MM-DDTHH:mm:ss.sss (ISO 8601) format: date-time type: string end: description: >- The end date (with or without time) of the requested delivery window.Required when the timeCriticalDetails.type is Delivery Window.Valid Formats: YYYY-MM-DDTHH:mm:ss.sss (ISO 8601) format: date-time type: string required: - start type: object DeckHeight: description: An enumeration. enum: - STANDARD - DROP_DECK - DOUBLE_DROP type: string DeckHeightAccessorial: additionalProperties: false description: >- Accessorial which defined the expected height of the deck on the vehicle. properties: code: enum: - DECK_HEIGHT type: string details: allOf: - $ref: '#/components/schemas/SpecificationKind_DeckHeight_' description: Deck height Specification. required: - code - details type: object DeliveryAppointmentDetails: properties: start: description: >- Starting appointment date (with or without time) the shipment is requested to be delivered.Required when accessorials.code list includes APTD.Valid Formats: YYYY-MM-DDTHH:mm:ss.sss (ISO 8601) format: date-time type: string end: description: >- Ending appointment date (with or without time) the shipment is requested to be delivered.Valid Formats: YYYY-MM-DDTHH:mm:ss.sss (ISO 8601) format: date-time type: string type: object DerivedOrderHealth: properties: arrivalStatus: $ref: '#/components/schemas/ArrivalStatus' estimatedTimeOfArrival: example: yyyy-MM-dd'T'HH:mm:ssZ type: string title: DerivedOrderHealth type: object DimensionalWeight: properties: cubicDimension: $ref: '#/components/schemas/CubicDimension' lengthUnit: enum: - IN - CM - FT - M type: string packageType: enum: - BAG - BALE - BOX - BUCKET - BUNDLE - CAN - CARTON - CASE - COIL - CRATE - CYLINDER - DRUM - PAIL - PLT - PIECES - REEL - ROLL - SKID - TOTE - TUBE type: string quantity: format: int64 type: integer weight: $ref: '#/components/schemas/Weight' title: DimensionalWeight type: object Dimensions: properties: length: minimum: 0 type: number width: minimum: 0 type: number height: minimum: 0 type: number unit: allOf: - $ref: '#/components/schemas/LengthUnit' default: FT description: The unit of measurement for these lengths. Defaults to FT. type: object DimensionsUnit: description: An enumeration. enum: - Inches - Centimeters type: string DistanceMeasurement: description: A measure of distance with a value and unit properties: value: description: Numeric value of a measurement type: number unit: $ref: '#/components/schemas/DistanceUnit' description: Physical unit of measurement DistanceUnit: enum: - FT - M - MI - KM format: enum type: string DockRequiredAccessorial: additionalProperties: false description: Accessorial which flags the explicit need for dock service. properties: code: enum: - DOCK_REQUIRED type: string details: allOf: - $ref: '#/components/schemas/SpecificationKind_bool_' description: Flag denoting requirement. required: - code - details type: object Document: properties: name: description: The name of this document. type: string type: allOf: - $ref: '#/components/schemas/DocumentType' description: The type of this document. identifiers: description: >- The list of identifiers related to this document. When x-tenant-role is 'CARRIER' InternalEntityType.SHIPPER_TENANT_UUID is MANDATORY if you want to associate this Document to Shipment. InternalEntityType.SHIPPER_TENANT_UUID is number identifying Shipper in project44. items: $ref: '#/components/schemas/Identifier' minItems: 1 type: array id: description: The id of this document. Will always be populated on response. format: uuid type: string files: description: The list of images related to this document. items: $ref: '#/components/schemas/Image' type: array createdDateTime: description: >- The date and time when this document was created. This value is read only. format: date-time type: string lastModifiedDateTime: description: >- The date and time when this document was last modified. This value is read only. format: date-time type: string deletedDateTime: description: >- The date and time when this document was deleted. This value is read only. format: date-time type: string addedByCompany: description: The company name of the tenant owning this document. type: string addedByUser: description: The name of the user owning this document. type: string required: - name - type - identifiers - id type: object DocumentType: enum: - BILL_OF_LADING - DELIVERY_RECEIPT - WEIGHT_CERTIFICATE - INVOICE - INSPECTION_CERTIFICATE - LETTER_OF_AUTHORIZATION - LUMPER_CERTIFICATE - PACKING_SLIP format: enum type: string DryCargoContainerCount: properties: twentyFootContainerCount: default: 0 description: Count of 20ft flat-rack containers type: integer fortyFootContainerCount: default: 0 description: Count of 40ft flat-rack containers type: integer fortyFootHighCubeCount: default: 0 description: Count of 40ft flat-rack high-cube containers type: integer fortyfiveFootHighCubeCount: default: 0 description: Count of 45ft flat-rack high-cube containers type: integer type: object Ebol: properties: version: description: >- Indicates which version of the Digital LTL Council Bill of Lading spec was returned. Example: v1 type: string transactionDate: description: The date associated with this electronic bill of lading transaction. format: date-time type: string referenceNumbers: allOf: - $ref: '#/components/schemas/EbolReferenceNumbers' description: Reference numbers related to the eBOL request. images: allOf: - $ref: '#/components/schemas/EbolImages' description: Images related to the eBOL request such as BOL or Shipping Labels. messageStatus: allOf: - $ref: '#/components/schemas/EbolMessageStatus' description: Object containing message status details. required: - version - transactionDate - referenceNumbers - images - messageStatus type: object EbolImages: properties: bol: description: Base 64 encoded PDF of the populated Bill Of Lading. type: string shippingLabels: description: Base 64 encoded PDF of the populated shipping labels. type: string required: - bol - shippingLabels type: object EbolMessageStatus: properties: status: allOf: - $ref: '#/components/schemas/MessageStatus' description: Indicates the status of the request. code: description: Indicates response detail code. type: string message: description: Provides information pertaining to the response code. type: string resolution: description: Provides guidance pertaining to the response code. type: string information: description: List of information related to the eBOL request. items: $ref: '#/components/schemas/MessageStatusInformation' type: array required: - status type: object EbolReferenceNumbers: properties: pro: description: >- Shipper's pre-assigned PRO number for the requested carrier. If one was not provided in the request, one will be auto assigned by the carrier. type: string shipmentConfirmationNumber: description: Number provided by the carrier to acknowledge they accepted the BOL. type: string required: - pro - shipmentConfirmationNumber type: object Email: properties: includeBol: description: >- Used to request the bill of lading PDF to be sent to one or more email addresses. type: boolean includeLabels: description: >- Used to request the shipping labels PDF to be sent to one or more email addresses. type: boolean addresses: description: >- Provide one or more email addresses to receive the bol and/or shipping labels PDF. items: type: string minItems: 1 type: array required: - includeBol - includeLabels - addresses type: object EmergencyContact: properties: name: description: >- Full name of who should be contacted in the case of a hazardous materials-related issue. type: string phone: description: >- Phone number of who should be contacted in the case of a hazardous materials-related issue.Valid Formats: ########## (10 digits - Area code + phone). maxLength: 10 minLength: 10 type: string required: - name - phone type: object EmissionData: description: Describes emission data. properties: cargoWeight: $ref: '#/components/schemas/WeightMeasurement' co2EmissionIntensity: $ref: '#/components/schemas/WeightPerDistanceMeasurement' distance: $ref: '#/components/schemas/DistanceMeasurement' loadFactor: description: >- Ratio of weight or volume of cargo in the shipment to the vehicle's capacity. format: float type: number totalCO2Emissions: $ref: '#/components/schemas/WeightMeasurement' vehicleInfo: $ref: '#/components/schemas/VehicleInfo' title: EmissionData type: object EmissionData_1: description: Describes emission data. properties: cargoWeight: $ref: '#/components/schemas/WeightMeasurement' co2EmissionIntensity: $ref: '#/components/schemas/WeightPerDistanceMeasurement' distance: $ref: '#/components/schemas/DistanceMeasurement' loadFactor: description: >- Ratio of weight or volume of cargo in the shipment to the vehicle's capacity. format: float type: number totalCO2Emissions: $ref: '#/components/schemas/WeightMeasurement' vehicleInfo: $ref: '#/components/schemas/VehicleInfo_1' title: EmissionData_1 type: object EquipmentIdentifier: properties: type: description: The equipment type of the tracked asset. enum: - CONTAINER_ID - RAIL_CAR_ID - TRAILER_ID type: string value: description: >- The equipment initials and number of the tracked asset, e.g., BNSF654321. type: string title: EquipmentIdentifier type: object ExceptionCategory: properties: enumValue: enum: - UNKNOWN - NO_TRACKING_METHOD - RUNNING_LATE - HOLD - ROUTING - ASSET - DELIVERY type: string title: ExceptionCategory type: object ExceptionNamespace: properties: enumValue: enum: - UNKNOWN - TRUCKLOAD_TRACKING - P44_DETECTED - CARRIER_REPORTED - ROOT_CAUSE_ANALYSIS type: string title: ExceptionNamespace type: object ExceptionReason: properties: enumValue: enum: - UNKNOWN - MISSING_EQUIPMENT_IDENTIFIER - TRACKING_METHOD_IDENTIFIER_MISMATCH - UNKNOWN_VEHICLE_IDENTIFIER - INVALID_EQUIPMENT_IDENTIFIER - INVALID_PHONE_NUMBER - ALL_SHORT - REFUSED_DELIVERY - BAD_ORDER - CONTAINER_ROLLED - SPLIT_FLIGHT - SHIPMENT_HELD - LATE_TO_CARRIER_PLANNED type: string title: ExceptionReason type: object ExceptionStatus: properties: enumValue: enum: - UNKNOWN - ACTIVE - RESOLVED type: string title: ExceptionStatus type: object Feature: allOf: - $ref: '#/components/schemas/GeoJsonObject' - properties: geometry: $ref: '#/components/schemas/GeoJsonObject' id: type: string properties: $ref: '#/components/schemas/Feature_1_properties' title: Feature type: object Feature_1_properties: properties: {} type: object FileType: description: An enumeration. enum: - PDF - PNG - JPEG - GIF - TIF type: string FilterSuggestionRequest: properties: fieldType: description: The target field for which to retrieve suggestions. enum: - ATTRIBUTE_KEY - ATTRIBUTE_VALUE - CARRIER_NAME - CARRIER_IATA - CARRIER_ICAO - CARRIER_SCAC - CARRIER_US_DOT_NUMBER - CARRIER_MC_NUMBER - VESSEL_NAME - VESSEL_MMSI - VESSEL_IMO - VESSEL_CALL_SIGN - TRAILER_ID - VEHICLE_ID - LICENSE_PLATE - RAIL_CAR_ID - ORIGIN_LOCATION_NAME - ORIGIN_ADDRESS - ORIGIN_CITY - ORIGIN_STATE - ORIGIN_COUNTRY - ORIGIN_ZIP - ORIGIN_PORT_CODE - ORIGIN_AIRPORT_CODE - DESTINATION_LOCATION_NAME - DESTINATION_ADDRESS - DESTINATION_CITY - DESTINATION_STATE - DESTINATION_COUNTRY - DESTINATION_ZIP - DESTINATION_PORT_CODE - DESTINATION_AIRPORT_CODE - STOP_LOCATION_NAME - STOP_ADDRESS - STOP_CITY - STOP_STATE - STOP_COUNTRY - STOP_ZIP - STOP_PORT_CODE - STOP_AIRPORT_CODE - EVENT_LOCATION_NAME - EVENT_ADDRESS - EVENT_CITY - EVENT_STATE - EVENT_COUNTRY - EVENT_ZIP - EVENT_PORT_CODE - EVENT_AIRPORT_CODE - ORDER_IDENTIFIER_CONTRACT - ORDER_IDENTIFIER_LAUNCH_CODE - ORDER_IDENTIFIER_LOAD - ORDER_IDENTIFIER_MANUFACTURER - ORDER_IDENTIFIER_PROMOTION - ORDER_IDENTIFIER_SEASON - ORDER_IDENTIFIER_VENDOR - ORDER_ATTRIBUTE_KEY - ORDER_ATTRIBUTE_VALUE - ORDER_TAG_ANALYST - ORDER_TAG_CARRIER - ORDER_TAG_CATEGORY - ORDER_TAG_COMMODITY - ORDER_TAG_DEPARTMENT - ORDER_TAG_DIRECTOR - ORDER_TAG_FAMILY - ORDER_TAG_GROUP - ORDER_TAG_MANAGER - ORDER_TAG_SECTOR - ORDER_ORIGIN_LOCATION_ID - ORDER_ORIGIN_LOCATION_NAME - ORDER_ORIGIN_CITY - ORDER_ORIGIN_STATE - ORDER_ORIGIN_COUNTRY - ORDER_ORIGIN_POSTAL_CODE - ORDER_DESTINATION_LOCATION_ID - ORDER_DESTINATION_LOCATION_NAME - ORDER_DESTINATION_CITY - ORDER_DESTINATION_STATE - ORDER_DESTINATION_COUNTRY - ORDER_DESTINATION_POSTAL_CODE - ORDER_SUPPLIER_LOCATION_ID - ORDER_SUPPLIER_LOCATION_NAME - ORDER_SUPPLIER_CITY - ORDER_SUPPLIER_STATE - ORDER_SUPPLIER_COUNTRY - ORDER_SUPPLIER_POSTAL_CODE - ORDER_BILLING_LOCATION_ID - ORDER_BILLING_LOCATION_NAME - ORDER_BILLING_CITY - ORDER_BILLING_STATE - ORDER_BILLING_COUNTRY - ORDER_BILLING_POSTAL_CODE - LOAD_ITEM_DESCRIPTION - SHARING_RECIPIENT_TENANT_NAME - SHARING_ORIGINATOR_TENANT_NAME type: string query: description: The input with which to search. type: string fieldName: description: >- Optional - intended to further narrow the search scope when dealing with key-value pairs. For example, when searching with fieldType = ATTRIBUTE_VALUE, setting this to "WAREHOUSE" will return suggestions only for attributes where the key/name is "WAREHOUSE". type: string limit: description: The maximum number of suggestions to return. format: int32 maximum: 100 minimum: 1 type: integer required: - fieldType type: object FilterSuggestionResponse: description: A collection of suggestions. properties: suggestions: items: type: string type: array type: object FirstComeFirstServedAccessorial: additionalProperties: false description: >- Accessorial which flags the explicit need for first come, first served service. properties: code: enum: - FIRST_COME_FIRST_SERVED type: string details: allOf: - $ref: '#/components/schemas/SpecificationKind_bool_' description: Flag denoting requirement. required: - code - details type: object FlatbedType: description: An enumeration. enum: - CONESTOGA - DOUBLE_DROP type: string FreightTerms: properties: freightOwnershipType: enum: - PREPAID - COLLECT type: string transportationPaymentType: enum: - ORIGIN - DESTINATION type: string title: FreightTerms type: object FullContainerLoadContainerCount: description: >- Number of containers that has been fully occupied by single consignee. At least one field must be provided. properties: reeferCount: allOf: - $ref: '#/components/schemas/ReeferContainerCount' description: Number of refrigerated container units. dryCargoCount: allOf: - $ref: '#/components/schemas/DryCargoContainerCount' description: Number of dry cargo container units. type: object FullValueCoverageDetails: properties: monetaryValue: description: 'Value of the cargo. Valid Formats: ##.## (2 decimal places only).' type: string currency: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_models__ebol__ltl__accessorial__Currency default: USD description: >- Optional attribute to indicate currency of monetaryValue. Defaults to USD. required: - monetaryValue type: object GeoCoordinates: properties: latitude: description: >- The approximate geographic latitude of a location, using the WGS84 coordinate system. format: float maximum: 90 minimum: -90 type: number longitude: description: >- The approximate geographic longitude of a location, using the WGS84 coordinate system. format: float maximum: 180 minimum: -180 type: number GeoJsonObject: discriminator: propertyName: type properties: bbox: items: format: double type: number type: array crs: $ref: '#/components/schemas/Crs' type: type: string required: - type title: GeoJsonObject type: object Geofence: properties: geometry: $ref: '#/components/schemas/GeoJsonObject' type: description: Geofence type. See reference documentation. enum: - TIME - DISTANCE - POLYGON type: string units: description: >- Units the value is provided in. Units must be appropriate for the type. enum: - MINUTES - METERS type: string value: description: >- Value in the appropriate units. Only used for TIME and DISTANCE type geofences. format: double type: number required: - type title: Geofence type: object HandlingUnit: description: >- An object that represents the physical handling unit, e.g. a pallet associated with a shipment. properties: commodityType: description: >- This code dictates the duty rating, as well as alerts you to any import or export restrictions. type: string contact: $ref: '#/components/schemas/Contact' deliveryStopNumber: description: >- A reference to the stop number where this item will be dropped off. For LTL this value should always be 2. format: int32 type: integer description: description: A brief description of the handling unit and its contents. type: string freightClasses: description: A list of freight classes for this handling unit. items: enum: - '50' - '55' - '60' - '65' - '70' - '77.5' - '85' - '92.5' - '100' - '110' - '125' - '150' - '175' - '200' - '250' - '300' - '400' - '500' type: string type: array handlingUnitDimensions: $ref: '#/components/schemas/CubicDimension' handlingUnitQuantity: description: The number of handling units identical to this one. format: int32 type: integer handlingUnitType: description: The type of the handling unit. enum: - BAG - BALE - BARREL - BOX - BUCKET - BUNDLE - CAN - CARTON - CASE - COIL - CRATE - CYLINDER - DRUM - PACK - PAIL - PALLET - PIECES - REEL - ROLL - SKID - TOTE - TRAY - TUBE type: string harmonizedCode: description: >- Harmonized System (HS) Code for the product as defined by the World Customers Organization, usually 6 characters in length, but up to 10 characters as defined by customs organizations by country.In the US, this would be the HTS or HTSA Code as defined by the US International Trade Commission. type: string nmfcCodes: description: A list of the NMFC codes associated with this shipment. items: $ref: '#/components/schemas/NmfcCode' type: array packages: description: The packages on/in this handling unit. items: $ref: '#/components/schemas/Package' type: array pickupStopNumber: description: >- A reference to the stop number where this item will be picked up. For LTL this value should always be 1 format: int32 type: integer stackable: description: >- True false value indicating whether or not the handling units can be stacked type: boolean totalValue: $ref: '#/components/schemas/MonetaryValue' weightPerHandlingUnit: description: Weight per handling unit. type: number title: HandlingUnit type: object HandlingUnitType: description: Enumeration of supported package type codes. enum: - BAG - BALE - BOX - BUCKET - BUNDLE - CAN - CARTON - CASE - COIL - CRATE - CYLINDER - DRUM - PAIL - PALLET - PIECES - REEL - ROLL - SKID - TOTE - TUBE type: string HandlingUnitTypeCode: description: An enumeration. enum: - BAG - BAL - BBL - BSK - BIN - BOX - BXT - BCH - BDL - CAB - CAG - CAN - CBY - CAR - CTN - CAS - CSK - CHS - COL - CNT - COR - CRT - CYL - DRM - DBK - ENV - FIR - GLD - HPR - HGH - HRB - INT - JAR - JCN - KEG - KIT - LIF - LBK - LSE - MXD - OTH - PKG - PCK - PAL - PAT - PCS - PLN - RCK - REL - ROL - SKD - SLP - SPL - TNK - TBN - TRY - TRU - TRK - TUB - TBE - UNT - VPK - WRP type: string HandlingUnitTypeQuantity: description: An object that represents the quantity of each handling unit type. properties: handlingUnitType: description: The type of handling unit. enum: - BAG - BALE - BARREL - BOX - BUCKET - BUNDLE - CAN - CARTON - CASE - COIL - CRATE - CYLINDER - DRUM - PACK - PAIL - PALLET - PIECES - REEL - ROLL - SKID - TOTE - TRAY - TUBE type: string quantity: description: 'The quantity of this particular handling unit type. ' format: int32 type: integer title: HandlingUnitTypeQuantity type: object HandlingUnitsDetails: properties: details: description: >- A list of details that describe the specifics of the handling units for this load. items: $ref: >- #/components/schemas/multi_modal_booking_service_public__item__HandlingUnit type: array type: object HazardousDetailsContact: properties: emergencyContact: $ref: '#/components/schemas/EmergencyContact' required: - emergencyContact type: object HazmatAccessorial: additionalProperties: false description: >- Accessorial for describing the HAZMAT Class and UN Code for transportable goods. properties: code: enum: - HAZMAT type: string details: $ref: '#/components/schemas/HazmatKind' required: - code - details type: object HazmatDetails: description: >- Provides important information about the hazardous materials to be transported, as required by the US Department of Transportation (DOT). Only required for shipment requests. properties: code: description: >- The hazard class number, according to the classification system outlined by the FederalMotor Carrier Safety Administration (FMCSA). This is a one digit number or a two digit number separated by a decimal. type: string emergencyContact: $ref: '#/components/schemas/Contact' identificationNumber: description: >- The United Nations (UN) or North America (NA) number identifying the hazmat item. type: string packingGroup: description: >- The hazmat packing group for a line item, indicating the degree of danger. enum: - I - II - III - NONE type: string properShippingName: description: The proper shipping name of the hazmat item. type: string title: HazmatDetails type: object HazmatKind: additionalProperties: false properties: hazmatClass: description: >- The hazard class number, according to the classification system outlined by the Federal Motor Carrier Safety Administration (FMCSA). This is a one digit number or a two digit number separated by a decimal. type: string unCode: description: 4-Digit UN Code. type: string required: - hazmatClass type: object HazmatPackingGroup: enum: - I - II - III - NONE format: enum type: string Identifier: properties: type: anyOf: - $ref: '#/components/schemas/LogisticsIdentifierType' - $ref: '#/components/schemas/InternalEntityType' description: The identifier type that can identify this entity. value: description: Identifier. type: string required: - type - value type: object IdentifierWrapper: properties: values: description: List of logistics identifiers to search for items: $ref: '#/components/schemas/Identifier' type: array operator: allOf: - $ref: '#/components/schemas/Operator' default: EQUALS required: - values type: object Image: properties: url: description: The url of this image. type: string mediaType: allOf: - $ref: '#/components/schemas/FileType' description: The media type of this image. sizeInBytes: description: The file size of this image in bytes type: integer type: allOf: - $ref: '#/components/schemas/ImageType' description: The image type of this image. required: - url - mediaType - sizeInBytes - type type: object ImageApiConfiguration: description: Contains fields used to configure the image API. properties: fallBackToDefaultAccountGroup: description: >- If set to 'true' and the provided capacity provider account group code is invalid, the default capacity provider account group will be used. When 'false', an error will be returned if the provided capacity provider account group code is invalid. (default: 'false') type: boolean title: ImageApiConfiguration type: object ImageType: description: An enumeration. enum: - ORIGINAL - THUMBNAIL type: string Images: properties: includeBol: default: false description: >- Indicates whether or not you want an image of the populated BOL returned in the response. type: boolean includeShippingLabels: default: false description: >- Indicates whether or not you want image(s) of the shipping labels returned in the response. type: boolean shippingLabels: $ref: '#/components/schemas/ShippingLabels' email: $ref: '#/components/schemas/Email' required: - shippingLabels - email type: object IncotermType: description: >- International commercial terms according to the [ICC](https://iccwbo.org/). EXW: EX WORKS, FCA: FREE CARRIER, FAS: FREE ALONGSIDE SHIP, FOB: FREE ON BOARD, CFR: COST & FREIGHT, CIF: COST, INSURANCE & FREIGHT CPT: COST PAID TO, CIP: CARRIER & INSURANCE PAID TO, DPU: DELIVERED AT PLACE UNLOADED DAP: DELIVERED AT PLACE, DDP: DELIVERED DUTY PAID enum: - EXW - FCA - FAS - FOB - CFR - CIF - CPT - CIP - DPU - DAP - DDP type: string IntegerRange: description: Integer Range that contains a maximum and minimum. properties: max: description: Maximum integer in this range. format: int32 type: integer min: description: Minimum integer in this range. format: int32 type: integer title: IntegerRange type: object InternalEntityType: description: An enumeration. enum: - MASTER_SHIPMENT_ID - BOOKING_ID - STOP_ID - DRIVER_ID - TRUCKLOAD_TRACKING_ID - ORDER_ID - SHIPPER_TENANT_UUID type: string InventoryContact: description: Contact information. properties: companyName: description: Company name. type: string contactName: description: Contact name. May be required for shipments. type: string contactType: enum: - PRIMARY - SECONDARY - WAREHOUSE - TRANSPORTATION - FINANCE - OTHER type: string email: description: Email address. May be required for shipments. type: string faxNumber: description: >- Fax number. E.164 or North American Number Plan (NANP) phone numbers are accepted. If a phone number is passed in without the associated country code field, the number will be treated as a number that adheres to the NANP standard. The number will be returned in responses in the NANP format: '[+123 ]123-456-7890[, ext. 123456]'. If the associated country code field is passed in as well, the number will be treated as a number that adheres to the E.164 international phone number standard. The number will be returned in a response in the E.164 format: '[+123 ]12345678910[, ext. 123456]'. In requests, only digits and an optional 'X' (or lowercase 'x') marking the start of an extension will be used. Any other characters included for formatting will be stripped -- project44 will provide the phone number to the capacity provider in the format they accept. There must be at least ten digits before the optional 'X' (for the area code, central office code, and station code for NANP numbers or simply the subscriber number for E.164 numbers). For NANP numbers, no more than thirteen, with the first digits exceeding ten being interpreted as the country code when the country code. The number of digits after the optional 'X' must be less than seven. Examples of acceptable NANP phone numbers: '123-456-7890 x 32', '(123)456-7890 ext 30', '1234567890', '11234567890', '+55-123-456-7890 ext. 312412', '123-456-7890, ext. 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]123-456-7890[, ext. 123456]'. Examples of acceptable E.164 phone numbers: '20-1234-5678 x 1234', '(20) 1234-5678x1234', '2012345678', '20 1234-5678 ext 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]2012345678[, ext. 1234]'. type: string faxNumberCountryCode: description: >- The country code associated with the phone number. If this is blank, the phone number will be treated as a number that adheres to the North American Number Plan (NANP) format. Acceptable country codes formats: '+123' or '123'. type: string phoneNumber: description: >- Phone number. May be required for shipments. E.164 or North American Number Plan (NANP) phone numbers are accepted. If a phone number is passed in without the associated country code field, the number will be treated as a number that adheres to the NANP standard. The number will be returned in responses in the NANP format: '[+123 ]123-456-7890[, ext. 123456]'. If the associated country code field is passed in as well, the number will be treated as a number that adheres to the E.164 international phone number standard. The number will be returned in a response in the E.164 format: '[+123 ]12345678910[, ext. 123456]'. In requests, only digits and an optional 'X' (or lowercase 'x') marking the start of an extension will be used. Any other characters included for formatting will be stripped -- project44 will provide the phone number to the capacity provider in the format they accept. There must be at least ten digits before the optional 'X' (for the area code, central office code, and station code for NANP numbers or simply the subscriber number for E.164 numbers). For NANP numbers, no more than thirteen, with the first digits exceeding ten being interpreted as the country code when the country code. The number of digits after the optional 'X' must be less than seven. Examples of acceptable NANP phone numbers: '123-456-7890 x 32', '(123)456-7890 ext 30', '1234567890', '11234567890', '+55-123-456-7890 ext. 312412', '123-456-7890, ext. 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]123-456-7890[, ext. 123456]'. Examples of acceptable E.164 phone numbers: '20-1234-5678 x 1234', '(20) 1234-5678x1234', '2012345678', '20 1234-5678 ext 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]2012345678[, ext. 1234]'. type: string phoneNumber2: description: >- Alternate phone number. E.164 or North American Number Plan (NANP) phone numbers are accepted. If a phone number is passed in without the associated country code field, the number will be treated as a number that adheres to the NANP standard. The number will be returned in responses in the NANP format: '[+123 ]123-456-7890[, ext. 123456]'. If the associated country code field is passed in as well, the number will be treated as a number that adheres to the E.164 international phone number standard. The number will be returned in a response in the E.164 format: '[+123 ]12345678910[, ext. 123456]'. In requests, only digits and an optional 'X' (or lowercase 'x') marking the start of an extension will be used. Any other characters included for formatting will be stripped -- project44 will provide the phone number to the capacity provider in the format they accept. There must be at least ten digits before the optional 'X' (for the area code, central office code, and station code for NANP numbers or simply the subscriber number for E.164 numbers). For NANP numbers, no more than thirteen, with the first digits exceeding ten being interpreted as the country code when the country code. The number of digits after the optional 'X' must be less than seven. Examples of acceptable NANP phone numbers: '123-456-7890 x 32', '(123)456-7890 ext 30', '1234567890', '11234567890', '+55-123-456-7890 ext. 312412', '123-456-7890, ext. 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]123-456-7890[, ext. 123456]'. Examples of acceptable E.164 phone numbers: '20-1234-5678 x 1234', '(20) 1234-5678x1234', '2012345678', '20 1234-5678 ext 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]2012345678[, ext. 1234]'. type: string phoneNumber2CountryCode: description: >- The country code associated with the phone number. If this is blank, the phone number will be treated as a number that adheres to the North American Number Plan (NANP) format. Acceptable country codes formats: '+123' or '123'. type: string phoneNumberCountryCode: description: >- The country code associated with the phone number. If this is blank, the phone number will be treated as a number that adheres to the North American Number Plan (NANP) format. Acceptable country codes formats: '+123' or '123'. type: string title: InventoryContact type: object InventoryId: properties: id: type: string title: InventoryId type: object InventoryIdCollection: properties: ids: items: $ref: '#/components/schemas/InventoryId' type: array title: InventoryIdCollection type: object InventoryIdentifier: properties: description: type: string type: enum: - DEPARTMENT - SUB_DEPARTMENT - CATEGORY - GROUP - FAMILY - GENDER - VENDOR - MANUFACTURER - PROMOTION - SECTOR - DIVISION - CLASS - SUB_CLASS - CODE - SEASON type: string value: type: string title: InventoryIdentifier type: object InventoryItem: properties: consumeByDateTime: example: yyyy-MM-dd'T'HH:mm:ssZ type: string description: type: string id: type: string inventoryDimensionalWeight: $ref: '#/components/schemas/DimensionalWeight' inventoryIdentifiers: items: $ref: '#/components/schemas/InventoryIdentifier' type: array lineItemHazmatDetail: $ref: '#/components/schemas/LineItemHazmatDetail' manufacturedDateTime: example: yyyy-MM-dd'T'HH:mm:ssZ type: string orderIds: items: type: string type: array packagedDateTime: example: yyyy-MM-dd'T'HH:mm:ssZ type: string perUnitCost: $ref: '#/components/schemas/MonetaryValue' perUnitRetailValue: $ref: '#/components/schemas/MonetaryValue' perishable: type: boolean promotionalDateTimeWindow: $ref: '#/components/schemas/OffsetDateTimeWindow' sellByDateTime: example: yyyy-MM-dd'T'HH:mm:ssZ type: string serialNumber: type: string shipmentIds: items: format: uuid type: string type: array stockKeepingUnit: type: string taxable: type: boolean universalProductCode: type: string title: InventoryItem type: object InventoryItemCollection: properties: items: items: $ref: '#/components/schemas/InventoryItem' type: array title: InventoryItemCollection type: object InventoryItemPage: description: >- A paginated response containing results and information about the current page. properties: paginationInfo: $ref: '#/components/schemas/PaginationInfo' results: description: List of resources contained on this page. items: $ref: '#/components/schemas/InventoryItem' type: array title: InventoryItemPage type: object InventoryLocation: properties: additionalContacts: items: $ref: '#/components/schemas/InventoryContact' type: array address: $ref: '#/components/schemas/Address' contact: $ref: '#/components/schemas/InventoryContact' id: type: string name: type: string suppliedId: type: string title: InventoryLocation type: object InventoryOrder: properties: additionalOrderIdentifiers: items: $ref: '#/components/schemas/InventoryOrderIdentifier' type: array attributes: items: $ref: '#/components/schemas/OrderCustomAttribute' type: array billToLocation: $ref: '#/components/schemas/InventoryLocation' derivedOrderHealth: $ref: '#/components/schemas/DerivedOrderHealth' destinationLocation: $ref: '#/components/schemas/InventoryLocation' freightTerms: $ref: '#/components/schemas/FreightTerms' id: type: string launchDateTime: example: yyyy-MM-dd'T'HH:mm:ssZ type: string orderIdentifier: type: string orderIdentifierAuthority: type: string orderSubmissionDateTime: example: yyyy-MM-dd'T'HH:mm:ssZ type: string orderTags: items: $ref: '#/components/schemas/InventoryOrderTag' type: array orderType: enum: - PURCHASE_ORDER - SALES_ORDER - WAREHOUSE_MOVEMENT_ORDER - ADVANCED_SHIPMENT_NOTICE - INVOICE type: string originLocation: $ref: '#/components/schemas/InventoryLocation' originalDeliveryDateTimeWindow: $ref: '#/components/schemas/OffsetDateTimeWindow' relatedOrderIds: items: type: string type: array shipmentIds: items: format: uuid type: string type: array statusCode: enum: - SUBMITTED - RECEIVED - PROCESSING - ACCEPTED - FULFILLED - REJECTED - CANCELED type: string statusCodeDateTime: example: yyyy-MM-dd'T'HH:mm:ssZ type: string subject: type: string supplierReadyDateTimeWindow: $ref: '#/components/schemas/OffsetDateTimeWindow' totalCost: $ref: '#/components/schemas/MonetaryValue' totalRetailValue: $ref: '#/components/schemas/MonetaryValue' vendorLocation: $ref: '#/components/schemas/InventoryLocation' title: InventoryOrder type: object InventoryOrderAttributeFilter: properties: name: type: string operator: enum: - EQUALS - NOT_EQUALS - CONTAINS type: string values: items: type: string type: array title: InventoryOrderAttributeFilter type: object InventoryOrderIdentifier: properties: type: enum: - CONTRACT - LOAD - MANUFACTURER - PROMOTION - SEASON - VENDOR - LAUNCH_CODE type: string value: type: string title: InventoryOrderIdentifier type: object InventoryOrderIdentifierCriteria: properties: type: enum: - CONTRACT - LOAD - MANUFACTURER - PROMOTION - SEASON - VENDOR - LAUNCH_CODE type: string value: type: string title: InventoryOrderIdentifierCriteria type: object InventoryOrderPage: description: >- A paginated response containing results and information about the current page. properties: paginationInfo: $ref: '#/components/schemas/PaginationInfo' results: description: List of resources contained on this page. items: $ref: '#/components/schemas/InventoryOrder' type: array title: InventoryOrderPage type: object InventoryOrderSortField: properties: direction: enum: - ASC - DESC type: string fieldName: enum: - ORDER_TYPE - ORDER_IDENTIFIER - STATUS_CODE - ORDER_SUBMISSION_DATETIME - SUPPLIER_READY_WINDOW_START_DATETIME - SUPPLIER_READY_WINDOW_END_DATETIME - ORIGINAL_DELIVERY_WINDOW_START_DATETIME - ORIGINAL_DELIVERY_WINDOW_END_DATETIME - ORDER_HEALTH_ETA type: string title: InventoryOrderSortField type: object InventoryOrderTag: properties: description: type: string type: enum: - ANALYST - CARRIER - CATEGORY - COMMODITY - DEPARTMENT - DIRECTOR - FAMILY - GROUP - MANAGER - SECTOR type: string value: type: string title: InventoryOrderTag type: object InventoryOrderTagCriteria: properties: type: enum: - ANALYST - CARRIER - CATEGORY - COMMODITY - DEPARTMENT - DIRECTOR - FAMILY - GROUP - MANAGER - SECTOR type: string value: type: string title: InventoryOrderTagCriteria type: object Invitation: description: List of invitations properties: invitee: $ref: '#/components/schemas/Invitee' capability: description: The capability which the invitation will provide. enum: - TRUCKLOAD_ASSET_TRACKING example: TRUCKLOAD_ASSET_TRACKING type: string status: description: The current status of the invitation. enum: - ACCEPTED - DECLINED - IN_PROGRESS - CANCELLED - EXPIRED example: ACCEPTED readOnly: true type: string createdDateTime: description: The datetime when the invitation was created, in ISO-8601 format. example: '2023-08-23T10:15:30Z' format: date-time readOnly: true type: string lastModifiedDateTime: description: >- The datetime when the invitation was last modified, in ISO-8601 format. example: '2023-08-23T10:15:30Z' format: date-time readOnly: true type: string required: - capability - invitee type: object InvitationContact: description: Contact details of the invitee. properties: email: description: The email address of the contact. type: string givenName: description: The given name of the contact (name, firstname). type: string familyName: description: The family name of the contact (surname, lastname). type: string locale: description: >- The locale of the email which will be used to invite the contact, in BCP47 format. type: string phone: description: The phone number for the contact. type: string required: - email - givenName type: object InvitationOrganization: description: Organization details of the invitee. properties: name: description: Organization name. type: string required: - name type: object InvitationPage: properties: paginationInfo: $ref: '#/components/schemas/PaginationInfo' results: description: List of invitations items: $ref: '#/components/schemas/Invitation' type: array type: object Invitee: description: The entity being invited to provide the capability. properties: identifiers: description: The identifiers of the invitee. items: $ref: '#/components/schemas/InviteeIdentifier' type: array organization: $ref: '#/components/schemas/InvitationOrganization' contacts: description: Contact details of the invitee. items: $ref: '#/components/schemas/InvitationContact' type: array required: - identifiers type: object InviteeIdentifier: description: The identifiers of the invitee. properties: type: description: Invitee identifier type. enum: - VAT - SCAC - DOT_NUMBER - MC_NUMBER - P44_EU example: VAT type: string value: description: Invitee identifier value. example: PL1234567890 type: string required: - type - value type: object Item: description: Item held within a larger shipment details unit. properties: description: description: Free text space to describe the line-item. type: string identifiers: description: >- Useful identifiers that can be attached to this item. Identifiers with the following type codes will be used to create Items within the project44 platform: `STOCK_KEEPING_UNIT`, `UNIVERSAL_PRODUCT_CODE`, `UNKNOWN`. Identifiers with the following type codes will be used to reference Orders within the project44 platform: `PURCHASE_ORDER`, `SALES_ORDER`, `WAREHOUSE_MOVEMENT_ORDER`, `ADVANCED_SHIPMENT_NOTICE`, `INVOICE_NUMBER`. items: $ref: '#/components/schemas/ItemIdentifier' type: array unitQuantity: description: The quantity of identical packages that make up this item. type: integer unitType: allOf: - $ref: '#/components/schemas/PackageContainerType' description: The unit type of identical packages that make up this item. type: object ItemIdentifier: properties: type: allOf: - $ref: '#/components/schemas/ItemIdentifierType' description: The identifier type used for this line item identifier. value: description: The value used for this line item identifier. type: string required: - type - value type: object ItemIdentifierType: description: An enumeration. enum: - CONTAINER_NUMBER - PALLET_NUMBER - DELIVERY_NUMBER - PICKUP_NUMBER - VEHICLE_IDENTIFICATION_NUMBER - SERIAL_NUMBER - PURCHASE_ORDER - SALES_ORDER - WAREHOUSE_MOVEMENT_ORDER - ADVANCED_SHIPMENT_NOTICE - INVOICE_NUMBER - STOCK_KEEPING_UNIT - UNIVERSAL_PRODUCT_CODE - UNKNOWN type: string Length: properties: value: description: The numeric decimal value of this length. minimum: 0 type: number unit: allOf: - $ref: '#/components/schemas/LengthUnit' description: The unit of measurement for this length. required: - value - unit type: object LengthUnit: default: FT description: Length measurement units enum: - IN - CM - FT - M format: enum type: string LiftgateAccessorial: additionalProperties: false description: Accessorial which flags the explicit need for liftgate service. properties: code: enum: - LIFTGATE type: string details: allOf: - $ref: '#/components/schemas/SpecificationKind_bool_' description: Flag denoting requirement. required: - code - details type: object LimitedAccessCode: description: Limited access codes enum: - Airport - Church - Club - Construction - Fair - Farm - Hotel - Mine - Other - Park - Port - School - Secure - Storage - Tradeshow type: string LimitedAccessType: properties: origin: allOf: - $ref: '#/components/schemas/LimitedAccessCode' description: >- Optional attribute to indicate the limited access type when accessorial code LTDAP is present in the accessorial codes list. destination: allOf: - $ref: '#/components/schemas/LimitedAccessCode' description: >- Optional attribute to indicate the limited access type when accessorial code LTDAD is present in the accessorial codes list. type: object LineItem: description: >- An item of freight in a shipment.A line item consists of one or more packages, all of the same package type and with the same dimensions, freight class, and NMFC code. Each package, however, may have a different number of pieces and a different weight. properties: id: description: >- The internal p44 id assigned to this line item. Provided only for insurance line items. format: int64 type: integer totalWeight: description: Total weight of all packages composing this line item. minimum: 1 type: number packageDimensions: $ref: '#/components/schemas/CubicDimension' description: Dimensions of each package in this line item. freightClass: description: >- Freight class of all packages composing this item. Required for LTL quotes and shipments only. enum: - >- 50,55,60,65,70,77.5,85,92.5,100,110,125,150,175,200,250,300,400,500 type: string packageType: $ref: '#/components/schemas/PackageType' totalPackages: description: 'The number of packages composing this line item. (default: ''1'')' format: int32 minimum: 1 type: integer totalPieces: description: >- The total number of pieces across all packages composing this line item. (default: '1') format: int32 minimum: 1 type: integer description: description: Readable description of this line item. type: string stackable: description: >- Whether the packages composing this line item are stackable. (default: 'false') type: boolean nmfcItemCode: description: NMFC prefix code for all packages composing this line item. type: string nmfcSubCode: description: NMFC suffix code for all packages composing this line item. type: string hazmatDetail: $ref: '#/components/schemas/LineItemHazmatDetail' description: >- Not available in rating (send the hazmat accessorial instead). Required for shipment if this line item contains hazardous materials. Provides important information about the hazardous materials to be transported, as required by the US Department of Transportation (DOT). commodityType: description: >- Commodity code identifying the type of shipment. Required for insurance quotes. type: string harmonizedCode: description: >- Harmonized System (HS) Code for the product as defined by the World Customers Organization, usually 6 characters in length, but up to 10 characters as defined by customs organizations by country. In the US, this would be the HTS or HTSA Code as defined by the US International Trade Commission. type: string countryOfManufacture: $ref: '#/components/schemas/CountryCode' description: Country of manufacture of line item. totalValue: description: >- The total value of all pieces of the line item. Required for insurance quotes. minimum: 0 type: number required: - commodityType - freightClass - packageDimensions - packageType - totalValue - totalWeight LineItemHazmatDetail: description: >- Provides important information about the hazardous materials to be transported, as required by the US Department of Transportation (DOT). Only required for shipment requests. properties: identificationNumber: description: >- The United Nations (UN) or North America (NA) number identifying the hazmat item. type: string properShippingName: description: The proper shipping name of the hazmat item. type: string hazardClass: description: >- The hazard class number, according to the classification system outlined by the Federal Motor Carrier Safety Administration (FMCSA). This is a one digit number or a two digit number separated by a decimal. type: string packingGroup: $ref: '#/components/schemas/HazmatPackingGroup' description: >- The hazmat packing group for a line item, indicating the degree of danger. LineItemIdentifier: description: A user defined identifier for this item. properties: type: description: The identifier type used for this line item identifier. enum: - PURCHASE_ORDER - SKU - CONTAINER_NUMBER - PALLET_NUMBER - DELIVERY_NUMBER - PICKUP_NUMBER - VIN type: string value: description: The value used for this line item identifier. type: string title: LineItemIdentifier type: object LineItemLayoutType: description: An enumeration. enum: - Nested - Stacked type: string LngLatAlt: properties: additionalElements: items: format: double type: number type: array altitude: format: double type: number latitude: format: double type: number longitude: format: double type: number title: LngLatAlt type: object Load: description: >- A collection of goods that are being moved strictly from point A to point B. The collection of goods may contain many orders and many items of inventory and there is a single consignee for the load. The load is tied to a shipment and exactly two stops. properties: deliveryStopReference: $ref: '#/components/schemas/StopReference' description: description: A description of the overall load. type: string handlingUnits: $ref: '#/components/schemas/LoadHandlingUnits' id: description: >- The unique project44-generated id of the load. This can be null when the load is created, but will always exist in the response after the load has been created. format: uuid type: string identifiers: description: >- The identifiers that can identify this Load. This could be, but not limited to, a shipment identifier such as a BOL or an order-based identifier such as Purchase Order or ASN. items: $ref: '#/components/schemas/LogisticsIdentifier' type: array involvedParties: description: >- Parties which are specifically related to this load and the identifiers which are associated with those parties. This identifies the relationship between the load and its relevant parties. items: $ref: '#/components/schemas/Party' type: array items: description: A list of items contained within this load. items: $ref: '#/components/schemas/LoadItem' type: array masterShipmentId: description: >- The project44-generated id of the shipment with which the load is associated. format: uuid type: string pickupStopReference: $ref: '#/components/schemas/StopReference' title: Load type: object LoadCubicDimension: description: Cubic dimensions of a handling unit properties: height: description: Height of this cubic dimension. type: number length: description: Length of this cubic dimension. type: number unit: description: Unit of this cubic dimension. enum: - IN - CM - FT - M type: string width: description: Width of this cubic dimension. type: number title: LoadCubicDimension type: object LoadHandlingUnits: description: A description of handling units for a load properties: details: description: >- A list of details that describe the specifics of the handling units for this load. items: $ref: '#/components/schemas/LoadHandlingUnitsDetails' type: array title: LoadHandlingUnits type: object LoadHandlingUnitsDetails: description: Details of handling units for a load properties: cubicDimension: $ref: '#/components/schemas/LoadCubicDimension' handlingUnitType: description: The type of packaging that best describes the handling unit. enum: - BAG - BALE - BARREL - BOX - BUCKET - BUNDLE - CAN - CARTON - CASE - COIL - CRATE - CYLINDER - DRUM - PACK - PAIL - PALLET - PIECES - REEL - ROLL - SKID - TOTE - TRAY - TUBE type: string quantity: description: Quantity of the handling unit type that is specified below. format: int64 type: integer volume: $ref: '#/components/schemas/Volume' weight: $ref: '#/components/schemas/Weight' title: LoadHandlingUnitsDetails type: object LoadId: properties: id: format: uuid type: string title: LoadId type: object LoadItem: description: A description of an inventory item that composes a load properties: description: description: A description of this load item. type: string identifiers: description: >- Unique load item identifiers containing a type (currently 'STOCK_KEEPING_UNIT', 'UNIVERSAL_PRODUCT_CODE', or 'SERIAL_NUMBER') and a string value items: $ref: '#/components/schemas/LoadItemIdentifier' type: array orderIdentifierReferences: description: A list of references to orders to which this load item pertains. items: $ref: '#/components/schemas/OrderIdentifierReference' type: array unitQuantity: description: The quantity of identical packages that make up this load item. format: int64 type: integer unitType: description: The unit type of identical packages that make up this load item. enum: - BAG - BALE - BOX - BUCKET - PAIL - BUNDLE - CAN - CARTON - CASE - COIL - CRATE - CYLINDER - EACH - FLAT - LOOSE - ROLL - TUBE type: string title: LoadItem type: object LoadItemIdentifier: description: Load item identifiers contain a type and a value properties: type: description: unique field indicating the identifier type enum: - STOCK_KEEPING_UNIT - UNIVERSAL_PRODUCT_CODE - SERIAL_NUMBER - UNKNOWN type: string value: description: the string value corresponding to the type type: string title: LoadItemIdentifier type: object LoadPage: description: >- A paginated response containing results and information about the current page. properties: paginationInfo: $ref: '#/components/schemas/PaginationInfo' results: description: List of resources contained on this page. items: $ref: '#/components/schemas/Load' type: array title: LoadPage type: object LocalDateTimeWindow: description: >- A date and time range, local to the applicable location, representing a window of availability. properties: date: description: >- Date for this time window in the timezone of the applicable location.(default: current date, format: yyyy-MM-dd) format: date type: string startTime: description: >- Start time of this window in the timezone of the applicable location. (format: HH:mm) example: '15:00' format: partial-time type: string endTime: description: >- End time of this window in the timezone of the applicable location. (format: HH:mm) example: '17:00' format: partial-time type: string Location: description: A physical location. properties: address: $ref: '#/components/schemas/Address' description: Postal address of the location. contact: $ref: '#/components/schemas/Contact' description: Contact information at the location. required: - address - contact xml: name: Location LocationCollection: description: A collection of physical locations. properties: locations: description: A collection of physical locations. items: $ref: '#/components/schemas/Location' type: array title: LocationCollection type: object LocationCriterion: description: >- Match shipments based on a location property. The property to match against is specified as the propertyName. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. Example: (location.{field} EQUALS [A OR B OR C]) Example: (location.{field} NOT_EQUALS A) AND (location.{field} NOT_EQUALS B) properties: propertyName: enum: - LOCATION_NAME - LOCATION_ADDRESS - LOCATION_CITY - LOCATION_STATE - LOCATION_COUNTRY - LOCATION_ZIP type: string values: items: type: string type: array operator: description: Some fields do not support the CONTAINS operator. enum: - EQUALS - NOT_EQUALS - CONTAINS type: string required: - propertyName - values type: object LocationIdentifier: description: >- Location Identifier pair that contains the type and value. The identified Stop Location must have been previously created via the STOP LOCATION MANAGEMENT API, and the Stop Location must have an associated Contact created with the CAPACITY PROVIDER CONTACT MANAGEMENT API. properties: type: $ref: '#/components/schemas/LocationIdentifierType' value: description: The value of the location identifier. type: string required: - type - value LocationIdentifierCriterion: description: >- Match shipments based on the type and value of stop location identifiers. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. For each item, filters are generated for both the type and values, and they are combined using an AND operator. Example: (identifier.type EQUALS X AND identifier.value EQUALS [A OR B OR C]) AND (identifier.type EQUALS Y AND identifier.value EQUALS [D OR F]) properties: types: items: type: string enum: - AIRPORT_IATA - AIRPORT_ICAO - EXTERNAL - LOCODE - NAME - PORT_UN_LOCODE - RAIL_SPLC - RAIL_UIC - RAIL_EU_PLC - UNKNOWN type: array values: items: type: string type: array operator: description: If values is not populated, the CONTAINS operator is not supported. enum: - EQUALS - NOT_EQUALS - CONTAINS type: string type: object LocationIdentifierType: description: >- The type of the location identifier. Must be either SYSTEM (Project44-supplied) or EXTERNAL (customer-supplied). enum: - EXTERNAL - SYSTEM format: enum type: string LockedGateAccessorial: additionalProperties: false description: Accessorial which flags the explicit need for locked gate service. properties: code: enum: - LOCKED_GATE type: string details: allOf: - $ref: '#/components/schemas/SpecificationKind_bool_' description: Flag denoting requirement. required: - code - details type: object LogisticsIdentifier: description: >- Any standardized 3rd party identifier. Can be used to identifier a shipment, freight, vehicle, carrier, or other freight entity. properties: type: $ref: '#/components/schemas/LogisticsIdentifierTypeEnum' value: description: The value of this identifier. Required field. type: string required: - type - value LogisticsIdentifierType: description: The type of identifier provided to distinguish the Shipment. enum: - AIR_WAYBILL - BILL_OF_LADING - HOUSE_BILL_OF_LADING - BOOKING_NUMBER - CARRIER_IATA - CARRIER_ICAO - CARRIER_NAME - CARRIER_SCAC - FFW_SCAC - 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 - SENSITECH_DEVICE_ID - EMERSON_DEVICE_ID - TIVE_DEVICE_ID - VOYAGE_NUMBER - CARRIER_MASTER_ID - CARRIER_NMC_ID - CONTAINER_TYPE - TRAIN_NUMBER - WAGON_ID - CAPACITY_PROVIDER_ACCOUNT_GROUP - CAPACITY_PROVIDER_ACCOUNT_CODE - SERIAL_NUMBER - VEHICLE_IDENTIFICATION_NUMBER - REFERENCE_NUMBER - CONTAINER_PIN - INVOICE_ID type: string LogisticsIdentifierTypeEnum: description: >- The standard which defines who assigns the identifier and what it identifies. Required field. enum: - AIR_WAYBILL - BILL_OF_LADING - HOUSE_BILL_OF_LADING - BOOKING_NUMBER - CARRIER_IATA - CARRIER_ICAO - CARRIER_NAME - CARRIER_SCAC - FFW_SCAC - NVOCC_SCAC - 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 - 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 - 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 type: string LtlAdditionalAppointmentWindow: description: A user defined appointment window to be used in lists. properties: type: $ref: '#/components/schemas/LtlAdditionalAppointmentWindowType' appointmentWindow: $ref: '#/components/schemas/ZonedDateTimeWindow' description: >- The user-defined field in which one or many additional appointment windows can be provided on the stop. Note that the start and end times are required for 'appointmentWindow'; the default start time does not apply to this field. On responses, the time zone identifier (for example, 'America/Chicago') for this date time window is determined by project44 whenpossible based on the stop's address. appointmentStatus: $ref: '#/components/schemas/AdditionalAppointmentWindowStatus' description: >- This is the state of the appointment as determined by the source appointment management system. This status is used to represent where the appointment is within its lifecycle, it does not represent the physical state of the asset fulfilling the appointment. identifiers: description: >- A list of identifiers of the additional appointment windows to a shipment. items: $ref: '#/components/schemas/AdditionalAppointmentWindowIdentifier' type: array required: - appointmentWindow - type LtlAdditionalAppointmentWindowType: description: The type of appointment window. enum: - STRATEGIC - SLOT_BOOKING_PICKUP - SLOT_BOOKING_DELIVERY - SLOT_BOOKING_PICKUP_DELIVERY format: enum type: string LtlCapacityProviderPushShipment: properties: carrierIdentifier: $ref: '#/components/schemas/CapacityProviderIdentifier' customerAccount: $ref: '#/components/schemas/CustomerAccount' shipmentIdentifiers: description: >- A list of shipment identifiers that, with the exception of the EXTERNAL type, can be used to track the shipment. At least one identifier of type 'PRO' must be included in the list. The source field cannot be provided in this API. items: $ref: '#/components/schemas/LtlShipmentIdentifier' type: array shipmentStops: description: >- A list of the shipment stops for the shipment. When stop data is provided, there must be at least two stops -- one of type 'ORIGIN' and one of type 'DESTINATION'. 'ORIGIN' and 'DESTINATION' stops must have location address information including addressLines, city, state, country, postalCode and location contact information including companyName. Stops of type 'TERMINAL' (service center) may be included or added as the shipment is tracked and they are discovered. 'TERMINAL' stops must have location address information including city, state, country, postalCode and location contact information including companyName. 'TERMINAL' stops must also have terminalCode. All stop types require a stop number. The stop number represents the order for which the stops will be visited. Besides 'ORIGIN' always being stopNumber: 1, stopNumber may change as 'TERMINAL's are discovered throughout tracking (i.e. initially there may only be two known stops; 'ORIGIN' with stopNumber 1 and 'DESTINATION' with stopNumber 2. Once a 'TERMINAL' stop is discovered, the 'DESTINATION' stop will now have stopNumber 3. Stop objects contain an object called 'appointmentWindow'. These appointment windows are the requested appointment windows found on the bill of lading. If the stop type is 'ORIGIN', it is a requested pickup appointment window and if the stop type is 'DESTINATION', it is a requested delivery appointment window. items: $ref: '#/components/schemas/LtlTrackedShipmentStop' type: array sourceType: description: >- The original type of data source for where this shipment originated from. (default: API) enum: - API - EDI type: string transitDays: description: The number of days it will take to deliver the load after pickup. format: int32 type: integer title: LtlCapacityProviderPushShipment type: object LtlCapacityProviderPushShipmentArrivalEstimate: properties: estimatedArrivalWindow: $ref: '#/components/schemas/OffsetDateTimeWindow' title: LtlCapacityProviderPushShipmentArrivalEstimate type: object LtlCapacityProviderPushStatusReason: properties: description: description: A description of the reason for the status of the status update. type: string reasonDetailCode: description: The reason detail code for the status of the status udpate. enum: - APPOINTMENT_SET - CANNOT_FIND_CONSIGNEE_ADDRESS - CANNOT_REACH_CONSIGNEE - CONS_CLOSED_FOR_HOLIDAY - CONS_DID_NOT_ORDER_FREIGHT - CONSIGNEE_CANCELLED_ORDER - CONSIGNEE_CLOSED - CONSIGNEE_DISPUTES_CHARGES - CREDIT_HOLD - DAMAGED - DAMAGED_ON_DELIVERY - DELIVERY_ATTEMPTED_APPOINTMENT - DELIVERY_ATTEMPTED_NO_DOCK_SPACE - DELIVERY_ATTEMPTED_REAR_LOAD - DELIVERY_REQUIRES_SPECIAL_EQUIPMENT - DELIVERY_SHORTAGE - DUPLICATE_SHIPMENT - EMERGENCY_DELAY_IN_TRANSIT - GENERAL_EXCEPTION - HAZARDOUS_MATERIAL - INCORRECT_ADDRESS_PROVIDED - INVALID_OR_MISSING_PURCHASE_ORDER_NUMBER - LIMITED_ACCESS_LOCATIONS - MISSING_PACKING_LIST - NO_PAYMENT_AVAILABLE_AT_DELIVERY - OVERAGE - PERMANENT_APPOINTMENT_REQUIRED - PROTECTIVE_SERVICE_REQUIRED - RECONSIGNED_TO_NEW_CONSIGNEE - REFUSED_BY_CONS_CANNOT_RECEIVE_ON_DELIVERY_DATE - REFUSED_NO_RETURN_AUTHORIZATION - SHIP_WHEN_CAPACITY_AVAILABLE - SHIPMENT_ALASKA_OR_HAWAII - SHIPMENT_TENDERED_LATE - SHORTAGE - SPOT_MARKET_SHIPMENT - WAITING_INSTRUCTIONS - WEATHER_DELAY - WEATHER_DELAY_CLEARED - WORK_STOPPAGE - WRONG_PRODUCT_SHIPPED type: string reasonSummaryCode: description: The reason summary code for the status of the status update. enum: - APPOINTMENT_ISSUE - BILLING_ISSUE - DELIVERY_ISSUE - INFO_MESSAGE - OTHER_EXCEPTION - PAPERWORK_ISSUE - SHIPMENT_ISSUE - SPOT_SHIPMENT - STAFFING_ISSUE - TRANSIT_ISSUE - VEHICLE_ISSUE - WEATHER_ISSUE type: string title: LtlCapacityProviderPushStatusReason type: object LtlCapacityProviderPushStatusUpdate: properties: arrivalEstimate: $ref: '#/components/schemas/LtlCapacityProviderPushShipmentArrivalEstimate' carrierIdentifier: $ref: '#/components/schemas/CapacityProviderIdentifier' customerAccount: $ref: '#/components/schemas/CustomerAccount' deliveryAppointmentWindow: $ref: '#/components/schemas/OffsetDateTimeWindow' geoCoordinates: $ref: '#/components/schemas/GeoCoordinates' location: $ref: '#/components/schemas/Location' proIdentifier: $ref: '#/components/schemas/LtlShipmentIdentifier' shipmentIdentifiers: description: >- A list of shipment identifiers that, with the exception of the EXTERNAL type, can be used to track the shipment. At least one identifier of type 'PRO' must be included in the list. The source field cannot be provided in this API. items: $ref: '#/components/schemas/LtlShipmentIdentifier' type: array sourceType: description: >- The original type of data source for where this status update originated from. (default: API) enum: - API - EDI type: string statusCode: description: >- The project44 status code for this status update. This field must always be populated. enum: - READY_FOR_PICKUP - UPDATED_PICKUP_APPT - EXCEPTION - PICKED_UP - ARRIVED_AT_TERMINAL - REWEIGHT_RECLASS - INFO - UPDATED_DELIVERY_APPT - DEPARTED_TERMINAL - OUT_FOR_DELIVERY - DELIVERED type: string statusReason: $ref: '#/components/schemas/LtlCapacityProviderPushStatusReason' stopNumber: description: >- The stop number, where '1' is the origin and the destination has the largest number, with any stops in between ordered by appointment time. format: int32 type: integer stopType: description: >- The type of the shipment stop to which this status update corresponds, if any. For example, a status update with code 'AT_STOP' will typically have this field populated with the stop type the vehicle is at. enum: - ORIGIN - DESTINATION - TERMINAL type: string terminalCode: description: >- The service center's code. For example, the capacity provider's service center in Miami may have a code like 'MIA-123' or 'MIA'. This should match a stop code of one of the shipment stop's stop codes. type: string timestamp: description: >- The timestamp of this status update in the time zone of the location (format: yyyy-MM-dd'T'HH:mm:ssZ). If this status update has no location, the time zone should be UTC. type: string title: LtlCapacityProviderPushStatusUpdate type: object LtlDispatchedShipment: description: Shipment request used to initiate a shipment. properties: accessorialServices: description: >- List of accessorial services to be requested for this shipment. Some capacity providers support accessorial services without providing a way of requesting them through their API. To handle this, project44 sends these accessorial services through the capacity provider's pickup note API field, according to the shipment note configuration. items: $ref: '#/components/schemas/AccessorialService' type: array apiConfiguration: $ref: '#/components/schemas/ShipmentApiConfiguration' capacityProviderAccountGroup: $ref: '#/components/schemas/CapacityProviderAccountGroup' capacityProviderQuoteNumber: description: >- The quote number for this shipment assigned by the capacity provider. Only a few LTL capacity providers accept a quote number when placing a shipment for pickup. Most volume LTL capacity providers, however, require a quote number. type: string carrierCode: description: >- SCAC of the carrier that is to pick up this shipment. Required only for capacity providers that support multiple SCACs. type: string currencyCode: description: >- Line items monetary value currency, contains optional currency code (ex. 'USD'). This functionality is typically used with cross-border shipments. enum: - USD - CAD - MXN - EUR type: string customsInfo: $ref: '#/components/schemas/CustomsInfo' deliveryNote: description: >- Note that applies to the delivery of this shipment. Currently, since nearly all capacity provider APIs have only a pickup note field and not a delivery note field, this delivery note will be inserted into the capacity provider's pickup note API field, according to the shipment note configuration. type: string deliveryWindow: $ref: '#/components/schemas/LocalDateTimeWindow' destinationInvolvedParties: description: >- A list of parties and their identifiers related to the destination location. These are typically your customers receiving freight at the destination. items: $ref: '#/components/schemas/Party' type: array destinationLocation: $ref: '#/components/schemas/Location' directionOverride: description: >- An override of direction for the capacity provider account used by this request, if it has 'Enable API override of direction' set as 'true' in the project44 Self-Service Portal.This functionality is typically used in situations where both inbound and outbound shipments are common for a given capacity provider and account number. enum: - SHIPPER - CONSIGNEE - THIRD_PARTY type: string emergencyContact: $ref: '#/components/schemas/Contact' enhancedHandlingUnits: description: >- A more granular representation of a line item. Required if no lineItems. Allows for order level tracking, more accurate rates, and more detailed BOLs. Currently not supported by all vendors. An enhancedHandlingUnit consists of one or more handling units, e.g. a pallet or a drum, one or more packages (the container on the handling unit e.g. a box), and package contents. NMFC codes and freight classes can be assigned at the handling unit and package level, while package contents can be associated with a DELIVERY_NUMBER, SKU_NUMBER, or PURCHASE_ORDER_NUMBER. Passing in both this field and lineItems is accepted, but at least one is required. items: $ref: '#/components/schemas/HandlingUnit' type: array handlingUnitTypeQuantities: description: >- A list of the quantity of certain handling unit types. If there are multiple types of handling units e.g. pallet, drum, box, the quantity of each handling unit type should be specified. items: $ref: '#/components/schemas/HandlingUnitTypeQuantity' type: array lengthUnit: description: >- Length measurement unit for all length values in this shipment request. (default: 'IN') enum: - IN - CM - FT - M type: string lineItems: description: >- The line items to be shipped.A line item consists of one or more packages, all of the same package type and with the same dimensions, freight class, and NMFC code. Each package, however, may have a different number of pieces and a different weight. Note that each capacity provider has a different maximum number of line items that they can accept. NOTE: This field is similar to, but not the same as, the enhancedHandlingUnits field. The enhancedHandlingUnits fields can contain more detailed information for use by both the carrier and the shipper. items: $ref: '#/components/schemas/LineItem' type: array originInvolvedParties: description: >- A list of parties and their identifiers related to the origin location. These are typically your suppliers providing freight at the origin. items: $ref: '#/components/schemas/Party' type: array originLocation: $ref: '#/components/schemas/Location' paymentTermsOverride: description: >- An override of payment terms for the capacity provider account used by this request, if it has 'Enable API override of payment terms' set as 'true' in the project44 Self-Service Portal. This functionality is typically used in situations where both inbound and outbound shipments are common for a given capacity provider and account number. enum: - PREPAID - COLLECT - THIRD_PARTY type: string pickupNote: description: >- Note that applies to the pickup of this shipment. The shipment note configuration determines the final pickup note that is sent through the capacity provider's API and whether or not part of it may be cut off. type: string pickupWindow: $ref: '#/components/schemas/LocalDateTimeWindow' requesterLocation: $ref: '#/components/schemas/Location' shipmentIdentifiers: description: >- A list of identifiers or reference numbers for this shipment. Most capacity providers accept only identifiers of types 'BILL_OF_LADING', 'PURCHASE_ORDER', and 'CUSTOMER_REFERENCE'. Only one identifier of each type may be provided. An identifier of type 'SYSTEM_GENERATED' may not be provided. An identifier of type 'EXTERNAL' may be provided and subsequently tracked with through project44 -- this identifier will not be communicated to the capacity provider. items: $ref: '#/components/schemas/LtlShipmentIdentifier' type: array totalHandlingUnits: description: >- Total numbers of packaged units that are expected to be shipped. This should match the number of units a driver should be loading onto the truck. format: int32 type: integer totalLinearFeet: description: >- The total linear feet that the shipment being quoted will take up in a trailer. Only for volume LTL shipments. format: int32 type: integer weightUnit: description: >- Weight measurement unit for all weight values in this shipment request. (default: 'LB') enum: - LB - KG type: string title: LtlDispatchedShipment type: object LtlDispatchedShipmentConfirmation: description: >- Confirmation of a shipment to be tendered by a carrier, including assigned shipment identifiers. properties: capacityProviderBolUrl: description: >- URL pointing to a PDF document of the capacity provider's Bill of Lading, if available. type: string id: description: The id of the dispatched shipment. format: int64 type: integer infoMessages: description: >- System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array packingVisualizationUrl: description: >- Customers who have enabled our Volume Visualizer product will find a URL to a PDF document illustrating the optimized item arrangement, for the shipment's total linear footage value. (Example: https://na12.api.project44.com/unauthenticated/linear-feet/pdf/{linearFeetVisualizationId}) type: string pickupDateTime: description: >- The pickup date and time as provided by the capacity provider in the timezone of origin location of the shipment. (format: yyyy-MM-dd'T'HH:mm:ss) format: date-time type: string pickupNote: description: >- The final note that was sent through the capacity provider's pickup note API field, as constructed by project44 according to the requested shipment note configuration. type: string shipmentIdentifiers: description: >- A list of identifiers for the confirmed shipment. Nearly all capacity providers provide a pickup confirmation number, which will appear in this list with type 'PICKUP'. A few capacity providers also provide a PRO number when a shipment is confirmed. Shipment identifiers provided by the customer will show up here, as well. items: $ref: '#/components/schemas/LtlShipmentIdentifier' type: array title: LtlDispatchedShipmentConfirmation type: object LtlImageQuery: description: Request an image of a document related to a shipment. properties: apiConfiguration: $ref: '#/components/schemas/ImageApiConfiguration' capacityProviderAccountGroup: $ref: '#/components/schemas/CapacityProviderAccountGroup' destinationAddress: $ref: '#/components/schemas/Address' documentType: description: A code for the requested image's document type. enum: - BILL_OF_LADING - DELIVERY_RECEIPT - WEIGHT_CERTIFICATE - INVOICE - INSPECTION_CERTIFICATE - LETTER_OF_AUTHORIZATION - LUMPER_CERTIFICATE - PACKING_SLIP type: string imageFormat: description: >- A code for the format of the image to be returned. The capacity provider's image will be converted to this format. (default: 'PNG') enum: - PDF - TIF - PNG - GIF - JPG type: string pickupDate: description: >- The date this shipment was picked up by carrier. Some carriers require this to aid in retrieving documents. (format: yyyy-MM-dd) format: date type: string proNumber: description: PRO number identifying the shipment related to the requested image. type: string title: LtlImageQuery type: object LtlImageReference: description: Reference to an image of a document related to a shipment. properties: documentType: description: A code for this image's document type, matching what was requested. enum: - BILL_OF_LADING - DELIVERY_RECEIPT - WEIGHT_CERTIFICATE - INVOICE - INSPECTION_CERTIFICATE - LETTER_OF_AUTHORIZATION - LUMPER_CERTIFICATE - PACKING_SLIP type: string imageFormat: description: A code for this image's format, matching what was requested. enum: - PDF - TIF - PNG - GIF - JPG type: string imageUrl: description: The web URL for accessing this image. type: string infoMessages: description: >- System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array proNumber: description: >- PRO number identifying the shipment related to the requested image. This may be slightly different than the requested PRO number, depending on the capacity provider (e.g., leading zeros may be missing). type: string title: LtlImageReference type: object LtlShipmentArrivalEstimate: properties: estimatedArrivalWindow: $ref: '#/components/schemas/SplitOffsetDateTimeWindow' title: LtlShipmentArrivalEstimate type: object LtlShipmentCancellation: description: >- Request containing shipment identifiers identifying a shipment dispatch to cancel. properties: apiConfiguration: $ref: '#/components/schemas/LtlShipmentCancellationApiConfiguration' capacityProviderAccountGroup: $ref: '#/components/schemas/CapacityProviderAccountGroup' originAddress: $ref: '#/components/schemas/Address' shipmentIdentifiers: description: >- A list of identifiers of the dispatched LTL shipment to be cancelled. Currently only one can be provided. This may not be provided when cancelling a shipment by the project44-generated id. items: $ref: '#/components/schemas/LtlShipmentIdentifier' type: array title: LtlShipmentCancellation type: object LtlShipmentCancellationApiConfiguration: description: Contains fields used to configure the LTL shipment API. properties: fallBackToDefaultAccountGroup: description: >- If set to 'true' and the provided capacity provider account group code is invalid, the default capacity provider account group will be used. When 'false', an error will be returned if the provided capacity provider account group code is invalid. (default: 'false') type: boolean title: LtlShipmentCancellationApiConfiguration type: object LtlShipmentCancellationConfirmation: description: >- Confirmation of an LTL shipment dispatch cancellation including assigned shipment identifiers of the shipment. properties: infoMessages: description: >- System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array shipmentIdentifiers: description: >- A list of identifiers for the cancelled shipment. Shipment identifiers provided by the customer may show up here, as well. items: $ref: '#/components/schemas/LtlShipmentIdentifier' type: array title: LtlShipmentCancellationConfirmation type: object LtlShipmentIdentifier: properties: type: $ref: '#/components/schemas/LtlShipmentIdentifierType' value: description: The value of the shipment identifier. type: string primaryForType: description: >- Only used in LTL tracking. Whether this is the primary shipment identifier for this type for the given shipment. The primary shipment identifier for a type will always be attempted before other identifiers of that type with the capacity provider. type: boolean source: $ref: '#/components/schemas/LtlShipmentIdentifierSource' description: >- Only used in LTL tracking. Whether this shipment identifier originated from the customer or the capacity provider. If the customer has provided this identifier at any point during the shipment's lifetime, this source will be 'CUSTOMER'. Otherwise, the source will be 'CAPACITY_PROVIDER'. This field is useful for ensuring uniqueness across your shipment identifiers -- you can't control whether duplicates exist among the capacity-provider-sourced identifiers, but you can ensure on your end that all of your provided identifiers are unique and query for unique shipments accordingly. required: - type - value LtlShipmentIdentifierSource: description: >- Only used in LTL tracking. Whether this shipment identifier originated from the customer or the capacity provider. If the customer has provided this identifier at any point during the shipment's lifetime, this source will be 'CUSTOMER'. Otherwise, the source will be 'CAPACITY_PROVIDER'. This field is useful for ensuring uniqueness across your shipment identifiers -- you can't control whether duplicates exist among the capacity-provider-sourced identifiers, but you can ensure on your end that all of your provided identifiers are unique and query for unique shipments accordingly. enum: - CUSTOMER - CAPACITY_PROVIDER format: enum type: string LtlShipmentIdentifierType: description: The type of the shipment identifier. enum: - PRO - BILL_OF_LADING - CUSTOMER_REFERENCE - PICKUP - PURCHASE_ORDER - EXTERNAL format: enum type: string LtlShipmentStatus: properties: imageReferences: description: A list of references to images of documents related to the shipment. items: $ref: '#/components/schemas/LtlTrackedShipmentImageReference' type: array infoMessages: description: >- System messages and messages from the capacity provider with severity "INFO" or "WARNING". Note that no messages with severity "ERROR" will be returned here. items: $ref: '#/components/schemas/Message' type: array latestStatusUpdate: $ref: '#/components/schemas/LtlShipmentStatusUpdate' latestStopStatuses: description: >- The most up-to-date statuses of the vehicle in relation to each stop. One and only one status will always be returned for each stop. If the shipment does not have status "COMPLETED", this list will always contain one and only one stop status with a code of either "EN_ROUTE" or "ARRIVED". items: $ref: '#/components/schemas/LtlShipmentStopStatus' type: array mapUrl: description: Publicly accessible URL to the shipment details page. type: string shipment: $ref: '#/components/schemas/LtlTrackedShipment' statusUpdates: description: If requested, all available shipment status updates. items: $ref: '#/components/schemas/LtlShipmentStatusUpdate' type: array title: LtlShipmentStatus type: object LtlShipmentStatusCollection: properties: infoMessages: description: >- Any system messages that occurred processing this request. Severity will be "INFO" or "WARNING". No messages with severity "ERROR" will be returned here. items: $ref: '#/components/schemas/Message' type: array shipmentStatuses: description: A list of shipment statuses that match the query. items: $ref: '#/components/schemas/LtlShipmentStatus' type: array title: LtlShipmentStatusCollection type: object LtlShipmentStatusReason: properties: code: description: The reason code for the status of the status update. enum: - PICKUP_INFO - PICKED_UP - PICKUP_MISSED - INTERLINE_INFO - INTERLINE_MISSED - DEPARTURE_INFO - DEPARTURE_MISSED - HELD - DELAYED - DELIVERY_INFO - DELIVERY_MISSED - DELIVERY_APPOINTMENT - DELIVERED - EXCEPTION - CANCELED - TIMED_OUT - NOT_RECEIVING_DATA_12_TO_23 - NOT_RECEIVING_DATA_24_TO_47 - NOT_RECEIVING_DATA_48_TO_71 - NOT_RECEIVING_DATA_MORE_THAN_72 type: string description: description: >- A description of the reason for the status of the status update. This description may be provided by the capacity provider. type: string title: LtlShipmentStatusReason type: object LtlShipmentStatusUpdate: properties: address: $ref: '#/components/schemas/Address' exceptionDetailCode: description: >- The exception detail code fot the status update. This will provide more granulatiry then the 'exceptionSummaryCode'. This will only be populated when the status update is an exception. enum: - APPOINTMENT_SET - CANNOT_FIND_CONSIGNEE_ADDRESS - CANNOT_REACH_CONSIGNEE - CONS_CLOSED_FOR_HOLIDAY - CONS_DID_NOT_ORDER_FREIGHT - CONSIGNEE_CANCELED_ORDER - CONSIGNEE_CLOSED - CONSIGNEE_DISPUTES_CHARGES - CREDIT_HOLD - DAMAGED - DAMAGED_ON_DELIVERY - DELIVERY_ATTEMPTED_APPOINTMENT - DELIVERY_ATTEMPTED_NO_DOCK_SPACE - DELIVERY_ATTEMPTED_REAR_LOAD - DELIVERY_REQUIRES_SPECIAL_EQUIPMENT - DELIVERY_SHORTAGE - DUPLICATE_SHIPMENT - EMERGENCY_DELAY_IN_TRANSIT - GENERAL_EXCEPTION - HAZARDOUS_MATERIAL - INCORRECT_ADDRESS_PROVIDED - INVALID_OR_MISSING_PURCHASE_ORDER_NUMBER - LIMITED_ACCESS_LOCATIONS - MISSING_PACKING_LIST - NO_PAYMENT_AVAILABLE_AT_DELIVERY - OVERAGE - PERMANENT_APPOINTMENT_REQUIRED - PROTECTIVE_SERVICE_REQUIRED - RECONSIGNED_TO_NEW_CONSIGNEE - REFUSED_BY_CONS_CANNOT_RECEIVE_ON_DELIVERY_DATE - REFUSED_NO_RETURN_AUTHORIZATION - SHIP_WHEN_CAPACITY_AVAILABLE - SHIPMENT_ALASKA_OR_HAWAII - SHIPMENT_TENDERED_LATE - SHORTAGE - SPOT_MARKET_SHIPMENT - WAITING_INSTRUCTIONS - WEATHER_DELAY - WEATHER_DELAY_CLEARED - WORK_STOPPAGE - WRONG_PRODUCT_SHIPPED type: string exceptionSummaryCode: description: >- The exception summary code for the status update. This will only be populated when the status update is an exception. enum: - APPOINTMENT_ISSUE - BILLING_ISSUE - DELIVERY_ISSUE - OTHER_EXCEPTION - PAPERWORK_ISSUE - SHIPMENT_ISSUE - SPOT_SHIPMENT - STAFFING_ISSUE - TRANSIT_ISSUE - VEHICLE_ISSUE - WEATHER_ISSUE type: string retrievalDateTime: description: >- The date and time that project44 retrieved this status update from the capacity provider, in UTC. Note that this does not represent the time this status was reported by the capacity provider. (format: yyyy-MM-dd'T'HH:mm:ssZ) type: string statusCode: description: >- The project44 status code for this status update. This field will always be populated. enum: - IN_TRANSIT - OUT_TO_STOP - AT_STOP - INFO - COMPLETED type: string statusReason: $ref: '#/components/schemas/LtlShipmentStatusReason' stopId: description: >- The id of the shipment stop to which this status update corresponds, if any exists. For example, a status update with the code 'AT_STOP' will typically have this field populated with the stop id the vehicle is at, if specific stop details are avialable from the capacity provider. format: int64 type: integer stopNumber: description: >- The stop number to which this status update corresponds, if any. For example, a status update with code 'AT_STOP' will typically have this field populated with the stop number the vehicle is at, if specific stop details are avialable from the capacity provider. format: int32 type: integer stopType: description: >- The type of the shipment stop to which this status update corresponds, if any. For example, a status update with code 'AT_STOP' will typically have this field populated with the stop type the vehicle is at, if specific stop details are avialable from the capacity provider. enum: - ORIGIN - DESTINATION - TERMINAL type: string timestamp: $ref: '#/components/schemas/SplitOffsetDateTime' title: LtlShipmentStatusUpdate type: object LtlShipmentStopStatus: properties: arrivalCode: description: >- The approximate arrival status of the vehicle at the stop, as recorded. The arrival status is relative to the user-defined appointment window for the stop. enum: - UNKNOWN - EARLY - ON_TIME - LATE type: string arrivalDateTime: $ref: '#/components/schemas/SplitOffsetDateTime' arrivalEstimate: $ref: '#/components/schemas/LtlShipmentArrivalEstimate' departureDateTime: $ref: '#/components/schemas/SplitOffsetDateTime' statusCode: description: >- The status of the vehicle relative to this stop, whether it is presumed to be currently en route to the stop or whether it has been recorded as having arrived or departed the stop. enum: - UNKNOWN - EN_ROUTE - ARRIVED - DEPARTED type: string stopId: description: The id of the shipment stop to which this status pertains. format: int64 type: integer stopNumber: description: The number of the shipment stop to which this status pertains. format: int32 type: integer stopType: description: The type of the shipment stop to which this status pertains. enum: - ORIGIN - DESTINATION - TERMINAL type: string uuid: description: The uuid is used to match shipment stops and created loads. format: uuid type: string title: LtlShipmentStopStatus type: object LtlTrackedShipment: properties: apiConfiguration: $ref: '#/components/schemas/LtlTrackedShipmentApiConfiguration' capacityProviderAccountGroup: $ref: '#/components/schemas/CapacityProviderAccountGroup' id: description: >- The project44-generated id of the LTL shipment. This may be provided when creating a tracked shipment only if a tracked shipment does not exist with this id but a shipment record does exist in project44's system with this id. This enables linking a dispatched shipment that initially failed to track to its tracking information by passing the id from dispatch. This id will always be returned in the shipment confirmation and may be used in subsequent API calls to reference a shipment. format: int64 type: integer ltlLegId: description: >- The project44-generated id that is the UUID equivalent of id. The same rules apply to this value as applies to the id. format: uuid type: string masterShipmentId: description: >- The project44-generated id that connects multi-leg shipments agnostic of mode. format: uuid type: string shipmentAttributes: description: The list of attributes to associate with the shipment. items: $ref: '#/components/schemas/Attribute' type: array shipmentIdentifiers: description: >- A user-defined list of shipment identifiers that, with the exception of the EXTERNAL type, can be used to track the shipment with the capacity provider. items: $ref: '#/components/schemas/LtlShipmentIdentifier' type: array shipmentStops: description: >- A list of the shipment stops for the shipment. Two and only two stops must be provided -- one of type 'ORIGIN' and one of type 'DESTINATION'. Stops of type 'TERMINAL' may be added as the shipment is tracked and they are discovered via capacity provider information. Note that 'TERMINAL' will be ignored if provided as part of a PUT. items: $ref: '#/components/schemas/LtlTrackedShipmentStop' type: array title: LtlTrackedShipment type: object LtlTrackedShipmentApiConfiguration: properties: fallBackToDefaultAccountGroup: description: >- If set to "TRUE" and the provided capacity provider account group code is invalid, the default capacity provider account group will be used. When false", an error will be returned if the provided capacity provider account group code is invalid. (default: "false") type: boolean title: LtlTrackedShipmentApiConfiguration type: object LtlTrackedShipmentConfirmation: properties: infoMessages: description: >- System messages and messages from the capacity provider with severity "INFO" or "WARNING". No messages with severity "ERROR" will be returned here. items: $ref: '#/components/schemas/Message' type: array shipment: $ref: '#/components/schemas/LtlTrackedShipment' title: LtlTrackedShipmentConfirmation type: object LtlTrackedShipmentImageReference: properties: documentType: description: A code for this image's document type. enum: - BILL_OF_LADING - DELIVERY_RECEIPT - WEIGHT_CERTIFICATE - INVOICE - INSPECTION_CERTIFICATE - LETTER_OF_AUTHORIZATION - LUMPER_CERTIFICATE - PACKING_SLIP type: string imageFormat: description: A code for this image's format. enum: - PDF - TIF - PNG - GIF - JPG type: string imageUrl: description: The web URL for accessing this image. type: string title: LtlTrackedShipmentImageReference type: object LtlTrackedShipmentStop: properties: additionalAppointmentWindows: description: >- Optional user-defined field in which one or many additional appointment windows can be provided on the stop. Note that the start and end times are required for 'appointmentWindow'; the default start time does not apply to this field. On responses, the time zone identifier (for example, 'America/Chicago') for this date time window is determined by project44 when possible based on the stop's address. items: $ref: '#/components/schemas/LtlAdditionalAppointmentWindow' type: array appointmentWindow: $ref: '#/components/schemas/ZonedDateTimeWindow' geoCoordinates: $ref: '#/components/schemas/GeoCoordinates' id: description: >- The id of the stop. This value is read only; it will be ignored on create and update. format: int64 type: integer involvedParties: description: >- A list of parties and their identifiers related to the shipment stop. These are your customers receiving freight at this stop or your suppliers providing freight from this stop. items: $ref: '#/components/schemas/Party' type: array location: $ref: '#/components/schemas/Location' locationIdentifiers: description: >- The identifiers associated with the user-defined stop location, to be used with the Stop Location API. items: $ref: '#/components/schemas/LocationIdentifier' type: array stopDescription: description: Description related to the stop. type: string stopName: description: >- The user-defined or capacity provider-defined name of this stop. This is a freeform field. Project44 will default the name of each stop based on the stop number and type if no other name is available. type: string stopNumber: description: >- The stop number, where "1'" is the origin, and the destination has the largest number, with any stops in between ordered by appointment time. This field may not be provided when creating a shipment. The destination stop number will change dynamically as terminals are discovered along the shipment's route from origin to destination. Thus, the stop type is most useful for easily and reliably identifying the origin and destination. format: int32 type: integer stopType: description: >- The type of this stop. The user-defined stops will always have the type of 'ORIGIN' and 'DESTINATION', which are customer locations. Stops of the type 'TERMINAL', which are capacity provider redistribution centers, may be inserted dynamically as they are returned by the capacity provider. Note that 'TERMINAL' will be ignored if provided as part of a PUT. enum: - ORIGIN - DESTINATION - TERMINAL type: string uuid: description: >- UUID that uniquely identifies a stop. This value is generated by project44 on a successful PUT or POST. format: uuid type: string title: LtlTrackedShipmentStop type: object MarkDetails: properties: pieces: description: Number of pieces in a shipment requiring marking or tagging. type: integer required: - pieces type: object Message: description: Simple representation of an info, warning, or error message. properties: severity: $ref: '#/components/schemas/MessageSeverity' message: description: Message informational text. type: string diagnostic: description: >- Diagnostic information, often originating from the capacity provider. type: string source: $ref: '#/components/schemas/MessageSource' description: >- The originator of this message -- either project44 (the system) or the capacity provider. MessageDto: properties: severity: enum: - ERROR - WARNING - INFO type: string message: type: string diagnostic: type: string source: type: string type: object MessageSeverity: description: The severity of this message. enum: - ERROR - WARNING - INFO format: enum type: string MessageSource: enum: - SYSTEM - CAPACITY_PROVIDER format: enum type: string MessageStatus: description: Indicate if the request was successful and if there were exceptions enum: - PASS - FAIL - WARNING type: string MessageStatusInformation: properties: code: description: Code related to the information. type: string type: description: Type of information related to the message status. type: string message: description: Message related to the information. type: string type: object MobileTrackingEventDetails: description: Details of an event related to a mobile tracking properties: code: description: ${MobileTrackingEventDetails.apiModel.code.value} 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 type: string title: MobileTrackingEventDetails type: object MonetaryValue: description: A monetary value expressing amount and currency type. properties: currency: $ref: '#/components/schemas/Currency' amount: description: The value of the shipment type: number required: - amount - currency MonetaryValueRangeFilter: properties: minimumValue: $ref: '#/components/schemas/MonetaryValue' description: 'Minimum value of this monetary value range. (format: ''1.00'' )' minimumValueInclusive: description: 'Signifies if the minimum value is inclusive. (default: true )' type: boolean maximumValue: $ref: '#/components/schemas/MonetaryValue' description: 'Maximum value of this monetary value range. (format: ''10.00'' )' maximumValueInclusive: description: 'Signifies if the maximum value is inclusive. (default: false )' type: boolean MonthlyCarrierPerformance: properties: deliveryScheduleReliability: description: >- Percentage of tracked shipments in the month that were delivered within 2 hours of the scheduled time format: int32 type: integer month: description: The month (1-12) the enclosed performance data was collected format: int32 type: integer percentTracked: description: >- Percentage of shipments in the month where tracking was initiated which received at least one tracking update format: int32 type: integer pickupScheduleReliability: description: >- Percentage of tracked shipments in the month that were picked up within 2 hours of the scheduled time format: int32 type: integer shipmentVolume: description: Number of shipments tracked in the month enum: - VOLUME_0_TO_10_SHIPMENTS - VOLUME_11_TO_50_SHIPMENTS - VOLUME_51_TO_100_SHIPMENTS - VOLUME_101_OR_MORE_SHIPMENTS type: string year: description: The year of the month the performance data was collected format: int32 type: integer title: MonthlyCarrierPerformance type: object MultiModalImageQuery: description: >- Request an image of a document related to a shipment. This is the same model name as v2/v3, but with slightly different fields. This should be used with the multi-modal imaging endpoint only. properties: apiConfiguration: $ref: '#/components/schemas/ImageApiConfiguration' capacityProviderAccountGroup: $ref: '#/components/schemas/CapacityProviderAccountGroup' destinationAddress: $ref: '#/components/schemas/Address' documentType: description: A code for the requested image's document type. enum: - BILL_OF_LADING - DELIVERY_RECEIPT - WEIGHT_CERTIFICATE - INVOICE - INSPECTION_CERTIFICATE - LETTER_OF_AUTHORIZATION - LUMPER_CERTIFICATE - PACKING_SLIP type: string imageFormat: description: >- A code for the format of the image to be returned. The capacity provider's image will be converted to this format. (default: 'PNG') enum: - PDF - TIF - PNG - GIF - JPG type: string mode: description: >- The transportation mode of the shipment for which images should be retrieved. Only LTL images are supported currently. enum: - PARCEL - LTL - VOLUME_LTL - TRUCKLOAD - OCEAN - RAIL type: string pickupDate: description: >- The date this shipment was picked up by carrier. Some carriers require this to aid in retrieving documents. (format: yyyy-MM-dd) format: date type: string shipmentIdentifiers: description: >- A list of identifiers or reference numbers for this shipment. 'PRO' is the only currently supported identifier type and exactly one value of this type must be provided. items: $ref: '#/components/schemas/ShipmentIdentifier' type: array title: MultiModalImageQuery type: object MultiModalImageReference: description: Reference to an image of a document related to a shipment. properties: documentType: description: A code for this image's document type, matching what was requested. enum: - BILL_OF_LADING - DELIVERY_RECEIPT - WEIGHT_CERTIFICATE - INVOICE - INSPECTION_CERTIFICATE - LETTER_OF_AUTHORIZATION - LUMPER_CERTIFICATE - PACKING_SLIP type: string imageFormat: description: A code for this image's format, matching what was requested. enum: - PDF - TIF - PNG - GIF - JPG type: string imageUrl: description: The web URL for accessing this image. type: string infoMessages: description: >- System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array title: MultiModalImageReference type: object NameWrapper: properties: value: description: The name of the document to search for type: string operator: $ref: '#/components/schemas/Operator' required: - value type: object NmfcCode: description: >- An object that represents the NMFC item code and sub code associated with the shipment contents properties: code: description: >- NMFC item and sub code. Codes can only contain numeric characters and the '-' character. The item code must be 4 to 6 digits long. The '-' and sub code are optional, but if sub code is included it is 1 to 2 digits long. Must be in format XXXXXX-XX. type: string title: NmfcCode type: object Notification: properties: phoneNumber: description: Phone number of contact for updates about shipment movements. type: string email: description: Email address of contact for updates about shipment movements. format: email type: string type: object OAuthError: description: Standard OAuth 2.0 error model. properties: error: description: The type of error that has occurred. enum: - invalid_request - invalid_client - invalid_grant - unauthorized_client - unsupported_grant_type - invalid_scope - access_denied - unsupported_response_type - server_error - temporarily_unavailable type: string error_description: description: A detailed description of the error. type: string support_reference_id: description: >- A reference identifier used by project44 support to assist with certain error messages. type: string title: OAuthError type: object OAuthToken: description: Standard OAuth 2.0 model for returning an access token. properties: access_token: description: >- The project44 access token, which can be passed as a bearer token to all other project44 endpoints to have your client application's requests authorized. Pass the "Authorization" HTTP header to other endpoints in this form: "Authorization: Bearer {access_token}". Your client application can be granted roles and permissions via the project44 user management UI under user "app-{client_id}@client-applications.project44.com". type: string expires_in: description: >- The time in seconds for which the access token will be valid before expiring. Tokens currently last approximately 12 hours, but this is subject to change by project44 in the future. Tokens should be reused by your application to the fullest extent possible for performance and security reasons by storing the token in a secure cache. Instead of using this expiration time to know when to generate a new access token, simply make requests with the token until project44 responds with a "401 Unauthorized" HTTP status code, at which point your application should generate and cache a new one. format: int64 type: integer token_type: description: >- The type of access token returned. This will always be type "BEARER". enum: - BEARER type: string title: OAuthToken type: object OceanAttribute: properties: name: description: The key (name) for the custom attribute. Must be unique. type: string value: type: string values: description: The values for the custom attribute. items: type: string type: array title: OceanAttribute type: object OceanBookingResponseDetails: properties: portsDetails: description: List of ports and arrival dates items: $ref: '#/components/schemas/PortDetails' type: array estimatedFinalDestinationDatetime: description: Estimated time for goods to arrive to destination format: date-time type: string cutOffDetails: $ref: '#/components/schemas/CutOffDetails' type: object OceanBookingType: description: An enumeration. enum: - LESS_THAN_CONTAINER_LOAD - FULL_CONTAINER_LOAD - ROLL_ON_ROLL_OFF - OUT_OF_GAUGE type: string OceanEquipmentIdentifier: properties: type: description: The type of the identifier. enum: - CONTAINER_ID type: string value: description: The value of the identifier. type: string title: OceanEquipmentIdentifier type: object OceanEvent: properties: eventCode: description: The code describing this event. enum: - TRACKING_STARTED - TRACKING_STOPPED - UNKNOWN - GATE_IN_FULL - GATE_IN_EMPTY - GATE_OUT_EMPTY - GATE_OUT - LOADED - EMBARKED - BERTHING - ARRIVED - DISCHARGED - DEPARTED_TERMINAL - BECAME_AVAILABLE - CUSTOMS_HOLD_INITIATED - LINE_HOLD_INITIATED - OTHER_HOLD_INITIATED - CUSTOMS_HOLD_RELEASED - LINE_HOLD_RELEASED - OTHER_HOLD_RELEASED type: string stopNumber: description: >- The number of the stop from the stop array where this state occurred, if applicable. format: int32 type: integer timeStamp: description: >- The date and time when this event occurred. This will be expressed in the ISO-8601 standard with zero timezone offset (UTC) (Format: yyyy-MM-dd'T'HH:mm:ssZ) (Example: 2019-04-16T18:55:47+0500). type: string vesselNumber: description: >- The number of the vessel from the vessel array where this state occurred, if applicable. format: int32 type: integer title: OceanEvent type: object OceanEventDetails: description: Details of an event related to ocean tracking properties: code: description: ${OceanEventDetails.apiModel.code.value} 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 - 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 - ARRIVAL_AT_DESTINATION_CFS - STRIP_AT_DESTINATION_CFS - DEPARTURE_FROM_DESTINATION_CFS - ARRIVAL_AT_IMPORT_WAREHOUSE - DEPARTURE_FROM_IMPORT_WAREHOUSE - PROOF_OF_DELIVERY - 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 type: string title: OceanEventDetails type: object OceanPosition: properties: geoCoordinates: $ref: '#/components/schemas/GeoCoordinates' timeStamp: description: >- The date and time at which this position data was recorded. This will be expressed in the ISO-8601 standard with zero timezone offset (UTC) (Format: yyyy-MM-dd'T'HH:mm:ssZ) (Example: 2019-04-16T18:55:47+0500). type: string vesselNumber: description: >- The number of the vessel from the vessel array which was carrying the container at this position. format: int32 type: integer title: OceanPosition type: object OceanServiceType: description: An enumeration. enum: - CONTAINER_YARD_TO_CONTAINER_YARD - CONTAINER_YARD_TO_DOOR - DOOR_TO_CONTAINER_YARD - DOOR_TO_DOOR type: string OceanShipment: properties: attributes: description: >- An optional user-defined set of custom attributes to associate with this shipment. items: $ref: '#/components/schemas/OceanAttribute' type: array carrierSCACCode: description: >- The SCAC code identifying the carrier transporting the given container. This field is required. type: string equipmentIdentifier: $ref: '#/components/schemas/OceanEquipmentIdentifier' masterShipmentId: description: >- This id links 1 or more legs as part of the same overall shipment. For intermodal shipments, pass an existing masterShipmentId to link this ocean leg to the overall master shipment. Otherwise pass any valid new UUID to create a new shipment. If no masterShipmentId is passed on POST request a new UUID will be generated. This value will always be returned on all responses. format: uuid type: string oceanLegId: description: >- The project44-generated id for the ocean shipment. This id may be used in subsequent API calls to reference a shipment. format: uuid type: string shipmentId: description: >- DEPRECATED: The project44-generated id for tracking an intermodal shipment. This id may be used in subsequent API calls to reference a shipment. This field is deprecated, use masterShipmentId instead. format: uuid type: string shipmentIdentifiers: description: A list of optional identifiers to associate with this shipment. items: $ref: '#/components/schemas/OceanShipmentIdentifier' type: array title: OceanShipment type: object OceanShipmentConfirmation: properties: infoMessages: description: System messages and messages from the capacity provider. items: $ref: '#/components/schemas/Message' type: array shipment: $ref: '#/components/schemas/OceanShipment' title: OceanShipmentConfirmation type: object OceanShipmentIdentifier: properties: type: description: The type of the identifier. enum: - BILL_OF_LADING - BOOKING_NUMBER type: string value: description: The value of the identifier. type: string title: OceanShipmentIdentifier type: object OceanShippingDetails: properties: parties: description: >- Individual shipper-represented groups which are involved with the shipment on this items: $ref: '#/components/schemas/Party' minItems: 1 type: array serviceType: allOf: - $ref: '#/components/schemas/OceanServiceType' description: >- The type of service requested for booking. In other words, is the Carrier expected to handle the shipment between ports or boat-inaccessible yards. bookingType: allOf: - $ref: '#/components/schemas/OceanBookingType' description: >- The type of sea freight to be handled; the container-fill volume, or lack thereof. incoterm: allOf: - $ref: '#/components/schemas/IncotermType' description: >- International Commercial Terms for shipment responsibilities, according to the [ICC](https://iccwbo.org/). cargoMeasurements: allOf: - $ref: '#/components/schemas/CargoMeasurements' description: >- Volume, weight and linear dimensions of the cargo. Required when booking `ROLL_ON_ROLL_OFF` and `LESS_THAN_CONTAINER_LOAD`. containerCount: anyOf: - $ref: '#/components/schemas/FullContainerLoadContainerCount' - $ref: '#/components/schemas/OutOfGaugeContainerCount' description: >- Number of equipment requested for a booking needs to be provided here. Only required when booking `FULL_CONTAINER_LOAD` or `OUT_OF_GAUGE`. accessorials: description: >- Optional list of descriptors which detail any add-ons or declarations applicable which may be noteworthy to the carrier. items: anyOf: - $ref: '#/components/schemas/RefrigeratedAccessorial' - $ref: '#/components/schemas/LiftgateAccessorial' - $ref: '#/components/schemas/TarpsAccessorial' - $ref: '#/components/schemas/StrapsAccessorial' - $ref: '#/components/schemas/ChainsAccessorial' - $ref: '#/components/schemas/DeckHeightAccessorial' - $ref: '#/components/schemas/CraneAccessorial' - $ref: '#/components/schemas/CallBeforeArrivalAccessorial' - $ref: '#/components/schemas/DockRequiredAccessorial' - $ref: '#/components/schemas/LockedGateAccessorial' - $ref: '#/components/schemas/FirstComeFirstServedAccessorial' - $ref: '#/components/schemas/AppointmentRequiredAccessorial' - $ref: '#/components/schemas/WhiteGloveAccessorial' - $ref: '#/components/schemas/HazmatAccessorial' type: array portsDetails: description: List of ports and arrival dates items: $ref: '#/components/schemas/PortDetails' type: array estimatedFinalDestinationDatetime: description: Estimated time for goods to arrive to destination format: date-time type: string cutOffDetails: allOf: - $ref: '#/components/schemas/CutOffDetails' description: ... required: - parties - serviceType - bookingType - incoterm type: object OceanState: properties: endTime: description: >- The date and time when the container left this state. This will be expressed in the ISO-8601 standard with zero timezone offset (UTC) (Format: yyyy-MM-dd'T'HH:mm:ssZ) (Example: 2019-04-16T18:55:47+0500). type: string startTime: description: >- The date and time when the container entered this state. This will be expressed in the ISO-8601 standard with zero timezone offset (UTC) (Format: yyyy-MM-dd'T'HH:mm:ssZ) (Example: 2019-04-16T18:55:47+0500). type: string stateCode: description: The code describing this state. enum: - AT_STOP - IN_TRANSIT - ON_WATER - LINE_HOLD - CUSTOMS_HOLD - OTHER_HOLD - AT_TERMINAL - UNKNOWN type: string stopNumber: description: >- The number of the stop from the stop array where this state occurred, if applicable. format: int32 type: integer vesselNumber: description: >- The number of the vessel from the vessel array where this state occurred, if applicable. format: int32 type: integer title: OceanState type: object OceanStop: properties: address: $ref: '#/components/schemas/Address' arrivalTiming: $ref: '#/components/schemas/Timing' departureTiming: $ref: '#/components/schemas/Timing' geoCoordinates: $ref: '#/components/schemas/GeoCoordinates' id: description: The id of this stop. format: uuid type: string name: description: The name of this port. type: string portCBPCode: description: The Customs and Border Protection code of this port. type: string portLocode: description: >- The UN/LOCODE of this port. 2 char country code + 3 char location code. type: string stopNumber: description: >- The project44-assigned number for this stop. The stop is referenced by this number in the lists of events and states. format: int32 type: integer stopType: description: The type of the stop. enum: - PLACE_OF_ORIGIN - PORT_OF_ORIGIN - PORT_OF_LOADING - TRANSSHIPMENT_PORT - PORT_OF_DISCHARGE - DESTINATION type: string title: OceanStop type: object OceanTrackedContainer: properties: containerId: description: The ISO 6346 compliant number of this container. type: string currency: description: The currency in which the demurrage value is represented. enum: - USD - CAD - MXN - EUR type: string demurrage: description: >- The total reported demurrage charge. This field is set by project44 in the API response. type: number lastFreeDay: description: >- The last day of free storage in which a container can be picked up without paying demurrage. This field is set by project44 in the API response. This will be expressed in the ISO-8601 standard with zero timezone offset (UTC) (Format: yyyy-MM-dd'T'HH:mm:ssZ) (Example: 2019-04-16T00:00:00+0000). type: string title: OceanTrackedContainer type: object OceanTrackedShipment: properties: attributes: description: >- An optional user-defined set of custom attributes to associate with this shipment. items: $ref: '#/components/schemas/OceanAttribute' type: array carrierSCACCode: description: >- The SCAC code identifying the carrier transporting the given container. This field is required. type: string containerDetails: $ref: '#/components/schemas/OceanTrackedContainer' equipmentIdentifier: $ref: '#/components/schemas/OceanEquipmentIdentifier' events: description: >- A list of container events in chronological order, with possible references to the stop and vessel where they occurred. items: $ref: '#/components/schemas/OceanEvent' type: array mapUrl: description: Public link to view the shipment in the VOC. type: string masterShipmentId: description: >- This id links 1 or more legs as part of the same overall shipment. For intermodal shipments, pass an existing masterShipmentId to link this ocean leg to the overall master shipment. Otherwise pass any valid new UUID to create a new shipment. If no masterShipmentId is passed on POST request a new UUID will be generated. This value will always be returned on all responses. format: uuid type: string oceanLegId: description: >- The project44-generated id for the ocean shipment. This id may be used in subsequent API calls to reference a shipment. format: uuid type: string positions: description: >- A list of geoCoordinates and timestamps describing the container's location on the water, with reference to the vessel which carried it. items: $ref: '#/components/schemas/OceanPosition' type: array shipmentId: description: >- DEPRECATED: The project44-generated id for tracking an intermodal shipment. This id may be used in subsequent API calls to reference a shipment. This field is deprecated, use masterShipmentId instead. format: uuid type: string shipmentIdentifiers: description: A list of optional identifiers to associate with this shipment. items: $ref: '#/components/schemas/OceanShipmentIdentifier' type: array states: description: >- A list of container states in chronological order, with possible references to the stop and vessel where they occurred. items: $ref: '#/components/schemas/OceanState' type: array stops: description: >- The list of stops (origin port, destination port, or transhipment ports) in this shipment. items: $ref: '#/components/schemas/OceanStop' type: array vessels: description: A list of vessels being tracked within this shipment. items: $ref: '#/components/schemas/OceanVessel' type: array title: OceanTrackedShipment type: object OceanTrackedShipmentConfirmation: properties: infoMessages: description: System messages and messages from the capacity provider. items: $ref: '#/components/schemas/Message' type: array trackedShipment: $ref: '#/components/schemas/OceanTrackedShipment' title: OceanTrackedShipmentConfirmation type: object OceanVessel: properties: callSign: description: >- The alphanumeric value that uniquely identifies the vessel being tracked. This field is set by project44 in the API response. type: string draught: description: >- The draught of the vessel being tracked. This determines the minimum depth of water the vessel can safely navigate. This field is set by project44 in the API response. type: number imo: description: >- The IMO (International Maritime Organization) number representing the vessel being tracked. format: int64 type: integer length: description: >- The length of the vessel being tracked. This field is set by project44 in the API response. type: number lengthUnit: description: The unit of measure for length, width, and draught. enum: - IN - CM - FT - M type: string mmsi: description: >- The MMSI (Maritime Mobile Service Identity) value that uniquely identifies the vessel being tracked. This field is set by project44 in the API response. format: int64 type: integer name: description: >- The name of the vessel being tracked. This field is set by project44 in the API response. type: string shipType: description: >- The type of the vessel being tracked. This field is set by project44 in the API response. type: string vesselNumber: description: >- The project44-assigned number for this vessel. The vessel is referenced by this number in the lists of events, states and positions. format: int32 type: integer width: description: >- The width of the vessel being tracked. This field is set by project44 in the API response. type: number title: OceanVessel type: object OffsetDateTimeRangeFilter: description: A date and time range filter, with time zone offset. properties: startDateTime: description: >- Start Date time of this range with timezone offset. (format: 'yyyy-MM-dd'T'HH:mm:ssZ' ) format: date-time type: string startDateTimeInclusive: description: 'Signifies if the start date time is inclusive. (default: true)' type: boolean endDateTime: description: >- End Date time of this range with timezone offset. (format: 'yyyy-MM-dd'T'HH:mm:ssZ' ) format: date-time type: string endDateTimeInclusive: description: 'Signifies if the end date time is inclusive. (default: false)' type: boolean OffsetDateTimeWindow: description: A date and time range, with time zone offset. properties: startDateTime: description: >- Start time of this window with timezone offset. (format: yyyy-MM-dd'T'HH:mm:ssZ) format: date-time type: string endDateTime: description: >- End time of this window with timezone offset. (format: yyyy-MM-dd'T'HH:mm:ssZ) format: date-time type: string OpeningHours: properties: appliesFriday: description: Whether this set of OpeningHours applies on Fridays. type: boolean appliesMonday: description: Whether this set of OpeningHours applies on Mondays. type: boolean appliesSaturday: description: Whether this set of OpeningHours applies on Saturdays. type: boolean appliesSunday: description: Whether this set of OpeningHours applies on Sundays. type: boolean appliesThursday: description: Whether this set of OpeningHours applies on Thursdays. type: boolean appliesTuesday: description: Whether this set of OpeningHours applies on Tuesdays. type: boolean appliesWednesday: description: Whether this set of OpeningHours applies on Wednesdays. type: boolean closes: description: Local closing time of this location, formatted as HH:mm. type: string opens: description: Local opening time of this location, formatted as HH:mm. type: string required: - closes - opens title: OpeningHours type: object Operator: description: An enumeration. enum: - EQUALS - NOT_EQUALS - CONTAINS type: string OrderCustomAttribute: properties: name: type: string values: items: type: string type: array title: OrderCustomAttribute type: object OrderDurationRange: properties: fromDuration: $ref: '#/components/schemas/TimeDuration' fromInclusive: type: boolean toDuration: $ref: '#/components/schemas/TimeDuration' toInclusive: type: boolean title: OrderDurationRange type: object OrderHealthCriteria: properties: dateRanges: items: $ref: '#/components/schemas/OrderHealthDateCriteria' type: array deltas: items: $ref: '#/components/schemas/OrderHealthDeltaCriteria' type: array durationRange: $ref: '#/components/schemas/OrderDurationRange' shipmentStatus: enum: - UNKNOWN - EARLY - ON_TIME - LATE type: string title: OrderHealthCriteria type: object OrderHealthDateCriteria: description: >- To match orders based on target date range for estimated time of arrival. When operator is ON_OR_AFTER, now + offsetMinutes or the startDateTime is used as the date. When operator is ON_OR_BEFORE, now + offsetMinutes or the endDateTime is used as the date. Construct absolute ranges with both startDateTime and endDateTime with null offsetMinutes. Construct relative ranges with offsetMinutes, where negative offset indicates time before now and positive offset indicates time after now. Example: Now and the following 10 days => offsetMinutes: 14400, operator: WITHIN. Example: The last 5 hours: offsetMinutes: -300, operator: WITHIN. Example: Before 8 hours from now: offsetMinutes: 480, operator: ON_OR_BEFORE. properties: endDateTime: description: >- The end of the period in which the estimated time of arrival is expected to be. type: string offsetMinutes: description: >- Duration in minutes defines the target range to match the estimated time of arrival. format: int64 type: integer operator: description: >- Operator to define the target range to match the estimated time of arrival. enum: - WITHIN - ON_OR_BEFORE - ON_OR_AFTER type: string startDateTime: description: >- The start of the period in which the estimated time of arrival is expected to be. type: string title: OrderHealthDateCriteria type: object OrderHealthDeltaCriteria: description: >- Match orders on the duration of the arrival status, also known as the delta between planned delivery window and estimated arrival of an order. The value is represented in minutes and must be non-negative. RUNNING_EARLY implies that the estimated arrival is before the planned delivery window RUNNING_LATE implies that the estimated arrival is after the planned delivery window To query orders that hit the delivery window, use EQUALS 0 minutes. Note that this matches only orders that are on time. For example, RUNNING_LATE with EQUALS 0 minutes will match on-time orders, but will not match orders that are running early. Example: RUNNING_EARLY by LESS_THAN 60 minutes Example: RUNNING_LATE by MORE_THAN 1440 minutes (1 day) properties: operator: description: Operator for the value. enum: - MORE_THAN - LESS_THAN - EQUALS type: string type: description: >- Type of delta to match the duration between the planned and the estimated time of arrival. enum: - RUNNING_EARLY - RUNNING_LATE type: string value: description: >- Duration in minutes defines the period between the planned and the estimated time of arrival. format: int64 type: integer title: OrderHealthDeltaCriteria type: object OrderIdentifier: properties: type: enum: - PURCHASE_ORDER - SALES_ORDER - WAREHOUSE_MOVEMENT_ORDER - ADVANCED_SHIPMENT_NOTICE - INVOICE type: string value: type: string type: object OrderIdentifierReference: properties: orderId: description: Project44 generated id for the order. type: string orderIdentifier: description: Value of order identifier. Has length between 1 and 50. type: string orderIdentifierAuthority: description: >- The authority is the party responsible for managing creation of the order identifier. Either null or has length between 1 and 50. type: string orderType: description: Type of the order. Required. enum: - PURCHASE_ORDER - SALES_ORDER - WAREHOUSE_MOVEMENT_ORDER - ADVANCED_SHIPMENT_NOTICE - INVOICE type: string title: OrderIdentifierReference type: object OrderSupplier: properties: id: type: string name: type: string type: object OrderTag: properties: type: enum: - ANALYST - CARRIER - CATEGORY - COMMODITY - DEPARTMENT - DIRECTOR - FAMILY - GROUP - MANAGER - SECTOR type: string value: type: string description: type: string type: object OutOfGaugeContainerCount: properties: twentyFootContainerCount: default: 0 description: Count of 20ft flat-rack containers type: integer fortyFootContainerCount: default: 0 description: Count of 40ft flat-rack containers type: integer type: object Package: description: >- An object that represents the physical package e.g. a box on a handling unit. properties: contact: $ref: '#/components/schemas/Contact' description: description: A brief description of the package and its contents. type: string freightClass: description: The freight class in this package. enum: - '50' - '55' - '60' - '65' - '70' - '77.5' - '85' - '92.5' - '100' - '110' - '125' - '150' - '175' - '200' - '250' - '300' - '400' - '500' type: string involvedParties: description: >- A list of parties and their identifiers related to the line item. These are your customers receiving this line item or your suppliers providing this line item. items: $ref: '#/components/schemas/Party' type: array nmfcCodes: description: A list of the NMFC codes associated with this shipment. items: $ref: '#/components/schemas/NmfcCode' type: array packageContainerType: description: The type of the package. enum: - BAG - BALE - BOX - BUCKET - PAIL - BUNDLE - CAN - CARTON - CASE - COIL - CRATE - CYLINDER - EACH - FLAT - LOOSE - ROLL - TUBE type: string packageContents: description: A description of the items contained in the package. items: $ref: '#/components/schemas/PackageContents' type: array packageDimensions: $ref: '#/components/schemas/CubicDimension' packageQuantity: description: The number of packages on the handling unit identical to this one. format: int32 type: integer weightPerPackage: description: Weight per package. type: number title: Package type: object PackageContainerType: description: Enumeration of supported package type codes. enum: - BAG - BALE - BOX - BUCKET - BUNDLE - CAN - CARTON - CASE - COIL - CRATE - CYLINDER - EACH - FLAT - LOOSE - PAIL - ROLL - TUBE type: string PackageContentIdentifier: description: An identifier for the package contents. properties: type: description: The type of the package content identifier. enum: - PURCHASE_ORDER_NUMBER - SKU_NUMBER - DELIVERY_NUMBER type: string value: description: The value of the package content identifier. type: string title: PackageContentIdentifier type: object PackageContents: description: >- An object that represents the contents contained in the package on the handling unit. Meant to assist . properties: countryOfManufacture: description: Country of manufacture of line item. enum: - US - CA - MX - AG - BB - BS - BZ - CR - CU - DM - DO - GD - GT - HN - HT - JM - KN - LC - NI - PA - SV - TT - VC - AI - AW - BL - BM - BQ - CW - GL - GP - KY - MF - MQ - MS - PM - PR - SX - TC - UM - VG - VI - AT - BE - BG - CY - CZ - DK - DE - EE - ES - FI - FR - GB - GR - HR - HU - IE - IT - LT - LU - LV - MT - NL - PL - PT - RO - SE - SK - SI - CH - IS - LI - 'NO' - AL - ME - MK - RS - TR - AD - AX - BA - BV - BY - FO - GG - GI - IM - IO - JE - MC - MD - SJ - SM - TF - UA - VA - AE - AF - AM - AZ - BD - BH - BN - BT - CN - GE - HK - ID - IL - IN - IQ - IR - JO - JP - KG - KH - KP - KR - KW - KZ - LA - LB - LK - MM - MN - MO - MV - MY - NP - OM - PH - PK - PS - QA - RU - SA - SG - SY - TH - TJ - TL - TM - TW - UZ - VN - YE - AO - BF - BI - BJ - BW - CD - CF - CG - CI - CM - CV - DJ - DZ - EG - EH - ER - ET - GA - GH - GM - GN - GQ - GW - HM - KE - KM - LR - LS - LY - MA - MG - ML - MR - MU - MW - MZ - NA - NE - NG - RE - RW - SC - SD - SH - SL - SN - SO - SS - ST - SZ - TD - TG - TN - TZ - UG - YT - ZA - ZM - ZW - AR - BO - BR - CL - CO - EC - FK - GF - GS - GY - PE - PY - SR - UY - VE - AS - AU - CC - CK - CX - FJ - FM - GU - KI - MH - MP - NC - NF - NR - NU - NZ - PF - PG - PN - PW - SB - TK - TO - TV - VU - WF - WS - AQ - EL - UK - XK - XS - XI type: string description: description: A brief description of the contents. type: string hazmatDetails: description: >- Required if the contents are hazardous materials. Provides important information about the hazardous materials to be transported, as required by the US Department of Transportation (DOT). items: $ref: '#/components/schemas/HazmatDetails' type: array packageContentIdentifiers: description: The identifiers associated with the contents. items: $ref: '#/components/schemas/PackageContentIdentifier' type: array packageContentQuantity: description: The number of items contained in the package. format: int32 type: integer title: PackageContents type: object PackageType: default: PLT description: 'Type of packages composing this line item. (default: ''PLT'')' enum: - BAG - BALE - BOX - BUCKET - BUNDLE - CAN - CARTON - CASE - COIL - CRATE - CYLINDER - DRUM - PAIL - PLT - PIECES - REEL - ROLL - SKID - TOTE - TUBE format: enum type: string PaginationInfo: description: Pagination information about a collection of resources. properties: total: description: Total number of resource items matching the supplied criteria. format: int64 type: integer pageSize: description: Page size matching the PaginationParameters. format: int32 type: integer pageNumber: description: Matching page number given the supplied PaginationParameters. format: int32 type: integer PaginationParameters: description: Parameters which define a requested page of resources. properties: pageSize: description: >- The max number of items returned in a collection of resources. This value should be at least one. format: int32 maximum: 1000 minimum: 1 type: integer pageNumber: description: >- The page of items that should be returned for a collection of resources. The min value should be one, and the max value should be less than the number of total pages for the collection. The page number is combined with the page size. format: int32 minimum: 1 type: integer ParcelCapacityProviderPushStatusUpdate: properties: carrierIdentifier: $ref: '#/components/schemas/CapacityProviderIdentifier' description: description: A description of the reason for the status of the status update. type: string estimatedTimeOfArrival: description: Latest estimated arrival time to the final stop. type: string eventType: description: >- The event corresponding to the status update that is being submitted. Certain events require a combination of fields to be submitted. For example: a POSITION_UPDATE event requires the location to be submitted, and the ETA eventrequires the estimatedTimeOfArrival to be submitted. Events may not require any additional information outside of the event type. An EXCEPTION eventdoes not require any additional information outside of the already required fields on the request. enum: - POSITION_UPDATE - ETA - EXCEPTION - DELIVERY_MISSED - LOADED_FOR_DELIVERY - OUT_FOR_DELIVERY - RETURN_TO_SENDER - SHIPMENT_RECEIVED - SHIPMENT_CREATED - AVAILABLE_FOR_PICKUP - PICKED_UP - ARRIVED_AT_STOP - DEPARTED_STOP - DELIVERED - CANCELED - DELAYED - HELD type: string location: $ref: '#/components/schemas/ParcelLocation' shipmentIdentifiers: description: >- A list of shipment identifiers that can be used to track the shipment. items: $ref: '#/components/schemas/ParcelShipmentIdentifier' type: array timestamp: description: >- The timestamp of this status update. (format: yyyy-MM-dd'T'HH:mm:ssZ). type: string title: ParcelCapacityProviderPushStatusUpdate type: object ParcelLocation: description: A parcel location object. properties: address: $ref: '#/components/schemas/Address' contact: $ref: '#/components/schemas/Contact' geoCoordinates: $ref: '#/components/schemas/GeoCoordinates' title: ParcelLocation type: object ParcelShipment: description: A parcel shipment object. properties: apiConfiguration: $ref: '#/components/schemas/ParcelShipmentApiConfiguration' capacityProviderAccountGroup: $ref: '#/components/schemas/CapacityProviderAccountGroup' id: description: >- The project44-generated id for the shipment. This may not be provided when creating a shipment, but will always be returned in the shipment confirmation. This id may be used in subsequent API calls to reference a shipment. format: int64 type: integer masterShipmentId: description: >- The project44-generated id for the shipment. This ID may be used when this shipment passes between different modes.This may not be provided when creating a shipment, but will always be returned in the shipment confirmation. format: uuid type: string parcelLegId: description: >- Identifies the leg of the journey. Each piece of equipment has a unique id for each mode that it travels on.This id may be used in subsequent API calls to reference this shipment leg. format: uuid type: string shipmentAttributes: description: >- A user-defined list of shipment attributes that are associated with the shipment items: $ref: '#/components/schemas/Attribute' type: array shipmentIdentifiers: description: >- A user-defined list of shipment identifiers that are unique to this shipment and carrier identifier. These may be used in subsequent API calls along with the carrier identifier to reference a shipment. They may also be used by project44 to track the shipment. Only one shipment identifier of each type may be provided. Currently, parcel tracking only accepts shipment identifier with type 'TRACKING_NUMBER'. items: $ref: '#/components/schemas/ParcelShipmentIdentifier' type: array shipmentStops: description: >- A list of shipment stops that allow the ability to specify appointment windows items: $ref: '#/components/schemas/ParcelShipmentStop' type: array title: ParcelShipment type: object ParcelShipmentApiConfiguration: description: Contains fields used to configure the Parcel shipment API. properties: fallBackToDefaultAccountGroup: description: >- If set to 'true' and the provided capacity provider account group code is invalid, the default capacity provider account group will be used. When 'false', an error will be returned if the provided capacity provider account group code is invalid. (default: 'false') type: boolean title: ParcelShipmentApiConfiguration type: object ParcelShipmentConfirmation: description: Parcel shipment confirmation for a single package. properties: infoMessages: description: >- System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array shipment: $ref: '#/components/schemas/ParcelShipment' shipments: description: >- The created shipment or shipments, including project44-calculated shipment stop details and the project44 id of the shipment. This will contain all shipments that were created including the one originally requested. If this is a multi-package shipment additional shipments will be created, one for each package. items: $ref: '#/components/schemas/ParcelShipment' type: array title: ParcelShipmentConfirmation type: object ParcelShipmentDeleteConfirmation: description: Parcel shipment delete confirmation. properties: infoMessages: items: $ref: '#/components/schemas/Message' type: array title: ParcelShipmentDeleteConfirmation type: object ParcelShipmentIdentifier: properties: type: description: Parcel shipment identifier type. enum: - TRACKING_NUMBER type: string value: description: Parcel shipment identifier type. type: string title: ParcelShipmentIdentifier type: object ParcelShipmentState: properties: actualDeliveryTimestamp: type: string createdAtTimestamp: type: string estimatedDeliveryTimestamp: type: string id: format: int64 type: integer masterShipmentId: format: uuid type: string parcelLegId: format: uuid type: string pickedUpTimestamp: type: string shipmentAttributes: description: >- A user-defined list of shipment attributes that are associated with the shipment items: $ref: '#/components/schemas/Attribute' type: array shipmentIdentifiers: items: $ref: '#/components/schemas/ParcelShipmentIdentifier' type: array shipmentStops: description: >- A list of shipment stops that allow the ability to specify appointment windows items: $ref: '#/components/schemas/ParcelShipmentStop' type: array title: ParcelShipmentState type: object ParcelShipmentStatus: properties: latestStatusUpdate: $ref: '#/components/schemas/ParcelShipmentStatusUpdate' shipment: $ref: '#/components/schemas/ParcelShipmentState' statusUpdates: items: $ref: '#/components/schemas/ParcelShipmentStatusUpdate' type: array title: ParcelShipmentStatus type: object ParcelShipmentStatusReason: properties: code: description: The code that further describes the status event. enum: - DELAYED - DELIVERED - CANCELED - HELD - EXCEPTION - DELIVERY_MISSED - DELIVERY_APPOINTMENT - RETURN_TO_SENDER - AVAILABLE_FOR_PICKUP - NOT_FOUND - SHIPMENT_CREATED - PICKED_UP - NONE - RECEIVED - ARRIVED - DEPARTED - LOADED_FOR_DELIVERY - OUT_FOR_DELIVERY - TIMED_OUT - UNKNOWN type: string description: description: The description of the status event provided by the carrier. type: string title: ParcelShipmentStatusReason type: object ParcelShipmentStatusUpdate: properties: address: $ref: '#/components/schemas/Address' appointmentWindow: $ref: '#/components/schemas/ZonedDateTimeWindow' geoCoordinates: $ref: '#/components/schemas/GeoCoordinates' localTimeZone: description: Local time zone of where the status event took place. type: string retrievalDateTime: description: The dateTime that p44 received the status event from the carrier. type: string statusCode: description: >- The status code for this status update. This field will always be populated. enum: - INFO - PRE_TRANSIT - AT_STOP - IN_TRANSIT - OUT_TO_STOP - COMPLETED type: string statusReason: $ref: '#/components/schemas/ParcelShipmentStatusReason' stopId: description: The id of stop that the status event occurred at. Optional. format: int64 type: integer stopType: description: The type of stop that the status event occurred at. Optional. enum: - ORIGIN - DESTINATION - TERMINAL type: string timestamp: description: >- The datetime the carrier provided signifying when a status event occurred. type: string title: ParcelShipmentStatusUpdate type: object ParcelShipmentStop: description: A parcel shipment stop object. properties: appointmentWindow: $ref: '#/components/schemas/ZonedDateTimeWindow' id: description: The id of this stop. Response only field. format: int64 type: integer location: $ref: '#/components/schemas/ParcelLocation' parcelShipmentStopType: description: The type of stop that the appointment window references. enum: - ORIGIN - DESTINATION - TERMINAL type: string title: ParcelShipmentStop type: object ParcelWebhookEndpoint: description: A parcel webhook endpoint. properties: includeFullHistory: description: Include full update history type: boolean password: description: Specify password if endpoint requires authentication. type: string showLatestUpdate: description: Separately show latest update type: boolean url: description: >- URL to which a POST request will be made with the content of the status update for a specific parcel shipment. type: string username: description: Specify username if endpoint requires authentication. type: string required: - includeFullHistory - showLatestUpdate title: ParcelWebhookEndpoint type: object Party: description: >- A party to a shipment or the supply chain -- i.e., a supplier, retailer, etc. properties: partyIdentifiers: description: >- A list of identifiers of the party to a shipment. Currently, only a single account identifier is supported. items: $ref: '#/components/schemas/PartyIdentifier' type: array xml: wrapped: true required: - partyIdentifiers PartyIdentifier: description: >- An identifier of a party to a shipment or the supply chain -- e.g., the account number of a customer. properties: type: $ref: '#/components/schemas/PartyIdentifierType' value: description: The value of the party identifier -- e.g., 3593518362. maxLength: 100 minLength: 0 type: string required: - type - value PartyIdentifierType: description: The type of party identifier -- e.g., account number. enum: - ACCOUNT format: enum type: string PatchDocument: properties: name: description: The name of this document. type: string type: allOf: - $ref: '#/components/schemas/DocumentType' description: The type of this document. identifiers: description: The list of identifiers related to this document. items: $ref: '#/components/schemas/Identifier' type: array type: object Payment: properties: terms: allOf: - $ref: '#/components/schemas/PaymentTerms' description: Freight Billing Terms for the shipment. required: - terms type: object PaymentTerms: description: An enumeration. enum: - Prepaid - Collect - Third Party type: string PickupAppointmentDetails: properties: start: description: >- Starting appointment date (with or without time) the shipment is requested to be picked up.Required when accessorials.code list includes APTP.Valid Formats: YYYY-MM-DDTHH:mm:ss.sss (ISO 8601) format: date-time type: string end: description: >- Ending appointment date (with or without time) the shipment is requested to be picked up.Valid Formats: YYYY-MM-DDTHH:mm:ss.sss (ISO 8601) format: date-time type: string type: object Po: properties: number: description: The Purchase Order number. type: string pieces: description: Total pieces associated with the Purchase Order. type: integer weight: description: Total weight associated with the Purchase Order. type: integer palletized: description: >- Indicates whether or not the pieces associated with the purchase order are on a pallet/slip/skid or not. type: boolean additionalShipperInfo: description: Additional information from shipper per line item. type: string type: object PodDischargeLoad: properties: date: description: The first date in this timespan, in ISO-8601 format type: string podDischargeP25: description: >- For p44 tracked containers, the 25th percentile of days between the discharge event and gate-out event. format: double type: number podDischargeP50: description: >- For p44 tracked containers, the median of days between the discharge event and gate-out event. format: double type: number podDischargeP75: description: >- For p44 tracked containers, the 75th percentile of days between the discharge event and gate-out event. format: double type: number podLoadP25: description: >- For p44 tracked containers, the 25th percentile of days between the gate-in event and vessel load event. format: double type: number podLoadP50: description: >- For p44 tracked containers, the median of days between the gate-in event and vessel load event. format: double type: number podLoadP75: description: >- For p44 tracked containers, the 75th percentile of days between the gate-in event and vessel load event. format: double type: number title: PodDischargeLoad type: object PortDetails: properties: portType: allOf: - $ref: '#/components/schemas/PortType' description: Port type location: allOf: - $ref: >- #/components/schemas/p44__common_models__location__location__Location description: The location of the port. estimatedDatetime: description: >- Date and Time connected to the port.When Port type is PORT_OF_LOADING then it's estimated departure date and time from origin portWhen Port type is PORT_OF_DISCHARGE then it's estimated arrival date and time at destination port format: date-time type: string required: - portType - estimatedDatetime type: object PortIntelligence: properties: anchorMonthly: description: >- Days between vessels arriving within 50nmi of port and mooring at berth, aggregated by calender month. items: $ref: '#/components/schemas/DateQuartiles' type: array anchorWeekly: description: >- Days between vessels arriving within 50nmi of port and mooring at berth, aggregated by calender week. items: $ref: '#/components/schemas/DateQuartiles' type: array approachingDaily: description: Number of vessels having the port as their destination. items: $ref: '#/components/schemas/VesselSchedule' type: array berthingMonthly: description: >- Days between vessels mooring and unmooring, aggregated by calender month. items: $ref: '#/components/schemas/DateQuartiles' type: array berthingWeekly: description: >- Days between vessels mooring and unmooring, aggregated by calender week. items: $ref: '#/components/schemas/DateQuartiles' type: array dwellMonthly: description: >- Days spent by p44 tracked containers dwelling in port, aggregated by calender month. items: $ref: '#/components/schemas/PodDischargeLoad' type: array dwellWeekly: description: >- Days spent by p44 tracked containers dwelling in port, aggregated by calender week. items: $ref: '#/components/schemas/PodDischargeLoad' type: array portLocode: description: The UN/LOCODE of the port. type: string portName: description: The name of the port. type: string title: PortIntelligence type: object PortIntelligenceCollection: properties: ports: description: List of port intelligence summaries. items: $ref: '#/components/schemas/PortIntelligence' type: array title: PortIntelligenceCollection type: object PortType: description: An enumeration. enum: - PORT_OF_LOADING - PORT_OF_DISCHARGE - TRANSSHIPMENT_PORT type: string PrimaryShipmentIdentifier: properties: type: enum: - CONTAINER_ID - BILL_OF_LADING - HOUSE_BILL_OF_LADING - BOOKING_NUMBER - SERIAL_NUMBER - VEHICLE_IDENTIFICATION_NUMBER - ORDER - PRO - TRACKING_NUMBER - AIR_WAYBILL - HOUSE_AIR_WAYBILL - RAIL_CAR_ID - WAYBILL - TRAIN_NUMBER - WAGON_ID - UNKNOWN type: string value: type: string required: - type - value type: object ProNumberBlockDto: properties: blockEnd: format: int64 type: integer blockStart: format: int64 type: integer currentProNumber: format: int64 type: integer remainingProsInBlock: format: int64 type: integer vendorId: type: string title: ProNumberBlockDto type: object ProNumberBlockVendorIdDto: properties: blockEnd: format: int64 type: integer blockStart: format: int64 type: integer checkDigit: format: int64 type: integer vendorId: type: string title: ProNumberBlockVendorIdDto type: object ProNumberIdentifier: description: A ProNumber response object. properties: proNumber: description: The generated ProNumber. type: string vendorId: description: The name of the vendor for which the ProNumber was generated. type: string title: ProNumberIdentifier type: object ProNumberQuery: description: A ProNumber request object. properties: apiConfiguration: $ref: '#/components/schemas/ProNumberQueryApiConfiguration' capacityProviderAccountGroup: $ref: '#/components/schemas/CapacityProviderAccountGroup' originLocation: $ref: '#/components/schemas/Address' title: ProNumberQuery type: object ProNumberQueryApiConfiguration: description: Contains fields used to configure the PrePro Query API. properties: fallBackToDefaultAccountGroup: description: >- If set to 'true' and the provided capacity provider account group code is invalid, the default capacity provider account group will be used. When 'false', an error will be returned if the provided capacity provider account group code is invalid. (default: 'false') type: boolean title: ProNumberQueryApiConfiguration type: object QualityControlEventDetails: description: Details of an event related to a quality control properties: code: description: ${QualityControlEventDetails.apiModel.code.value} 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 type: string title: QualityControlEventDetails type: object QuantityKind: additionalProperties: false properties: count: description: Required number of units. type: integer size: description: Required dimensions of one unit. type: number unit: allOf: - $ref: '#/components/schemas/LengthUnit' description: Measuring unit. required: - count - size - unit type: object RailAddress: description: A postal address. properties: pointName: description: >- Name of this point. Usually a city name but may also be the name of the junction, yard, or facility type: string state: description: Abbreviation of state, province, district, etc. type: string title: RailAddress type: object RailArrivalEstimate: properties: estimatedArrivalCode: description: The approximate arrival status, as estimated. enum: - UNKNOWN - EARLY - ON_TIME - LATE type: string estimatedArrivalWindow: $ref: '#/components/schemas/OffsetDateTimeWindow' lastCalculatedDateTime: description: 'When this eta was last computed. (format: yyyy-MM-dd''T''HH:mm:ssZ)' type: string title: RailArrivalEstimate type: object RailEquipment: properties: equipmentIdentifier: $ref: '#/components/schemas/RailEquipmentIdentifier' title: RailEquipment type: object RailEquipmentIdentifier: properties: type: description: The type of the equipment identifier. enum: - CONTAINER_ID - TRAILER_ID - RAIL_CAR_ID type: string value: description: The value of the equipment identifier. type: string title: RailEquipmentIdentifier type: object RailEquipmentStatus: properties: equipment: $ref: '#/components/schemas/RailEquipment' equipmentRouteSegments: description: Describe the route taken by this piece of equipment to each stop. items: $ref: '#/components/schemas/TrackedShipmentRouteSegment' type: array latestStatusUpdate: $ref: '#/components/schemas/RailEquipmentStatusUpdate' latestStopStatuses: description: >- The most up-to-date statuses of the equipment in relation to each stop. One and only one status will always be returned for each stop. If the equipment does not have status 'COMPLETED' or 'DISPATCHED', this list will always contain one and only one stop status with a code of either 'EN_ROUTE' or 'ARRIVED'. items: $ref: '#/components/schemas/RailEquipmentStopStatus' type: array statusUpdates: description: If requested, all available equipment status updates. items: $ref: '#/components/schemas/RailEquipmentStatusUpdate' type: array title: RailEquipmentStatus type: object RailEquipmentStatusUpdate: properties: address: $ref: '#/components/schemas/RailAddress' clmEventCode: description: The 4-digit Event Code from the Rail Car Location Message. type: string clmSightingCode: description: The 1-digit Sighting Code from the Rail Car Location Message. type: string geoCoordinates: $ref: '#/components/schemas/GeoCoordinates' statusCode: description: >- The status code for this status update. This field will always be populated. enum: - DISPATCHED - IN_TRANSIT - AT_STOP - COMPLETED - UNAUTHORIZED type: string statusReason: $ref: '#/components/schemas/RailStatusReason' stopNumber: description: >- The stop number to which this status update corresponds, if any. This will be populated if the location of this update matches the location for a stop. format: int32 type: integer timestamp: description: >- The timestamp of this status update in the time zone of the location. If this status update has no location, this timestamp will be in UTC. A time zone offset will always be provided. This field will always be populated. type: string trainIdentifier: description: Train identifier that the rail event occurred on. type: string title: RailEquipmentStatusUpdate type: object RailEquipmentStopStatus: properties: arrivalCode: description: >- The approximate arrival status of the shipment at the stop, as recorded. enum: - UNKNOWN - EARLY - ON_TIME - LATE type: string arrivalDateTime: description: >- The recorded arrival time of the shipment at this stop, if available. This time will always be in the time zone of the stop, and a time zone offset will always be provided. type: string arrivalEstimate: $ref: '#/components/schemas/RailArrivalEstimate' departureDateTime: description: >- The recorded departure time of the shipment from this stop, if available. This time will always be in the time zone of the stop, and a time zone offset will always be provided. type: string stopNumber: description: The number of the shipment stop to which this status pertains. format: int32 type: integer stopStatusCode: description: >- The status of the shipment relative to this stop -- whether it is presumed to be currently en route to the stop or whether it has been recorded as having arrived or departed the stop. enum: - UNKNOWN - EN_ROUTE - ARRIVED - DEPARTED type: string title: RailEquipmentStopStatus type: object RailLocation: description: A physical location. properties: address: $ref: '#/components/schemas/RailAddress' id: description: The project44-generated id for this location. type: string title: RailLocation type: object RailShipment: properties: equipmentIdentifiers: description: >- A user-defined list of equipment identifiers identifying rail equipment to be tracked as part of this shipment. This includes container ids and rail car ids. A rail shipment may only have 1 equipment identifier items: $ref: '#/components/schemas/RailEquipmentIdentifier' type: array id: description: >- DEPRECATED: The project44-generated id for the rail shipment. This may not be provided when creating a shipment, but will always be returned in the shipment confirmation. This id may be used in subsequent API calls to reference a shipment. This field is deprecated, use railLegId instead. format: int64 type: integer masterShipmentId: description: >- This id links 1 or more legs as part of the same overall shipment. For intermodal shipments, pass an existing masterShipmentId to link this rail leg to the overall master shipment. Otherwise pass any valid new UUID to create a new shipment. If no masterShipmentId is passed on POST request a new UUID will be generated. This value will always be returned on all responses. format: uuid type: string railLegId: description: >- Identifies the leg of the journey. Each piece of equipment has a unique id for each mode that it travels on.This id may be used in subsequent API calls to reference this shipment leg. format: uuid type: string shipmentIdentifiers: description: >- A user-defined list of shipment identifiers that are unique to this shipment. You must pass in either a shipment identifier or a tracking start date time. items: $ref: '#/components/schemas/RailShipmentIdentifier' type: array shipmentStops: description: Contains the shipment's origin and destination. items: $ref: '#/components/schemas/RailShipmentStop' type: array trackingStartDateTime: description: >- Tracking for this shipment will begin at this time. This should be set to the time when your shipment has been loaded into the container or rail car. Cannot be more than 90 days in the past or 90 days in the future. You must pass in either a shipment identifier or a tracking start date time. type: string title: RailShipment type: object RailShipmentConfirmation: properties: infoMessages: description: >- System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array shipment: $ref: '#/components/schemas/RailShipment' title: RailShipmentConfirmation type: object RailShipmentIdentifier: properties: type: description: The type of the shipment identifier. enum: - BILL_OF_LADING - WAYBILL type: string value: description: The value of the shipment identifier. type: string title: RailShipmentIdentifier type: object RailShipmentStatus: properties: equipmentStatuses: description: Status for each piece of equipment attached to this shipment. items: $ref: '#/components/schemas/RailEquipmentStatus' type: array infoMessages: description: >- System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array shipment: $ref: '#/components/schemas/RailShipment' title: RailShipmentStatus type: object RailShipmentStop: properties: appointmentWindow: $ref: '#/components/schemas/ZonedDateTimeWindow' geoCoordinates: $ref: '#/components/schemas/GeoCoordinates' id: description: Project44 defined stop id. Always returned on response. format: uuid type: string location: $ref: '#/components/schemas/RailLocation' stopName: description: >- The optionally user-defined stop name of this stop. This is a freeform field. If no name is provided Project44 will default the name of each stop based on the address or stop number. type: string stopNumber: description: >- The user-defined stop number, where '1' is the origin and '2' is the destination. format: int32 type: integer type: description: >- How this stop relates to the shipment. This field must be null or absent when creating a shipment. The stop type will be determined by project44. enum: - UNKNOWN - ORIGIN - DESTINATION - TRANSFER - OTHER - PORT_OF_LOADING - TRANSSHIPMENT_PORT - PORT_OF_DISCHARGE - PICKUP - DELIVERY - RETURN - WAREHOUSE - HUB - AIRPORT type: string title: RailShipmentStop type: object RailStatusReason: properties: code: description: >- The reason code for the status of the status update. A status of 'DISPATCHED' will have one of the following reason codes: 'SCHEDULED' or 'ACQUIRING_LOCATION'. A status of 'IN_TRANSIT' will have one of the following reason codes: 'IN_MOTION' or 'IDLE'. A status of 'AT_STOP' will have one of the following reason codes: 'LOADED_ONTO_TRAIN', 'WAITING_TO_BE_UNLOADED', or 'UNLOADED' A status of 'COMPLETED' will have one of the following reason codes: 'TIMED_OUT', 'CANCELED', 'WAYBILL_CHANGED', or 'DEPARTED_FINAL_STOP'. enum: - UNKNOWN - SCHEDULED - ACQUIRING_LOCATION - IN_MOTION - IDLE - ARRIVED - IN_GATE - RAMPED - DERAMPED - NOTIFIED - OUT_GATE - DEPARTED_STOP - TIMED_OUT - CANCELED - DEPARTED_FINAL_STOP - WAYBILL_CHANGED - UNAUTHORIZED type: string description: description: >- A description of the reason for the status of the status update. This field is free-form text and should not be parsed. type: string title: RailStatusReason type: object RateIdentifier: description: >- The source which stands as the root for the rate on a booking. Usually, this means the price attached to the booking came from a spot-quote or a Contract. This field is intended as an link between the booking and that source. properties: source: $ref: '#/components/schemas/RateIdentifierSource' type: $ref: '#/components/schemas/RateIdentifierType' value: description: The ID of the rate source. type: string required: - source - type type: object RateIdentifierSource: description: >- The type of reference to the original source of the rate which applies to a booking. A `SYSTEM` identifier is internal to p44; an `EXTERNAL` identifier is known by a non-p44 system. enum: - SYSTEM - EXTERNAL - UNKNOWN type: string RateIdentifierType: description: The type of rate identifier enum: - SPOT_QUOTE - CONTRACT type: string RateQuote: description: A rate quote from a single carrier. properties: alternateRateQuotes: description: >- A list of alternate rate quotes from this capacity provider, if provided. These are typically rate quotes for other service levels the provider offers (e.g., guaranteed service levels). items: $ref: '#/components/schemas/AlternateRateQuote' type: array capacityProviderAccountGroup: $ref: '#/components/schemas/CapacityProviderAccountGroup' capacityProviderQuoteNumber: description: The capacity provider's identifier for this rate quote, if provided. type: string carrierCode: description: >- SCAC of the carrier to which this rate quote applies. This is used to differentiate among rate quotes from capacity providers that support multiple SCACs. type: string contractId: description: >- This field is returned only for rate quotes from some brokers. It identifies the contract between the broker and capacity provider used to generate this rate quote. This can be used by other brokers or customers to gain access to that rate with the same capacity provider. type: string currencyCode: description: The currency code for all monetary values in this rate quote. enum: - USD - CAD - MXN - EUR type: string currencyConversionAuditInfo: $ref: '#/components/schemas/CurrencyConversionAuditInfo' deliveryDateTime: description: >- The delivery date and time for this rate quote in the timezone of the destination location, if provided. (format: yyyy-MM-dd'T'HH:mm:ss) format: date-time type: string errorMessages: description: >- System messages and messages from the capacity provider with severity 'ERROR'. No messages with severity 'INFO' or 'WARNING' will be returned here. items: $ref: '#/components/schemas/Message' type: array infoMessages: description: >- System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array laneType: description: >- Whether the shipment being quoted will stay within the carrier's network ('DIRECT' for a direct lane) or be tendered to another carrier before reaching its destination ('INTERLINE' for an interline lane), if indicated. (default: 'UNSPECIFIED') enum: - DIRECT - INTERLINE - UNSPECIFIED type: string preferredCurrencyCode: description: >- The currency code preferred for all monetary values with the suffix 'inPreferredCurrency' in this rate quote. enum: - USD - CAD - MXN - EUR type: string preferredSystemOfMeasurement: description: >- The preferred system of measurement for all values with a unit in this rate quote. The default behavior is to return the unit of measurement specified by the carrier in the response. enum: - METRIC - IMPERIAL type: string quoteEffectiveDateTime: description: >- The effective date and time for this quote, if provided.(format: yyyy-MM-dd'T'HH:mm:ss) format: date-time type: string quoteExpirationDateTime: description: >- The date and time this quote expires with the capacity provider, if provided. (format:yyyy-MM-dd'T'HH:mm:ss) format: date-time type: string rateQuoteDetail: $ref: '#/components/schemas/RateQuoteDetail' requestedAccessorialServices: description: >- A list of all accessorial services that were requested and their outcomes in this rate quote. items: $ref: '#/components/schemas/RequestedAccessorialService' type: array serviceLevel: $ref: '#/components/schemas/ServiceLevel' transitDays: description: >- The number of service days to deliver the shipment being quoted after it is picked up, if provided. format: int32 type: integer transitDaysRange: $ref: '#/components/schemas/IntegerRange' title: RateQuote type: object RateQuoteApiConfiguration: description: Contains fields used to configure the rate quote API. properties: accessorialServiceConfiguration: $ref: '#/components/schemas/AccessorialServiceConfiguration' enableUnitConversion: description: >- If set to 'true', weight and length values in this rate quote query will be converted when necessary to the capacity provider's supported units. When 'false', an error will be returned for each capacity provider that does not support the provided weight and length units. (default: 'false') type: boolean fallBackToDefaultAccountGroup: description: >- If set to 'true' and the provided capacity provider account group code is invalid, the default capacity provider account group will be used. When 'false', an error will be returned if the provided capacity provider account group code is invalid. (default: 'false') type: boolean timeout: description: >- Number of seconds to wait for a capacity provider to return a rate quote. The max effective value is 60 seconds. (default: '15') format: int32 type: integer title: RateQuoteApiConfiguration type: object RateQuoteCollection: description: Container for a list of rate quotes returned by a rate quote query. properties: rateQuotes: description: List of rate quotes from all capacity providers requested. items: $ref: '#/components/schemas/RateQuote' type: array title: RateQuoteCollection type: object RateQuoteDetail: description: >- Pricing details for this rate quote, including the total, subtotal, and a breakdown of charges, if provided. properties: charges: description: >- A list of individual charges making up the total, if provided. Not returned for alternate rate quotes. items: $ref: '#/components/schemas/Charge' type: array subtotal: description: Subtotal prior to discounts, if provided. type: number subtotalInPreferredCurrency: description: Subtotal in preferred currency prior to discounts, if provided. type: number total: description: The final total for this quote. type: number totalInPreferredCurrency: description: The final total for this quote, in preferred currency. type: number title: RateQuoteDetail type: object RateQuoteQuery: description: >- A request for rate quotes from one or more capacity providers based on the provided shipment characteristics and location information. properties: accessorialServices: description: List of accessorial services to be quoted for this shipment. items: $ref: '#/components/schemas/AccessorialService' type: array apiConfiguration: $ref: '#/components/schemas/RateQuoteApiConfiguration' capacityProviderAccountGroup: $ref: '#/components/schemas/CapacityProviderAccountGroup' deliveryWindow: $ref: '#/components/schemas/LocalDateTimeWindow' destinationAddress: $ref: '#/components/schemas/Address' directionOverride: description: >- An override of direction for all capacity provider accounts used by this request that have 'Enable API override of direction' set as 'true' in the project44 Self-Service Portal.This functionality is typically used in situations where both inbound and outbound shipments are common for a given capacity provider and account number. enum: - SHIPPER - CONSIGNEE - THIRD_PARTY type: string enhancedHandlingUnits: description: >- A more granular representation of a line item. Required if no lineItems. Allows for order level tracking, more accurate rates, and more detailed BOLs. Currently not supported by all vendors. An enhancedHandlingUnit consists of one or more handling units, e.g. a pallet or a drum, one or more packages (the container on the handling unit e.g. a box), and package contents. NMFC codes and freight classes can be assigned at the handling unit and package level, while package contents can be associated with a DELIVERY_NUMBER, SKU_NUMBER, or PURCHASE_ORDER_NUMBER. Passing in both this field and lineItems is accepted, but at least one is required. items: $ref: '#/components/schemas/HandlingUnit' type: array lengthUnit: description: >- Length measurement unit for all length values in this rate quote query. (default: 'IN') enum: - IN - CM - FT - M type: string lineItems: description: >- The line items composing the shipment to be quoted. A line item consists of one or more packages, all of the same package type and with the same dimensions, freight class, and NMFC code. Each package, however, may have a different number of pieces and a different weight. Note that each capacity provider has a different maximum number of line items that they can quote. NOTE: This field is similar to, but not the same as, the enhancedHandlingUnits field. The handling units fields can contain more detailed information for use by both the carrier and the shipper. Passing in both this field and enhancedHandlingUnit is accepted, but at least one is required. items: $ref: '#/components/schemas/LineItem' type: array originAddress: $ref: '#/components/schemas/Address' paymentTermsOverride: description: >- An override of payment terms for all capacity provider accounts used by this request that have 'Enable API override of payment terms' set as 'true' in the project44 Self-Service Portal. This functionality is typically used in situations where both inbound and outbound shipments are common for a given capacity provider and account number. enum: - PREPAID - COLLECT - THIRD_PARTY type: string pickupWindow: $ref: '#/components/schemas/LocalDateTimeWindow' preferredCurrency: description: >- The currency that you would like the rate quote to be returned in. If the currency is supported by the carrier, it will be returned in both the default currency and preferred currency fields. If the carrier does not support the requested currency, we will convert it on behalf of the carrier using the current exchange rate. The preferred currency will be returned in the “preferred currency” fields within the response. The carrier’s original currency will be returned in the default currency fields within the response. Exchange rate information will also be returned in the response for audit purposes. enum: - USD - CAD - MXN - EUR type: string preferredSystemOfMeasurement: description: >- The preferred system of measurement for all values with a unit in this rate quote. The default behavior is to return the unit of measurement specified by the carrier in the response. enum: - METRIC - IMPERIAL type: string totalLinearFeet: description: >- The total linear feet that the shipment being quoted will take up in a trailer. Required only for volume LTL shipments. Customers who have enabled our Volume Visualizer product may submit rate requests without providing a value for totalLinearFeet. Linear footage will be automatically calculated, based on line item details, and submitted with your rate request. If a value is provided for totalLinearFeet, it will be submitted with the request and no calculation will be performed. format: int32 type: integer weightUnit: description: >- Weight measurement unit for all weight values in this rate quote query. (default: 'LB') enum: - LB - KG type: string title: RateQuoteQuery type: object ReeferContainerCount: properties: twentyFootContainerCount: default: 0 description: Count of 20ft flat-rack containers type: integer fortyFootContainerCount: default: 0 description: Count of 40ft flat-rack containers type: integer fortyFootHighCubeCount: default: 0 description: Count of 40ft flat-rack high-cube containers type: integer type: object ReferenceNumbers: properties: pro: description: >- Shipper's pre-assigned PRO number for the requested carrier. If not provided, one will be auto assigned by the carrier. type: string quoteId: description: >- Quote (estimate) number provided by the carrier after submitting a rate quote request. type: string shipmentId: description: Shipment Id (SID) number for the shipment. type: string masterBol: description: Master Bill of Lading number for the shipment. type: string bol: description: A list of Bill of Lading identifiers. items: type: string type: array po: description: A list of purchase orders. items: $ref: '#/components/schemas/Po' type: array additionalReferences: description: >- A list of additional references. It is required to provide an additional references with 'CAPACITY_PROVIDER_ACCOUNT_CODE' and 'CAPACITY_PROVIDER_ACCOUNT_GROUP_CODE' names accompanied with appropriate values to reference correct carrier and credentials. items: $ref: '#/components/schemas/AdditionalReference' type: array required: - additionalReferences type: object RefrigeratedAccessorial: additionalProperties: false description: >- Accessorial which defines the acceptable temperature range for a transportation container. properties: code: enum: - REFRIGERATED type: string details: allOf: - $ref: '#/components/schemas/TempRangeKind' description: Required temperature range. required: - code - details type: object RelatedLoadItemDescriptionFilter: description: >- Match shipments based on the value of the related load items' descriptions. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. Example: (loadItem.description EQUALS [A OR B OR C]) AND (loadItem.description EQUALS [D OR F]) properties: values: items: type: string type: array operator: enum: - EQUALS - NOT_EQUALS - CONTAINS type: string required: - values type: object RelatedLoadItemIdentifierFilter: description: >- Match shipments based on the type and value of the related load items' identifiers. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. For each item, filters are generated for both the type and values, and they are combined using an AND operator. Example: (loadItem.identifier.type EQUALS X AND loadItem.identifier.value EQUALS [A OR B OR C]) AND (loadItem.identifier.type EQUALS Y AND loadItem.identifier.value EQUALS [D OR F]) properties: types: items: type: string enum: - SKU - UPC type: array values: items: type: string type: array operator: enum: - EQUALS - NOT_EQUALS - CONTAINS type: string type: object RelatedOrderAdditionalIdentifierFilter: description: >- Match shipments based on the type and value of their related orders' additional identifiers. Either types or values must be present for each criterion. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. For each item, filters are generated for both the types and values, and they are combined using an AND operator. The types and values criteria within each filter must be met by the same additional identifier, but distinct filters in this array may be satisfied by different additional identifiers in the same shipment. Example: (order.additionalIdentifier.type EQUALS [X OR Y] AND order.additionalIdentifier.type EQUALS [A OR B OR C]) AND (order.additionalIdentifier.type EQUALS [Z] AND order.additionalIdentifier.value EQUALS [D OR F]) properties: types: items: type: string enum: - CONTRACT - LOAD - MANUFACTURER - PROMOTION - SEASON - VENDOR - LAUNCH_CODE type: array values: items: type: string type: array operator: enum: - EQUALS - NOT_EQUALS - CONTAINS type: string type: object RelatedOrderDateFilter: description: >- Match shipments based on their related orders' datetimes, relative to a target range. Valid combinations of parameters are as follows: Within two absolute datetimes: WITHIN + startDateTime + endDateTime Before an absolute datetime: ON_OR_BEFORE + endDateTime After an absolute datetime: ON_OR_AFTER + startDateTime Between now and now +- X minutes: WITHIN + offsetMinutes Before now +- X minutes: ON_OR_BEFORE + offsetMinutes After now +- X minutes: ON_OR_AFTER + offsetMinutes properties: type: enum: - SUPPLIER_READY_START_DATETIME - SUPPLIER_READY_END_DATETIME - ORIGINAL_DELIVERY_START_DATETIME - ORIGINAL_DELIVERY_END_DATETIME - LAUNCH_DATETIME - ORIGINAL_DELIVERY_ESTIMATE_DATETIME type: string startDateTime: format: date-time type: string endDateTime: format: date-time type: string offsetMinutes: description: >- This field may not be populated alongside startDateTime or endDateTime. If operator is WITHIN and this is populated, the value must be non-zero. format: int64 type: integer operator: enum: - WITHIN - ON_OR_BEFORE - ON_OR_AFTER type: string required: - type type: object RelatedOrderDeltaFilter: description: >- Match shipments on the difference between planned delivery window and estimated arrival of a related order. The value is represented in minutes and must be non-negative. RUNNING_EARLY implies that the estimated arrival is before the planned delivery window. RUNNING_LATE implies that the estimated arrival is after the planned delivery window. To query orders that hit the delivery window, use EQUALS 0 minutes. Note that this matches only orders that are on time. For example, RUNNING_LATE with EQUALS 0 minutes will match on-time orders, but will not match orders that are running early. Example: RUNNING_EARLY by LESS_THAN 60 minutes Example: RUNNING_LATE by MORE_THAN 1440 minutes (1 day) properties: type: enum: - RUNNING_EARLY - RUNNING_LATE type: string durationInMinutes: format: int64 minimum: 0 type: integer operator: enum: - MORE_THAN - MORE_THAN_OR_EQUALS - LESS_THAN - LESS_THAN_OR_EQUALS - EQUALS - NOT_EQUALS - EXISTS - NOT_EXISTS type: string required: - type - durationInMinutes type: object RelatedOrderIdentifierFilter: description: >- Match shipments based on the type and value of the related orders' identifiers. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. For each item, filters are generated for both the type and values, and they are combined using an AND operator. Example: (orders.identifier.type EQUALS X AND orders.identifier.value EQUALS [A OR B OR C]) AND (orders.identifier.type EQUALS Y AND orders.identifier.value EQUALS [D OR F]) properties: type: enum: - PURCHASE_ORDER - SALES_ORDER - WAREHOUSE_MOVEMENT_ORDER - ADVANCED_SHIPMENT_NOTICE - INVOICE type: string values: items: type: string type: array operator: enum: - EQUALS - NOT_EQUALS - CONTAINS type: string required: - type - values type: object RelatedOrderIdentifierTypeFilter: description: >- Match shipments based on the identifier type of related orders. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. Example: (orders.identifier.type EQUALS [A OR B OR C]) Example: (orders.identifier.type NOT_EQUALS A) AND (orders.identifier.type NOT_EQUALS B) properties: types: items: type: string enum: - PURCHASE_ORDER - SALES_ORDER - WAREHOUSE_MOVEMENT_ORDER - ADVANCED_SHIPMENT_NOTICE - INVOICE type: array operator: description: >- Only the EQUALS and NOT_EQUALS operators are supported for this criterion. enum: - EQUALS - NOT_EQUALS - CONTAINS type: string required: - types type: object RelatedOrderInternalIdFilter: description: >- Match shipments based on the internal order ID of related orders. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. Example: (orders.id EQUALS [A OR B OR C]) Example: (orders.id NOT_EQUALS A) AND (orders.id NOT_EQUALS B) properties: values: items: type: string type: array operator: description: >- Only the EQUALS and NOT_EQUALS operators are supported for this criterion. enum: - EQUALS - NOT_EQUALS - CONTAINS type: string required: - values type: object RelatedOrderSupplierIdFilter: description: >- Match shipments based on the supplier ID(s) of its related orders. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. Example: (order.supplier.name EQUALS [A OR B OR C]) Example: (order.supplier.name CONTAINS A) AND (order.supplier.name NOT_EQUALS CAT) properties: values: items: type: string type: array operator: enum: - EQUALS - NOT_EQUALS - CONTAINS type: string required: - values type: object RelatedOrderTagFilter: description: >- Match shipments based on the type and value of their related orders' tags. Either types or values must be present for each criterion. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. For each item, filters are generated for both the types and values, and they are combined using an AND operator. The types and values criteria within each filter must be met by the same tag, but distinct filters in this array may be satisfied by different tags in the same shipment. Example: (order.tag.type EQUALS [X OR Y] AND order.tag.type EQUALS [A OR B OR C]) AND (order.tag.type EQUALS [Z] AND order.tag.value EQUALS [D OR F]) properties: types: items: type: string enum: - ANALYST - CARRIER - CATEGORY - COMMODITY - DEPARTMENT - DIRECTOR - FAMILY - GROUP - MANAGER - SECTOR type: array values: items: type: string type: array operator: enum: - EQUALS - NOT_EQUALS - CONTAINS type: string type: object RemitTo: properties: name: description: Name of the remit to company. type: string address1: description: Primary Address line of the remit to company. type: string address2: description: Secondary Address of the remit to company. type: string city: description: City Name of the remit to company. type: string stateProvince: allOf: - $ref: '#/components/schemas/StateProvinceCode' description: Two letter state/province code of the remit to company. postalCode: description: >- The 5-digit (or 6-characters for Canada) zip code of the remit to company. maxLength: 6 minLength: 5 type: string country: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_models__ebol__ltl__country_codes__CountryCode description: Three letter country code for the destination location. type: object RequestEbol: description: As a shipper, request a eBOL from a carrier. properties: bol: allOf: - $ref: '#/components/schemas/Bol' description: >- BOL object containing requested pickup date, function, test,requestor role and optional special instructions. version: description: >- Indicates which minor version of the Digital LTL Council Bill of Lading spec you are consuming Valid values: 2.0.0, 2.0.1, 2.1.0 type: string images: allOf: - $ref: '#/components/schemas/Images' description: >- Indicate if you want ebol or shipping labels returned in the response notifications: description: >- Include if you want notifications of shipment movements by text message or email. items: $ref: '#/components/schemas/Notification' type: array referenceNumbers: allOf: - $ref: '#/components/schemas/ReferenceNumbers' description: >- Reference numbers related to the shipment such as Pro, QuoteId, MasterBol etc. payment: allOf: - $ref: '#/components/schemas/Payment' description: >- Payment terms related to the shipment such as Prepaid, Collect or Third Party. commodities: allOf: - $ref: '#/components/schemas/Commodities' description: Commodities related to the shipment. shipmentTotals: allOf: - $ref: '#/components/schemas/ShipmentTotals' description: Measurements related to the shipment. accessorials: allOf: - $ref: '#/components/schemas/Accessorial' description: A list of accessorials related to the shipment. origin: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_public__ebol__ltl__ebol__Location description: A location where the related shipment's pickup should happen. destination: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_public__ebol__ltl__ebol__Location description: A location where related shipment's delivery should happen. billTo: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_public__ebol__ltl__ebol__Location description: A location where related shipment's billing should happen. customsBroker: allOf: - $ref: '#/components/schemas/CustomsBroker' description: >- Optional field to reference customs broker for cross-border shipments. required: - bol - version - referenceNumbers - payment - commodities - origin - destination - billTo type: object RequestedAccessorialService: description: >- An accessorial service requested in a rate quote query and its outcome in the resulting rate quote. properties: code: description: >- The code for the requested accessorial service. A list of accessorial service codes supported by project44 is provided in the API reference data section. type: string status: description: >- The status of the requested accessorial service -- whether or not it is reflected in the total. An outcome of 'ACCEPTED' means the capacity provider accepted the requested accessorial service, included it in their quote total, and provided a charge breakdown. An outcome of 'ACCEPTED_UNITEMIZED' means the capacity provider most likely accepted the requested accessorial service and included it in their quote total, but did not provide a verifiable charge breakdown. An outcome of 'UNACCEPTED' means the capacity provider did not accept the requested accessorial and it is not reflected in the quote total. enum: - ACCEPTED - ACCEPTED_UNITEMIZED - UNACCEPTED type: string title: RequestedAccessorialService type: object RequestorRoleCode: description: An enumeration. enum: - Shipper - Consignee - Third Party type: string RouteInfo: description: The stops and route for the shipment. properties: stops: description: All stops associated with this shipment. items: $ref: '#/components/schemas/Stop' minItems: 2 type: array routeSegments: description: >- Contains information about how the shipment moves from each stop to the next. items: $ref: '#/components/schemas/RouteSegment' minItems: 1 type: array required: - stops - routeSegments type: object RouteSegment: description: |- A portion of the journey through which a shipment is meant to travel, defined by its nodes: the 'to' and 'from' stops. properties: id: description: >- The id of this route segment. Will always be populated on response if not provided. format: uuid type: string fromStopId: description: The starting stop of this route segment. format: uuid type: string toStopId: description: The ending stop of this route segment. format: uuid type: string required: - fromStopId - toStopId type: object RouteSegmentResponse: description: >- The carrier-approved dates at which they expect to depart and arrive at each location requested. properties: routeSegmentId: description: The ID of the route-segment. format: uuid type: string fromDate: description: >- The date which the carrier commits to depart from the route-segment origin. format: date type: string toDate: description: >- The date which the carrier commits to arrive at the route-segment destination. format: date type: string required: - routeSegmentId - fromDate - toDate type: object RouteSegmentWithStops: description: |- A portion of the journey through which a shipment is meant to travel, defined by its nodes: the 'to' and 'from' stops. properties: id: description: >- The id of this route segment. Will always be populated on response if not provided. format: uuid type: string fromStop: allOf: - $ref: '#/components/schemas/Stop' description: The starting stop of this route segment. toStop: allOf: - $ref: '#/components/schemas/Stop' description: The ending stop of this route segment. required: - id - fromStop - toStop type: object ServiceLevel: description: >- The service level offered by the capacity provider (e.g., standard or guaranteed). properties: code: description: The project44 code for this service level. enum: - STD - EXPEDITE - EXPEDITE17 - EXPEDITEAM - GURWIN - GSSING - GSMUL - GSFM - GS8 - GS9 - GS10 - GS11 - GSAM - GS14 - GS15 - GS1530 - GUR - ACCELERATED - CAPLOAD - UNKNOWN type: string description: description: >- A description of this service level, often originating from the capacity provider. type: string title: ServiceLevel type: object SharingContext: description: >- This model is populated when the data is shared across tenants, it conditionally describes which tenant(s) are involved with the shared data using tenant name and tenant UUID. properties: dataOriginators: description: >- This is a list of the tenant(s) that created the shared data, it will be visible on all shared versions of the data. items: $ref: '#/components/schemas/DataOriginator' type: array uniqueItems: true xml: wrapped: true recipients: description: This is a list of the tenant(s) to whom the data is shared. items: $ref: '#/components/schemas/DataRecipient' type: array uniqueItems: true xml: wrapped: true type: object ShipmentAdditionalField: description: >- Select non-default fields to return, such as Reference Keys (Custom Attributes) For fields like Custom Attributes (Key:Value pairs) only those pairs with keys included in the keys array will be returned For non-Custom Attribute AdditionalFields, leaving the keys array empty will return all values However, Custom Attributes must always have keys specified The keys array is not a search criterion, it is only used to filter final result columns (not rows)! Given a Shipment with ID 1, containing Custom Attributes { A : C } , and { D : E }, searching with a ShipmentSearchCriteria: (ID EQUALS 1) with AdditionalFields (CUSTOM_ATTRIBUTES, Keys: [ B,D ] Shipment 1 will be returned, but only Custom Attribute {D:E} will come with it. Because (ID EQUALS 1) generates a hit for the row, and column {A:C} is omitted by additionalFields. properties: type: enum: - CUSTOM_ATTRIBUTES type: string keys: items: type: string type: array type: object ShipmentApiConfiguration: description: Contains fields used to configure the shipment API. properties: allowUnsupportedAccessorials: description: >- If set to 'true', accessorial services that are not known to be supported by the capacity provider will be allowed and will be sent through the capacity provider's pickup note API field, according to the shipment note configuration. This is useful when the customer knows that a capacity provider supports an accessorial service that they have not documented, or when the customer has a special agreement with the capacity provider. (default: 'false') type: boolean enableUnitConversion: description: >- If set to 'true', weight and length values in this shipment request will be converted when necessary to the capacity provider's supported units. When 'false', an error will be returned and the shipment will not be placed with the capacity provider if the capacity provider does not support the provided weight and length units. (default: 'false') type: boolean fallBackToDefaultAccountGroup: description: >- If set to 'true' and the provided capacity provider account group code is invalid, the default capacity provider account group will be used. When 'false', an error will be returned if the provided capacity provider account group code is invalid. (default: 'false') type: boolean noteConfiguration: $ref: '#/components/schemas/ShipmentNoteConfiguration' pickupOnly: description: >- If set to 'true', will not request a BOL for this shipment, and will only transmit pickup information to the carrier. Cannot be requested with 'PrescheduledPickup'. (default: 'false') type: boolean preScheduledPickup: description: >- If set to 'true', will identify the pickup for this shipment as being already scheduled, and will only transmit BOL information to the carrier. Cannot be requested with 'PickupOnly'. (default: 'false') type: boolean title: ShipmentApiConfiguration type: object ShipmentAttribute: description: Contains a key and value for custom attributes. properties: name: description: The name for an attribute. Must be unique. type: string predefined: type: boolean value: description: The value for an attribute. type: string values: description: The values for an attribute. items: type: string type: array title: ShipmentAttribute type: object ShipmentAttributeDefinition: description: Name of an attribute to be defined properties: name: description: The name for an attribute. Must be unique. type: string title: ShipmentAttributeDefinition type: object ShipmentAttributeDefinitionCollection: description: An attribute that has been defined via the provided endpoint properties: shipmentAttributeDefinitions: description: A list of objects each containing the name of an attribute items: $ref: '#/components/schemas/ShipmentAttributeDefinition' type: array title: ShipmentAttributeDefinitionCollection type: object ShipmentAttributeDefinitionConfirmation: description: >- Name of an attribute that has been predefined through the api/v4/shipmentattributedefinitions endpoint properties: infoMessages: description: >- System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array shipmentAttributeDefinition: $ref: '#/components/schemas/ShipmentAttributeDefinition' title: ShipmentAttributeDefinitionConfirmation type: object ShipmentAttributeFilter: description: >- Match shipments based on the names and values of custom attributes. Attributes are tenant-defined and each attribute may have multiple values. An attribute can result in a match if any of its values match the criteria. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. For each item, filters are generated for both the type and values, and they are combined using an AND operator. Example: (attributes.name EQUALS X AND any attributes.values EQUALS [A OR B OR C]) AND (attributes.name EQUALS Y AND any attributes.values EQUALS [D OR F]) properties: name: maxLength: 255 minLength: 1 type: string values: items: type: string type: array operator: description: If values is not populated, the CONTAINS operator is not supported. enum: - EQUALS - NOT_EQUALS - CONTAINS type: string required: - name type: object ShipmentCount: description: >- Contains information about the count of shipments which match some criteria. properties: total: format: int64 type: integer type: object ShipmentDetails: description: |- Information which describes the entities being transported. Comprised of items, this is a single definition of the item(s) to be picked up and delivered at a relevant stop. properties: pickupStopId: description: >- The unique ID for the location where the handling unit should be picked up. format: uuid type: string deliveryStopId: description: >- The unique ID for the location where the handling unit should be delivered. format: uuid type: string handlingUnits: allOf: - $ref: '#/components/schemas/HandlingUnitsDetails' description: The way in which items from this Load are being transported. items: description: The items for this shipment details, if applicable. items: $ref: '#/components/schemas/Item' type: array description: description: Free text space to describe the handling unit. type: string identifiers: description: >- The identifiers that can identify this load. This could be, but not limited to, a shipment identifier such as a BOL or an order-based identifier such as `PURCHASE_ORDER`. items: $ref: '#/components/schemas/LogisticsIdentifier' minItems: 1 type: array accessorials: description: >- Optional list of descriptors which detail any add-ons or declarations applicable to your shipment which may be noteworthy to the carrier. items: anyOf: - $ref: '#/components/schemas/RefrigeratedAccessorial' - $ref: '#/components/schemas/LiftgateAccessorial' - $ref: '#/components/schemas/TarpsAccessorial' - $ref: '#/components/schemas/StrapsAccessorial' - $ref: '#/components/schemas/ChainsAccessorial' - $ref: '#/components/schemas/DeckHeightAccessorial' - $ref: '#/components/schemas/CraneAccessorial' - $ref: '#/components/schemas/CallBeforeArrivalAccessorial' - $ref: '#/components/schemas/DockRequiredAccessorial' - $ref: '#/components/schemas/LockedGateAccessorial' - $ref: '#/components/schemas/FirstComeFirstServedAccessorial' - $ref: '#/components/schemas/AppointmentRequiredAccessorial' - $ref: '#/components/schemas/WhiteGloveAccessorial' - $ref: '#/components/schemas/HazmatAccessorial' type: array loadId: description: >- The unique project44-generated id of the load. Not to be provided on booking creation. Once `BOOKED`, the booking initiates a load within project44. With this identifier, the shipper may seek the trackable Load through the rest of the project44 platform. format: uuid type: string required: - pickupStopId - deliveryStopId - identifiers type: object ShipmentEventDateCriterion: description: >- Match shipments based on the datetimes of their events, relative to a target range. When operator is ON_OR_AFTER, NOW + offsetMinutes or the startDateTime is used as the date When operator is ON_OR_BEFORE, NOW + offsetMinutes or the endDateTime is used as the date. Construct absolute ranges with both startDateTime and endDateTime with null offsetMinutes Construct relative ranges with offsetMinutes, where negative offset indicates time before Now and positive offset indicates time after Now Example: Now and the following 10 days => offsetMinutes: 14400 operator: WITHIN Example: The last 5 hours: offsetMinutes: -300 operator: WITHIN Example: Before 8 hours from now: offsetMinutes: 480 operator: ON_OR_BEFORE properties: type: enum: - PLANNED_DATETIME - ESTIMATED_DATETIME - ACTUAL_DATETIME type: string startDateTime: format: date-time type: string endDateTime: format: date-time type: string offsetMinutes: format: int64 type: integer operator: enum: - WITHIN - ON_OR_BEFORE - ON_OR_AFTER type: string required: - type type: object ShipmentEventDeltaCriterion: description: >- Match shipments based on each shipment's delta between planned datetime and estimated datetime, or delta between planned datetime and actual datetime. The value is represented in minutes and must be non-negative. RUNNING_EARLY implies that the estimated datetime is before the planned datetime RUNNING_LATE implies that the estimated datetime is after the planned datetime OCCURRED_EARLY implies that the actual datetime is before the planned datetime OCCURRED_LATE implies that the actual datetime is after the planned datetime Example: event OCCURRED_EARLY by LESS_THAN 60 minutes Example: event RUNNING_LATE by MORE_THAN 1440 minutes (1 day) properties: type: enum: - RUNNING_EARLY - RUNNING_LATE - OCCURRED_EARLY - OCCURRED_LATE type: string value: format: int64 minimum: 0 type: integer operator: enum: - MORE_THAN - LESS_THAN type: string required: - type - value type: object ShipmentEventFilter: description: >- Match shipments using a collection of event-related criteria. All provided criteria within are combined using an AND operator. properties: type: 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 - HELD - 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 - RECEIVE_FROM_CARRIER - ISSUE_FREIGHT_BILL - FREIGHT_ON_HAND - READY_FOR_CARRIAGE - LAST_FREE_DAY type: string dateRanges: description: >- Each item in this array should represent a distinct date type (planned, estimated, etc.) Criteria within this array are combined using an AND operator. items: $ref: '#/components/schemas/ShipmentEventDateCriterion' type: array deltas: description: >- Each item in this array should represent a distinct delta type (running early, occurred late, etc.) Criteria within this array are combined using an AND operator. items: $ref: '#/components/schemas/ShipmentEventDeltaCriterion' type: array stopProperties: description: >- This criteria applies against the stop location associated with the event. items: $ref: '#/components/schemas/LocationCriterion' type: array stopIdentifiers: description: >- This criteria applies against the stop location associated with the event. items: $ref: '#/components/schemas/LocationIdentifierCriterion' type: array stopType: $ref: '#/components/schemas/StopTypeCriterion' required: - type type: object ShipmentEventHistory: description: >- The history of everything that has occurred for the shipment during tracking. properties: costs: description: >- All costs incurred for this shipment and the assets contained within. items: $ref: '#/components/schemas/TrackedShipmentCost' type: array events: description: >- All events that occurred for this shipment. Will always be in ascending order by the date the event occurred. items: $ref: '#/components/schemas/TrackedShipmentEvent' type: array exceptions: description: ${ShipmentEventHistory.apiModel.exceptions.value} items: $ref: '#/components/schemas/ShipmentException' type: array sharingContext: $ref: '#/components/schemas/SharingContext' shipment: $ref: '#/components/schemas/TrackedShipment' states: description: >- All states that the shipment was or currently is in. Order is not guaranteed. items: $ref: '#/components/schemas/TrackedShipmentState' type: array title: ShipmentEventHistory type: object ShipmentException: description: ${ShipmentException.apiModel.class.value} properties: category: $ref: '#/components/schemas/ExceptionCategory' definitionId: description: >- A reference to the definition of the exception. Every ExceptionDefinition contains a logic which determines how the exception would be derived. format: uuid type: string namespace: $ref: '#/components/schemas/ExceptionNamespace' reason: $ref: '#/components/schemas/ExceptionReason' status: $ref: '#/components/schemas/ExceptionStatus' timeline: description: >- The timeline of the exception being applicable on the shipment. This object timeframes the status transitions. items: $ref: '#/components/schemas/ShipmentExceptionInstance' type: array transportationMode: $ref: '#/components/schemas/TransportationMode' title: ShipmentException type: object ShipmentExceptionInstance: description: ${ShipmentExceptionInstance.apiModel.class.value} properties: description: description: A human-readable understanding of the exception type: string endDateTime: description: >- DateTime when the shipment exited out of the exception matching criteria. type: string id: description: ID of the exception instance. format: uuid type: string startDateTime: description: DateTime when the shipment started matching the exception criteria. type: string title: ShipmentExceptionInstance type: object ShipmentIdentifier: description: Shipment Identifier pair that contains the type and the value. properties: type: $ref: '#/components/schemas/ShipmentIdentifierType' value: description: The value of the identifier. type: string required: - type - value ShipmentIdentifierFilter: description: >- Match shipments based on the type and value of the identifiers. This criterion will be checked against the identifiers at the shipment level as well as at the segment level; if either satisfies the criterion, the shipment is considered a match. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. For each item, filters are generated for both the type and values, and they are combined using an AND operator. Example: (identifier.type EQUALS X AND identifier.value EQUALS [A OR B OR C]) AND (identifier.type EQUALS Y AND identifier.value EQUALS [D OR F]) Note: the type property is deprecated in favor of the types array, allowing more natural ORing of types and values: (identifier.types EQUALS [X OR Y] AND identifier.values EQUALS [A OR B]) This will generate a hit for Type: X and Value: B, but not Type: X and Value: C properties: types: items: type: string enum: - AIR_WAYBILL - BILL_OF_LADING - HOUSE_BILL_OF_LADING - BOOKING_NUMBER - CARRIER_IATA - CARRIER_ICAO - CARRIER_NAME - CARRIER_SCAC - FFW_SCAC - 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 - 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 - CAPACITY_PROVIDER_ACCOUNT_GROUP - CAPACITY_PROVIDER_ACCOUNT_CODE - SERIAL_NUMBER - VEHICLE_IDENTIFICATION_NUMBER - REFERENCE_NUMBER type: array values: items: type: string type: array operator: description: If values is not populated, only the EQUALS operator is supported. enum: - EQUALS - NOT_EQUALS - CONTAINS type: string type: object ShipmentIdentifierType: description: Shipment Identifier pair that contains the type and the value. enum: - AIR_WAYBILL - BILL_OF_LADING - BOOKING_NUMBER - CARRIER_IATA - CARRIER_ICAO - CARRIER_NAME - CARRIER_SCAC - 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 format: enum type: string ShipmentImage: properties: carrierIdentifier: $ref: '#/components/schemas/CapacityProviderIdentifier' customerAccount: $ref: '#/components/schemas/CustomerAccount' documentType: description: A code for this image's document type. enum: - BILL_OF_LADING - DELIVERY_RECEIPT - WEIGHT_CERTIFICATE - INVOICE - INSPECTION_CERTIFICATE - LETTER_OF_AUTHORIZATION - LUMPER_CERTIFICATE - PACKING_SLIP type: string imageFormat: description: A code for this image's format. enum: - PDF - TIF - PNG - GIF - JPG type: string imagePages: description: Images of the pages that comprise a document (min:1, max:25). items: $ref: '#/components/schemas/ShipmentImagePage' type: array title: ShipmentImage type: object ShipmentImagePage: properties: imageData: description: >- The Base64 encoded image contents. This or imageUrl may be populated but not both. type: string imageUrl: description: >- The web URL for accessing this image. This or imageData may be populated but not both. type: string pageNumber: description: >- The index of the image page in the list of image pages that comprise a document for the shipment. format: int32 type: integer title: ShipmentImagePage type: object ShipmentInternalIdFilter: description: >- Match shipments based on their internal IDs. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. Example: (id EQUALS [A OR B OR C]) Example: (id NOT_EQUALS A) AND (id NOT_EQUALS B) properties: values: items: type: string format: uuid type: array operator: description: >- Only the EQUALS and NOT_EQUALS operators are supported for this criterion. enum: - EQUALS - NOT_EQUALS - CONTAINS type: string required: - values type: object ShipmentMilestone: description: >- A pairing of a stop along the shipment's route and an event that has happened or is planned to happen at that stop. Together, this pair represents a milestone in the shipment's lifecycle, complete with planned, estimated, and actual datetimes. Example: The ARRIVAL_AT_ABSOLUTE_DESTINATION milestone represents the stop that is considered to be the shipment's absolute destination as well as the corresponding arrival event for that stop. properties: type: description: >- The type of milestone represented by this object. `DEPARTURE_FROM_FIRST_PORT` ( DEPARTURE_FROM_STOP event at the first PORT_OF_LOADING stop in the route ) `DISCHARGE_AT_LAST_PORT` ( DISCHARGE event at the last PORT_OF_DISCHARGE stop in the route ) `DEPARTURE_FROM_ABSOLUTE_ORIGIN` ( DEPARTURE_FROM_STOP event at the first stop in the route that is of type ORIGIN or PORT_OF_LOADING ) `ARRIVAL_AT_ABSOLUTE_DESTINATION` ( ARRIVAL_AT_STOP event at the last stop in the route that is of type DESTINATION or PORT_OF_DISCHARGE ) enum: - DEPARTURE_FROM_FIRST_PORT - DISCHARGE_AT_LAST_PORT - DEPARTURE_FROM_ABSOLUTE_ORIGIN - ARRIVAL_AT_ABSOLUTE_DESTINATION type: string stop: $ref: '#/components/schemas/TrackedShipmentStop' eventType: 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 - HELD - 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 - RECEIVE_FROM_CARRIER - ISSUE_FREIGHT_BILL - FREIGHT_ON_HAND - READY_FOR_CARRIAGE - LAST_FREE_DAY type: string actualDateTime: format: date-time type: string plannedDateTime: format: date-time type: string plannedEndDateTime: format: date-time type: string estimateDateTime: format: date-time type: string actualOrEstimateDateTime: format: date-time type: string deltaEstimated: format: int64 type: integer deltaActual: format: int64 type: integer deltaActualOrEstimated: format: int64 type: integer type: object ShipmentModeFilter: description: >- Match shipments based on the mode of transportation. By default, the criterion is checked against past, current, and planned modes of transportation. To limit the scope of this check, use the scopes field. Omit the scopes field to search all scopes. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. Example: (segments.transportationMode EQUALS [A OR B OR C]) Example: (segments.transportationMode NOT_EQUALS A) AND (segments.transportationMode NOT_EQUALS B) properties: scopes: items: type: string enum: - CURRENT type: array types: items: type: string enum: - AIR - OCEAN - RAIL - UNKNOWN - TRUCKLOAD - PARCEL - LTL type: array operator: description: >- Only the EQUALS and NOT_EQUALS operators are supported for this criterion. enum: - EQUALS - NOT_EQUALS - CONTAINS type: string required: - types type: object ShipmentNoteConfiguration: description: >- Configuration of the pickup note that will be constructed by project44. Pickup note construction is used to send some requested accessorial services to capacity providers through their API when no other API field is available for these services. It is also used to send the delivery note through the capacity provider's pickup note API field. If no note configuration is provided, the default note configuration will be used, which will send the following note sections in order and will not enable truncation: pickup note, priority accessorials, pickup accessorials, dimensions, delivery note, delivery accessorials, and other accessorials. properties: enableTruncation: description: >- If set to 'true', project44 will truncate the final pickup note it constructs if it exceeds the maximum allowable length for the capacity provider. When 'false', an error will be returned and the shipment will be not placed for pickup with the capacity provider if the constructed pickup note exceeds the maximum allowable length for the capacity provider. (default: 'false') type: boolean noteSections: description: >- A list of sections, in order, to send through the capacity provider's pickup note API field. Brief descriptions of accessorial services will be used. Item dimensions are added in the format 00x00x00. If not provided, the default note sections, in order, are as follows: pickup note, priority accessorials, pickup accessorials, dimensions, delivery note, delivery accessorials, and other accessorials. items: $ref: '#/components/schemas/ShipmentNoteSection' type: array title: ShipmentNoteConfiguration type: object ShipmentNoteSection: description: A section of the shipment note to be sent to the capacity provider. properties: name: description: Name identifying this note section. enum: - PICKUP_NOTE - PRIORITY_ACCESSORIALS - PICKUP_ACCESSORIALS - DELIVERY_ACCESSORIALS - OTHER_ACCESSORIALS - DELIVERY_NOTE - DIMENSIONS type: string title: ShipmentNoteSection type: object ShipmentOrder: description: An order that is related to a shipment. properties: id: description: Internal identifier to uniquely identify the order. type: string identifier: $ref: '#/components/schemas/OrderIdentifier' additionalIdentifiers: description: Additional terms to describe the order. items: $ref: '#/components/schemas/AdditionalOrderIdentifier' type: array tags: description: >- Non-unique terms to describe how orders are managed within the organization. Used when searching and filtering by a specific department, team, category. items: $ref: '#/components/schemas/OrderTag' type: array supplier: $ref: '#/components/schemas/OrderSupplier' launchDateTime: description: >- Date and time when a launch of the order is planned. (format: yyyy-MM-dd'T'HH:mm:ssZ, example: 2019-11-14T12:30:00-0500) format: date-time type: string supplierReadyDateTimeWindow: $ref: '#/components/schemas/OffsetDateTimeWindow' originalDeliveryDateTimeWindow: $ref: '#/components/schemas/OffsetDateTimeWindow' deliveryEstimateDateTime: description: >- The date and time when the order is predicted to be delivered. (format: yyyy-MM-dd'T'HH:mm:ssZ, example: 2019-11-14T12:30:00-0500) format: date-time type: string type: object ShipmentPlan: description: Rules with expected behaviour of the shipment. properties: expectedTransportationModes: description: ${ShipmentPlan.apiModel.expectedTransportationModes.value} items: $ref: '#/components/schemas/TransportationMode' type: array title: ShipmentPlan type: object ShipmentPlan_1: description: Rules with expected behaviour of the shipment. properties: expectedTransportationModes: description: ${ShipmentPlan.apiModel.expectedTransportationModes.value} items: $ref: '#/components/schemas/TransportationMode_1' type: array title: ShipmentPlan_1 type: object ShipmentPositionHistory: description: >- The history of where this shipment or parts of this shipment were located during tracking. properties: positions: description: >- Locations where this shipment has been recorded. Data may be down-sampled. Will always be in ascending order by the date that the shipment was at that position. items: $ref: '#/components/schemas/TrackedShipmentPosition' type: array shipment: $ref: '#/components/schemas/TrackedShipment' title: ShipmentPositionHistory type: object ShipmentRouteInfo: description: Route info model that contains the stops and route for the shipment. properties: routeSegments: description: >- Contain information about how the shipment moved from each stop to the next. There will always be 1 fewer route segment than number of stops. items: $ref: '#/components/schemas/TrackedShipmentRouteSegment' type: array stops: description: >- All stops associated with this shipment. There may be 0 stops while we are still acquiring data for this shipment. items: $ref: '#/components/schemas/TrackedShipmentStop' type: array title: ShipmentRouteInfo type: object ShipmentRouteInfo_1: description: Route info model that contains the stops and route for the shipment. properties: routeSegments: description: >- Contain information about how the shipment moved from each stop to the next. There will always be 1 fewer route segment than number of stops. items: $ref: '#/components/schemas/TrackedShipmentRouteSegment_1' type: array stops: description: >- All stops associated with this shipment. There may be 0 stops while we are still acquiring data for this shipment. items: $ref: '#/components/schemas/TrackedShipmentStop' type: array title: ShipmentRouteInfo_1 type: object ShipmentSearchCriteria: description: >- A collection of criteria used to filter the result set of shipments. The query clauses that are generated by each field in this request are combined together using AND. Example: ([clauses from shipmentStates]) AND ([clauses from transportationModes]) properties: searchText: description: >- A text-based search against a select set of fields in each shipment. If any of a shipment's select fields contain this value, then that shipment will be included in the result set. type: string shipmentIds: items: $ref: '#/components/schemas/ShipmentInternalIdFilter' type: array shipmentIdentifiers: items: $ref: '#/components/schemas/ShipmentIdentifierFilter' type: array shipmentAttributes: items: $ref: '#/components/schemas/ShipmentAttributeFilter' type: array transportationModes: items: $ref: '#/components/schemas/ShipmentModeFilter' type: array shipmentStates: items: $ref: '#/components/schemas/ShipmentStateFilter' type: array shipmentEvents: description: >- Each item in this array should represent criteria for a distinct event type. items: $ref: '#/components/schemas/ShipmentEventFilter' type: array shipmentTrackingStatusEvents: items: $ref: '#/components/schemas/ShipmentTrackingStatusEventFilter' type: array shipmentStops: items: $ref: '#/components/schemas/ShipmentStopFilter' type: array sharingContextTenants: items: $ref: '#/components/schemas/ShipmentSharingTenantFilter' type: array orderIdentifierTypes: items: $ref: '#/components/schemas/RelatedOrderIdentifierTypeFilter' type: array orderIdentifiers: items: $ref: '#/components/schemas/RelatedOrderIdentifierFilter' type: array orderIds: items: $ref: '#/components/schemas/RelatedOrderInternalIdFilter' type: array orderSupplierIds: items: $ref: '#/components/schemas/RelatedOrderSupplierIdFilter' type: array orderDateRanges: items: $ref: '#/components/schemas/RelatedOrderDateFilter' type: array orderDeltas: items: $ref: '#/components/schemas/RelatedOrderDeltaFilter' type: array orderTags: items: $ref: '#/components/schemas/RelatedOrderTagFilter' type: array orderAdditionalIdentifiers: items: $ref: '#/components/schemas/RelatedOrderAdditionalIdentifierFilter' type: array loadItemIdentifiers: items: $ref: '#/components/schemas/RelatedLoadItemIdentifierFilter' type: array loadItemDescriptions: items: $ref: '#/components/schemas/RelatedLoadItemDescriptionFilter' type: array type: object ShipmentSearchRequest: description: >- A collection of criteria used to filter the result set of shipments. The query clauses that are generated by each field in this request are combined together using AND. Example: ([clauses from shipmentStates]) AND ([clauses from transportationModes]) properties: searchText: description: >- A text-based search against a select set of fields in each shipment. If any of a shipment's select fields contain this value, then that shipment will be included in the result set. type: string shipmentIds: items: $ref: '#/components/schemas/ShipmentInternalIdFilter' type: array shipmentIdentifiers: items: $ref: '#/components/schemas/ShipmentIdentifierFilter' type: array shipmentAttributes: items: $ref: '#/components/schemas/ShipmentAttributeFilter' type: array transportationModes: items: $ref: '#/components/schemas/ShipmentModeFilter' type: array shipmentStates: items: $ref: '#/components/schemas/ShipmentStateFilter' type: array shipmentEvents: description: >- Each item in this array should represent criteria for a distinct event type. items: $ref: '#/components/schemas/ShipmentEventFilter' type: array shipmentTrackingStatusEvents: items: $ref: '#/components/schemas/ShipmentTrackingStatusEventFilter' type: array shipmentStops: items: $ref: '#/components/schemas/ShipmentStopFilter' type: array sharingContextTenants: items: $ref: '#/components/schemas/ShipmentSharingTenantFilter' type: array orderIdentifierTypes: items: $ref: '#/components/schemas/RelatedOrderIdentifierTypeFilter' type: array orderIdentifiers: items: $ref: '#/components/schemas/RelatedOrderIdentifierFilter' type: array orderIds: items: $ref: '#/components/schemas/RelatedOrderInternalIdFilter' type: array orderSupplierIds: items: $ref: '#/components/schemas/RelatedOrderSupplierIdFilter' type: array orderDateRanges: items: $ref: '#/components/schemas/RelatedOrderDateFilter' type: array orderTags: items: $ref: '#/components/schemas/RelatedOrderTagFilter' type: array orderAdditionalIdentifiers: items: $ref: '#/components/schemas/RelatedOrderAdditionalIdentifierFilter' type: array loadItemIdentifiers: items: $ref: '#/components/schemas/RelatedLoadItemIdentifierFilter' type: array loadItemDescriptions: items: $ref: '#/components/schemas/RelatedLoadItemDescriptionFilter' type: array sort: items: $ref: '#/components/schemas/ShipmentSortField' type: array additionalFields: items: $ref: '#/components/schemas/ShipmentAdditionalField' type: array pagination: $ref: '#/components/schemas/PaginationParameters' type: object ShipmentSharingTenantFilter: description: >- Match shipments based on the which tenant(s) they have been shared by or shared with. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. Example: (tenant.name EQUALS [A OR B OR C]) Example: (tenant.name CONTAINS 'at') AND (tenant.name NOT_EQUALS 'Cat') properties: scopes: items: type: string description: >- Specifies whether this criterion should match against recipient tenants, originating tenants, or either. If not provided, either tenant type can result in a match. enum: - RECIPIENT - ORIGINATOR type: array names: items: type: string type: array operator: enum: - EQUALS - NOT_EQUALS - CONTAINS type: string required: - names type: object ShipmentSortField: properties: fieldName: enum: - PRIMARY_IDENTIFIER - CARRIER_IDENTIFIER - CREATED_DATETIME - UPDATED_DATETIME - ACT_DELIVERY_DATETIME - EST_DELIVERY_DATETIME - ACT_OR_EST_DELIVERY_DATETIME - ACT_DELIVERY_DELTA - EST_DELIVERY_DELTA - ACT_OR_EST_DELIVERY_DELTA - PLANNED_DELIVERY_DATETIME - DEPART_ABS_ORIGIN_ACT_DATETIME - DEPART_ABS_ORIGIN_EST_DATETIME - DEPART_ABS_ORIGIN_ACT_OR_EST_DATETIME - DEPART_ABS_ORIGIN_PLANNED_DATETIME - DEPART_ABS_ORIGIN_ACT_DELTA - DEPART_ABS_ORIGIN_EST_DELTA - DEPART_ABS_ORIGIN_ACT_OR_EST_DELTA - ARRIVE_ABS_DEST_ACT_DATETIME - ARRIVE_ABS_DEST_EST_DATETIME - ARRIVE_ABS_DEST_ACT_OR_EST_DATETIME - ARRIVE_ABS_DEST_PLANNED_DATETIME - ARRIVE_ABS_DEST_ACT_DELTA - ARRIVE_ABS_DEST_EST_DELTA - ARRIVE_ABS_DEST_ACT_OR_EST_DELTA - DEPART_FIRST_POL_ACT_DATETIME - DEPART_FIRST_POL_EST_DATETIME - DEPART_FIRST_POL_ACT_OR_EST_DATETIME - DEPART_FIRST_POL_PLANNED_DATETIME - DEPART_FIRST_POL_ACT_DELTA - DEPART_FIRST_POL_EST_DELTA - DEPART_FIRST_POL_ACT_OR_EST_DELTA - DISCHARGE_LAST_POD_ACT_DATETIME - DISCHARGE_LAST_POD_EST_DATETIME - DISCHARGE_LAST_POD_ACT_OR_EST_DATETIME - DISCHARGE_LAST_POD_PLANNED_DATETIME - DISCHARGE_LAST_POD_ACT_DELTA - DISCHARGE_LAST_POD_EST_DELTA - DISCHARGE_LAST_POD_ACT_OR_EST_DELTA type: string direction: enum: - ASC - DESC type: string required: - direction - fieldName type: object ShipmentStateFilter: description: >- Match shipments based on the current state. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. Example: (currentState.type EQUALS [A OR B OR C]) Example: (currentState.type NOT_EQUALS A) AND (currentState.type NOT_EQUALS B) properties: types: items: type: string enum: - UNKNOWN - AT_STOP - IN_TRANSIT_AIRCRAFT - IN_TRANSIT_VESSEL - IN_TRANSIT_RAIL - CUSTOMS_HOLD - IN_TRANSIT - COMPLETED - SCHEDULED type: array operator: description: >- Only the EQUALS and NOT_EQUALS operators are supported for this criterion. enum: - EQUALS - NOT_EQUALS - CONTAINS type: string required: - types type: object ShipmentStopFilter: description: >- Match shipments using a collection of stop-related and location-related criteria. All provided criteria within are combined using an AND operator. properties: properties: items: $ref: '#/components/schemas/LocationCriterion' type: array identifiers: items: $ref: '#/components/schemas/LocationIdentifierCriterion' type: array stopType: $ref: '#/components/schemas/StopTypeCriterion' scopes: items: type: string enum: - ANY_INBOUND - ANY_OUTBOUND - CURRENT - ANY_STOP - EVERY_STOP - ORIGIN - DESTINATION - EVENTS type: array type: object ShipmentSummary: description: List of resources contained on this page. properties: shipmentId: format: uuid type: string createdDateTime: format: date-time type: string updatedDateTime: format: date-time type: string primaryShipmentIdentifier: $ref: '#/components/schemas/PrimaryShipmentIdentifier' allShipmentIdentifiers: items: $ref: '#/components/schemas/LogisticsIdentifier' type: array activeVehicleIdentifier: $ref: '#/components/schemas/VehicleShipmentIdentifier' activeSegmentMode: enum: - AIR - OCEAN - RAIL - UNKNOWN - TRUCKLOAD - PARCEL - LTL type: string allSegmentModes: items: type: string enum: - AIR - OCEAN - RAIL - UNKNOWN - TRUCKLOAD - PARCEL - LTL type: array currentState: enum: - UNKNOWN - AT_STOP - IN_TRANSIT_AIRCRAFT - IN_TRANSIT_VESSEL - IN_TRANSIT_RAIL - CUSTOMS_HOLD - IN_TRANSIT - COMPLETED - SCHEDULED type: string latestTrackingStatusEvent: $ref: '#/components/schemas/TrackingStatusEvent' originLocation: $ref: '#/components/schemas/TrackedShipmentStopLocation' destinationLocation: $ref: '#/components/schemas/TrackedShipmentStopLocation' currentStopLocation: $ref: '#/components/schemas/TrackedShipmentStopLocation' carrier: type: string milestones: items: $ref: '#/components/schemas/ShipmentMilestone' type: array relatedOrders: description: A collection of orders fulfilled by this shipment. items: $ref: '#/components/schemas/ShipmentOrder' type: array customAttributes: items: $ref: '#/components/schemas/CustomAttribute' type: array sharingContext: $ref: '#/components/schemas/SharingContext' type: object ShipmentSummaryPage: properties: paginationInfo: $ref: '#/components/schemas/PaginationInfo' results: description: List of resources contained on this page. items: $ref: '#/components/schemas/ShipmentSummary' type: array xml: wrapped: true type: object ShipmentTenantAttributeDto: properties: attributeName: type: string attributeValues: items: type: string type: array title: ShipmentTenantAttributeDto type: object ShipmentTotals: properties: grossWeight: description: >- Total weight of the entire shipment, including handling units (tare weight). type: integer netWeight: description: >- Total weight of the entire shipment, not including handling units (tare weight). type: integer weightUnit: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_public__ebol__ltl__ebol__WeightUnit default: Pounds description: >- The unit of measurement for weight. Defaults to Pounds (Imperial) if not passed.Valid Values: Pounds or Kilograms. handlingUnits: description: Handling unit count for the entire shipment. type: integer linearLength: description: Linear length for the entire shipment. type: integer dimensionsUnit: allOf: - $ref: '#/components/schemas/DimensionsUnit' default: Inches description: >- The unit of measurement for dimensions. Defaults to Inches (Imperial) if not passed.Valid Values: Inches or Centimeters. cube: description: >- Cubic volume of the entire shipment (total length X total width X total height). type: integer cubeDimensionsUnit: allOf: - $ref: '#/components/schemas/ShipmentTotalsDimensionsUnitCode' default: Feet description: >- The unit of measurement for cubic dimensions. Defaults to Feet (Imperial) if not passed.Valid Values: Feet or Meters. declaredValue: description: >- Total monetary value of the shipment in USD (sometimes needed for cross-border moves). type: integer currency: description: >- Optional attribute to indicate currency of declaredValue. Defaults to USD. type: string type: object ShipmentTotalsDimensionsUnitCode: description: An enumeration. enum: - Feet - Meters type: string ShipmentTrackingStatusEventFilter: description: >- Match shipments based on the tracking status. By default, the criterion can be satisfied by any (current or historical) tracking status events. To limit the scope of this check, use the scopes field. Omit the scopes field to search all scopes. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. Example: (events.type EQUALS [A OR B OR C]) Example: (events.type NOT_EQUALS A) AND (events.type NOT_EQUALS B) properties: scopes: items: type: string enum: - LATEST type: array types: items: type: string enum: - TRACKING_INITIATE - TRACKING_START - TRACKING_END_BY_USER - TRACKING_END_DUE_TO_TIMEOUT - TRACKING_FAILED - TRACKING_COMPLETE - TRACKING_STOP - DRIVER_DENY_TRACKING - UNKNOWN_EQUIPMENT_IDENTIFIER - MISSING_EQUIPMENT_IDENTIFIER - UNKNOWN type: array operator: description: >- Only the EQUALS and NOT_EQUALS operators are supported for this criterion. enum: - EQUALS - NOT_EQUALS - CONTAINS type: string required: - types type: object ShippingLabels: properties: format: allOf: - $ref: '#/components/schemas/ShippingLabelsFormat' description: 'Specifies the printer format type for the labels. Example: Avery.' quantity: description: Specifies the quantity of pages desired. type: integer position: description: >- Specifies the starting position for the shipping labels. Valid Values: 1 - 6 . type: integer required: - format - quantity - position type: object ShippingLabelsFormat: description: An enumeration. enum: - Avery - Letter - Zebra type: string SimpleTrackedShipment: description: >- Simplified version of shipment tracking model used to initiate a shipment. properties: accessGroups: description: >- This set is populated when a shipment is entitled to specific access groups, it denotes which group(s) are entitled visibility. items: $ref: '#/components/schemas/AccessGroup' type: array attributes: description: >- An optional user-defined set of custom attributes to associate with this shipment. items: $ref: '#/components/schemas/CustomAttribute' type: array createdDateTime: description: >- The date and time when this shipment was created. This value is read only and will be ignored during shipment creation. type: string id: description: >- Master shipment id of the shipment. Will always be populated on the response. format: uuid type: string identifiers: description: >- Used to identify a shipment.

Only the following identifier types are accepted when creating or updating a shipment: items: $ref: '#/components/schemas/LogisticsIdentifier' type: array lastModifiedDateTime: description: >- The date and time when this shipment was last modified. This value is read only and will be ignored during shipment creation or modification. type: string plan: $ref: '#/components/schemas/ShipmentPlan' shipmentShareLink: description: Public link to view the shipment in the VOC. type: string title: SimpleTrackedShipment type: object SimpleTrackedShipment_1: description: >- Simplified version of shipment tracking model used to initiate a shipment. properties: accessGroups: description: >- This set is populated when a shipment is entitled to specific access groups, it denotes which group(s) are entitled visibility. items: $ref: '#/components/schemas/AccessGroup' type: array attributes: description: >- An optional user-defined set of custom attributes to associate with this shipment. items: $ref: '#/components/schemas/CustomAttribute' type: array createdDateTime: description: >- The date and time when this shipment was created. This value is read only and will be ignored during shipment creation. type: string id: description: >- Master shipment id of the shipment. Will always be populated on the response. format: uuid type: string identifiers: description: >- Used to identify a shipment.

Only the following identifier types are accepted when creating or updating a shipment: items: $ref: '#/components/schemas/LogisticsIdentifier' type: array lastModifiedDateTime: description: >- The date and time when this shipment was last modified. This value is read only and will be ignored during shipment creation or modification. type: string plan: $ref: '#/components/schemas/ShipmentPlan_1' shipmentShareLink: description: Public link to view the shipment in the VOC. type: string title: SimpleTrackedShipment_1 type: object SortAndSegregateDetails: properties: pieces: description: Number of pieces in a shipment to be sorted/segregated. type: integer required: - pieces type: object SortDirection: enum: - ASC - DESC format: enum type: string SpecialOpeningHours: properties: hours: $ref: '#/components/schemas/OpeningHours' validFrom: description: >- Date (inclusive) local to the stop to start applying the special hours. Formatted as yyyy-MM-dd format: date type: string validThrough: description: >- Date (exclusive) local to the stop to stop applying the special hours. Formatted as yyyy-MM-dd format: date type: string required: - hours - validFrom - validThrough title: SpecialOpeningHours type: object SpecificationKind_DeckHeight_: properties: value: $ref: '#/components/schemas/DeckHeight' required: - value type: object SpecificationKind_bool_: properties: value: type: boolean required: - value type: object SplitOffsetDateTime: description: >- A date and optionally a time and time zone offset. This model is used where project44 cannot always guarantee a time or a time zone will be provided. properties: date: description: >- The date portion of this this date time object. This field will always be populated if this object is not null. (format: yyyy-MM-dd) format: date type: string time: description: >- The time portion of this date time object. This field may be null if it is unknown. If this field is null, 'timeZoneOffset' will also be null. (format: HH:mm) example: '15:00:00' format: partial-time type: string timeZoneOffset: description: >- The time zone offset of this date time object. This field may be null if it is unknown, in which case the date and time should be assumed local to the applicable location. UTC will be indicated by an offset of '+0000'. (format: +HHmm or -HHmm) example: '-0500' type: string SplitOffsetDateTimeWindow: description: >- A date and time range, with optional times and time zone offsets.This model is used where project44 cannot always guarantee times or time zones will be provided. properties: startDateTime: $ref: '#/components/schemas/SplitOffsetDateTime' description: >- Start date and/or time of this window with optional time zone offset. endDateTime: $ref: '#/components/schemas/SplitOffsetDateTime' description: >- Start date and/or time of this window with optional time zone offset. StateProvinceCode: description: An enumeration. enum: - AL - AK - AZ - AR - CA - CO - CT - DC - DE - FL - GA - HI - ID - IL - IN - IA - KS - KY - LA - ME - MD - MA - MI - MN - MS - MO - MT - NE - NV - NH - NJ - NM - NY - NC - ND - OH - OK - OR - PA - PR - RI - SC - SD - TN - TX - UT - VT - VA - WA - WV - WI - WY - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT - CMX - AGU - BCN - BCS - CAM - COA - COL - CHP - CHH - DUR - GUA - GRO - HID - JAL - MEX - MIC - MOR - NAY - NLE - OAX - PUE - QUE - ROO - SLP - SIN - SON - TAB - TAM - TLA - VER - YUC - ZAC type: string Stop: properties: id: description: The id of this stop. Will always be populated on response. format: uuid type: string type: allOf: - $ref: '#/components/schemas/StopType' description: The type of stop. arrivalDate: description: The date at which the carrier is scheduled to arrive at the stop. format: date type: string arrivalAppointmentWindow: allOf: - $ref: '#/components/schemas/TimeWindow' description: >- Optional, any time-based window which the carrier is expected to arrive at the stop, zoned to the stop's location. contacts: description: >- Shipper-supplied individuals who may be contacted for correspondence related to shipment handling at the stop. items: $ref: >- #/components/schemas/multi_modal_booking_service_public__contact__Contact type: array accessorials: description: >- Optional list of descriptors which detail any add-ons or declarations applicable which may be noteworthy to the carrier. items: anyOf: - $ref: '#/components/schemas/RefrigeratedAccessorial' - $ref: '#/components/schemas/LiftgateAccessorial' - $ref: '#/components/schemas/TarpsAccessorial' - $ref: '#/components/schemas/StrapsAccessorial' - $ref: '#/components/schemas/ChainsAccessorial' - $ref: '#/components/schemas/DeckHeightAccessorial' - $ref: '#/components/schemas/CraneAccessorial' - $ref: '#/components/schemas/CallBeforeArrivalAccessorial' - $ref: '#/components/schemas/DockRequiredAccessorial' - $ref: '#/components/schemas/LockedGateAccessorial' - $ref: '#/components/schemas/FirstComeFirstServedAccessorial' - $ref: '#/components/schemas/AppointmentRequiredAccessorial' - $ref: '#/components/schemas/WhiteGloveAccessorial' - $ref: '#/components/schemas/HazmatAccessorial' type: array location: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_public__location__Location description: The location of the stop. required: - id - type - location type: object StopLocation: properties: address: $ref: '#/components/schemas/Address' addressSpecificity: description: >- The specificity of this address. Return only. This represents how sepcifically we were able to geocode the address, i.e., the most specific known entity we were able to match with it. enum: - COUNTRY - STATE - COUNTY - CITY - DISTRICT - POSTAL_CODE - STREET - INTERSECTION - LANDMARK - HOUSE_NUMBER type: string contacts: description: >- A list of contact information for people associated with this location. items: $ref: '#/components/schemas/ContactReference' type: array coordinates: $ref: '#/components/schemas/GeoCoordinates' geofence: $ref: '#/components/schemas/Geofence' id: description: Stop location id. Should be null. Will be provided on return. format: uuid type: string name: description: Name of the location. Nonblank value required. type: string openingHours: description: Optional list of opening and closing hours of the stop location. items: $ref: '#/components/schemas/OpeningHours' type: array specialOpeningHours: description: >- Optional list of special (i.e., holiday) opening and closing hours of the stop location. items: $ref: '#/components/schemas/SpecialOpeningHours' type: array suppliedId: description: Customer-supplied identifier for this location. type: string version: description: >- Version number of this location. Every time the location is edited this number is incremented. format: int64 type: integer required: - address - name title: StopLocation type: object StopLocationList: properties: locations: description: Locations listed. items: $ref: '#/components/schemas/StopLocation' type: array offset: description: >- Offset of the start of this list within the list of all matching locations. format: int32 type: integer pageSize: description: Locations requested per page. format: int32 type: integer totalItems: description: Total locations available. format: int32 type: integer required: - locations title: StopLocationList type: object StopReference: description: Reference to a specific stop on a shipment. properties: stopId: description: The unique identifier for a specific stop on a shipment. format: uuid type: string title: StopReference type: object StopType: description: An enumeration. enum: - PICKUP - DELIVERY - PICKUP_DELIVERY - PORT_OF_LOADING - PORT_OF_DISCHARGE - TRANSSHIPMENT_PORT type: string StopTypeCriterion: description: >- Match shipments based on stop type. Top-level items are combined using an AND operator, but the values within each item are combined using an OR operator. Example: (stop.type EQUALS [A OR B OR C]) Example: (stop.type NOT_EQUALS A) AND (stop.type NOT_EQUALS B) properties: types: items: type: string enum: - UNKNOWN - ORIGIN - DESTINATION - TRANSFER - OTHER - PORT_OF_LOADING - TRANSSHIPMENT_PORT - PORT_OF_DISCHARGE - PICKUP - DELIVERY - RETURN - WAREHOUSE - HUB - AIRPORT type: array operator: description: >- Only the EQUALS and NOT_EQUALS operators are supported for this criterion. enum: - EQUALS - NOT_EQUALS - CONTAINS type: string required: - types type: object StrapsAccessorial: additionalProperties: false description: >- Accessorial which delineates the expected size and number of straps used in shipping. properties: code: enum: - STRAPS type: string details: allOf: - $ref: '#/components/schemas/QuantityKind' description: Count and size of straps. required: - code - details type: object TarpsAccessorial: additionalProperties: false description: >- Accessorial which delineates the expected size and number of tarps used in shipping. properties: code: enum: - TARPS type: string details: allOf: - $ref: '#/components/schemas/QuantityKind' description: Count and size of tarps. required: - code - details type: object TempRangeKind: additionalProperties: false properties: min: description: Minimum range value. type: number max: description: Maximum range value. type: number unit: allOf: - $ref: '#/components/schemas/TempUnit' description: Temperature unit. required: - min - max - unit type: object TempUnit: description: An enumeration. enum: - CELSIUS - FAHRENHEIT type: string TerminatingCapacity: properties: carrierContact: $ref: '#/components/schemas/Contact' carrierIdentifier: $ref: '#/components/schemas/CapacityProviderIdentifier' carrierIdentifiers: description: >- List of carrier identifiers. Identifier type must be 'SCAC', 'DOT_NUMBER', or 'MC_NUMBER'. items: $ref: '#/components/schemas/CapacityProviderIdentifier' type: array distance: description: Distance from the given location. format: double type: number distanceUnit: description: Distance unit. Must be KM or MI. enum: - FT - M - MI - KM type: string equipmentIdentifiers: description: Equipment identifiers associated with the vehicle. items: $ref: '#/components/schemas/TruckloadEquipmentIdentifier' type: array estimatedArrivalDateTime: description: >- Estimated time when the vehicle will arrive at a terminating location. type: string truckType: description: The type of truck. enum: - AUTO_CARRIER - B_TRAIN - CONESTOGA - CONTAINER - CONTAINER_INSULATED - CONTAINER_REFRIGERATED - CONVEYOR - DOUBLE_DROP - DROP_DECK_LANDOLL - DUMP_TRAILER - FLAT_BED - FLATBED_AIR_RIDE - FLATBED_CONESTOGA - FLATBED_DOUBLE - FLATBED_HAZMAT - FLATBED_HOTSHOT - FLATBED_MAXI - FLATBED_STEP_DECK - FLATBED_OVERDOMENSION - FLATBED_OVERDIMENSION - FLATBED_CHAINS - FLATBED_SIDES - FLATBED_TARPS - FLATBED_TEAM - FLATBED_VAN_REEFER - HOPPER_BOTTOM - INSULATED_VAN_REEFER - LOWBOY - LOWBOY_REM_GOOSENECK - LOWBOY_OVERDIMENSION - MOVING_VAN - PNEUMATIC - POWER_ONLY - REEFER - REEFER_AIR_RIDE - REEFER_DOUBLE - REEFER_HAZMAT - REEFER_INTERMODAL - REEFER_LOGISTICS - REEFER_VENTED_VAN - REEFER_PALLET_EXCHANGE - REEFER_TEAM - REMOVABLE_GOOSENECK - STEP_DECK - STEP_DECK_REM_GOOSENECK - STEP_DECK_CONESTOGA - STRAIGHT_BOX_TRUCK - STRETCH_TRAILER - TANKER_ALUMINUM - TANKER_INTERMODAL - TANKER_STEEL - TRUCK_AND_TRAILER - DRY_VAN - VAN - VAN_AIR_RIDE - VAN_BLANKET_WRAP - VAN_CONESTOGA - VAN_DOUBLE - VAN_HAZMAT - VAN_HOTSHOT - VAN_INSULATED - VAN_INTERMODAL - VAN_LIFT_GATE - VAN_LOGISTICS - VAN_OPEN_TOP - VAN_FLATBED - VAN_FLATBED_TARPS - VAN_FLATBET - VAN_FLATBET_TARPS - VAN_REEFER - VAN_PALLET_EXCHANGE - VAN_ROLLER_BED - VAN_TRIPLE - VAN_VENTED - VAN_CURTAINS - VAN_TEAM type: string title: TerminatingCapacity type: object TimeCriticalDetails: properties: type: allOf: - $ref: '#/components/schemas/TimeCriticalDetailsType' description: >- Type of delivery required for the requested Time Critical Service.Required when accessorial codes list includes TCS code. date: allOf: - $ref: '#/components/schemas/DateWindow' description: Date and time window for the requested Time Critical Service. required: - type - date type: object TimeCriticalDetailsType: description: Description when Freight should be delivered enum: - Deliver On Date - Deliver On or After Date - Deliver By Date - Delivery Window type: string TimeDuration: properties: unit: $ref: '#/components/schemas/TimeUnit' amount: description: The amount of time for a duration. format: int64 minimum: 0 type: integer required: - amount - unit TimeUnit: description: The unit of time measurement for a duration. enum: - UNKNOWN - MILLISECONDS - SECONDS - MINUTES - HOURS - DAYS - WEEKS - MONTHS - YEARS format: enum type: string TimeWindow: description: A time range. properties: startTime: description: Start time of this window in ISO format. format: time type: string endTime: description: >- End time of this window in ISO format. An end time which occurs before the start time indicates that it should occur on the next day. format: time type: string required: - startTime - endTime type: object TimelinessCode: enum: - UNKNOWN - EARLY - ON_TIME - LATE format: enum type: string Timing: properties: estimate: $ref: '#/components/schemas/TimingEstimate' description: >- The estimated date and time of arrival or departure, including timeliness. actual: $ref: '#/components/schemas/TimingActual' description: >- The actual date and time of arrival or departure, including timeliness. scheduled: $ref: '#/components/schemas/TimingScheduled' description: >- The scheduled date and time of arrival or departure, including timeliness. TimingActual: properties: dateTime: description: >- The actual date and time of arrival or departure.(format: yyyy-MM-dd'T'HH:mm:ssZ) format: date-time type: string timelinessCode: $ref: '#/components/schemas/TimelinessCode' TimingEstimate: properties: estimatedTimeWindow: $ref: '#/components/schemas/OffsetDateTimeWindow' description: The estimated arrival or departure window with time zone offset. timelinessCode: $ref: '#/components/schemas/TimelinessCode' description: The estimated arrival or departure status. lastCalculatedDateTime: description: >- When this estimate was last computed. (format: yyyy-MM-dd'T'HH:mm:ssZ) format: date-time type: string TimingScheduled: properties: dateTime: description: >- The scheduled date and time of arrival or departure.(format: yyyy-MM-dd'T'HH:mm:ssZ) format: date-time type: string timelinessCode: $ref: '#/components/schemas/TimelinessCode' description: The scheduled arrival or departure status, as calculated. TrackedShipment: description: Shipment tracking model used to initiate a shipment. properties: accessGroups: description: >- This set is populated when a shipment is entitled to specific access groups, it denotes which group(s) are entitled visibility. items: $ref: '#/components/schemas/AccessGroup' type: array attributes: description: >- An optional user-defined set of custom attributes to associate with this shipment. items: $ref: '#/components/schemas/CustomAttribute' type: array createdDateTime: description: >- The date and time when this shipment was created. This value is read only and will be ignored during shipment creation. type: string id: description: >- Master shipment id of the shipment. Will always be populated on the response. format: uuid type: string identifiers: description: >- Used to identify a shipment.

Only the following identifier types are accepted when creating or updating a shipment: items: $ref: '#/components/schemas/LogisticsIdentifier' type: array lastModifiedDateTime: description: >- The date and time when this shipment was last modified. This value is read only and will be ignored during shipment creation or modification. type: string plan: $ref: '#/components/schemas/ShipmentPlan' relatedShipments: description: List of related shipments of the parent shipment. This is optional. items: $ref: '#/components/schemas/SimpleTrackedShipment' type: array routeInfo: $ref: '#/components/schemas/ShipmentRouteInfo' shipmentShareLink: description: Public link to view the shipment in the VOC. type: string title: TrackedShipment type: object TrackedShipmentCost: description: An object representing a monetary cost incurred by a shipment or asset. properties: identifiers: description: >- A list of identifiers that specify the asset to which this cost or fee pertains. items: $ref: '#/components/schemas/LogisticsIdentifier' type: array tier: description: The current tier that is applied to calculate the costs. enum: - UNKNOWN - FREE_PERIOD - FIRST_PERIOD - SECOND_PERIOD - THEREAFTER_PERIOD type: string totalCost: $ref: '#/components/schemas/MonetaryValue' type: description: The type of cost or fee that occurred. Will always be populated. enum: - UNKNOWN - EXPORT_DEMURRAGE - EXPORT_DETENTION - IMPORT_DEMURRAGE - IMPORT_DETENTION type: string title: TrackedShipmentCost type: object TrackedShipmentDateTime: description: A dateTime for the event provided by a certain source. properties: type: description: >- The type of the dateTime provided.

PLANNED - Denotes that a dateTime is planned or scheduled to occur.
ACTUAL - Denotes that a dateTime actually occurred.
ESTIMATE - Denotes that a dateTime is a calculated estimate. enum: - UNKNOWN - PLANNED - ACTUAL - ESTIMATE type: string dateTime: description: >- The time that this event occurred or will occur. If accompanied by endDateTime, this value denotes the start time of the resulting window. format: date-time type: string endDateTime: description: >- The end time of the window in which the event occurred or will occur. format: date-time type: string lastModifiedDateTime: description: Denotes when the provided dateTime was last modified. format: date-time type: string source: description: >- The source of the provided dateTime.

UNKNOWN - The source of the provided dateTime is unknown.
CARRIER -The dateTime is provided by CARRIER.
BROKER - The dateTime is provided by BROKER.
USER - The dateTime is provided by USER. Can only provide this value in POST/PUT.
CONTRACT - Contractually defined dateTime.
GEOFENCE - The dateTime is provided by GEOFENCE logic.
FACILITY - The dateTime is provided by a facility (e.g. terminal, airport, container depot, cross-dock station).
P44 - The dateTime is calculated by other P44 services. enum: - UNKNOWN - CARRIER - BROKER - USER - CONTRACT - GEOFENCE - FACILITY - P44 type: string sourceIdentifiers: description: >- An optional list of standardized 3rd party identifiers which provide more detail about the source of this dateTime. Can indicate a specific device, vehicle, carrier, or other freight entity. items: $ref: '#/components/schemas/LogisticsIdentifier' type: array selected: description: >- Denotes whether this dateTime is the one used as the top level dateTime of the event. type: boolean sequence: description: >- A number that indicates the order in which dateTimes of the same type and source were received. format: int32 type: integer required: - dateTime - type type: object TrackedShipmentEvent: description: An event is something that occurs at a point in time for a shipment. properties: dateTime: description: >- The time when this event occurred. If relevant, the offset will be relative to where the event occurred, otherwise will be in UTC. Will only be populated for events that have already happened. type: string dateTimes: description: A list of times retrieved from different sources. items: $ref: '#/components/schemas/TrackedShipmentDateTime' type: array description: description: A human readable description of this event. Optional response field. type: string details: $ref: '#/components/schemas/TrackedShipmentEventDetails' estimateDateTime: description: >- The estimated time that this event is likely to occur. Only populated if event has not occurred yet. type: string estimateLastCalculatedDateTime: description: >- The time when project44 last calculated the estimate for this event. Only populated if event has not occurred yet. type: string plannedDateTime: description: >- The planned time when this event is scheduled to occur. If plannedEndDateTime is set, this is the start of the planned window of time for the event. type: string plannedEndDateTime: description: The end of the planned window of time for the event. type: string receivedDateTime: description: >- The time when project44 received or calculated this event. Will only be populated for events that have already happened. type: string routeSegmentId: description: >- If relevant, this will be populated with the id of a route segment on which this event occurred. This can be used to associate the event with a specific vehicle. format: uuid type: string stopId: description: >- If relevant, this will be populated with the id of the stop to which this event relates. format: uuid type: string type: description: The type of event that occurred. Will always be populated. 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 - 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 type: string title: TrackedShipmentEvent type: object TrackedShipmentEventDetails: description: Optional extended details of an event. properties: mobileTracking: $ref: '#/components/schemas/MobileTrackingEventDetails' ocean: $ref: '#/components/schemas/OceanEventDetails' qualityControl: $ref: '#/components/schemas/QualityControlEventDetails' title: TrackedShipmentEventDetails type: object TrackedShipmentHistory: description: >- The history of everything that has occurred for the shipment during tracking. properties: costs: description: >- All costs incurred for this shipment and the assets contained within. items: $ref: '#/components/schemas/TrackedShipmentCost' type: array events: description: >- All events that occurred for this shipment. Will always be in ascending order by the date the event occurred. items: $ref: '#/components/schemas/TrackedShipmentEvent' type: array exceptions: description: ${ShipmentEventHistory.apiModel.exceptions.value} items: $ref: '#/components/schemas/ShipmentException' type: array positions: description: >- Locations where this shipment has been recorded. Data may be down-sampled. Will always be in ascending order by the date that the shipment was at that position. items: $ref: '#/components/schemas/TrackedShipmentPosition' type: array sharingContext: $ref: '#/components/schemas/SharingContext' shipment: $ref: '#/components/schemas/TrackedShipment' states: description: >- All states that the shipment was or currently is in. Order is not guaranteed. items: $ref: '#/components/schemas/TrackedShipmentState' type: array title: TrackedShipmentHistory type: object TrackedShipmentPosition: description: >- The geographic coordinates where a shipment was at a given point in time. This data may have been down-sampled. properties: dateTime: description: >- The timestamp denoting when the shipment was detected at the given coordinates. type: string latitude: description: The geographic latitude, using the WGS84 coordinate system. format: float type: number longitude: description: The geographic longitude, using the WGS84 coordinate system. format: float type: number receivedDateTime: description: The date and time that project44 received this position data. type: string routeSegmentId: description: >- The route segment on which the shipment was traveling when it was at this position. format: uuid type: string title: TrackedShipmentPosition type: object TrackedShipmentRouteSegment: description: Describes how a shipment moved between 2 stops. properties: emissions: $ref: '#/components/schemas/EmissionData' fromStopId: description: >- The starting stop of this route segment. Will always be populated on response. format: uuid type: string id: description: The id of this route segment. Will always be populated on response. format: uuid type: string identifiers: description: >- Identifiers that are not part of the overall shipment but are relevant to this route segment. items: $ref: '#/components/schemas/LogisticsIdentifier' type: array toStopId: description: >- The ending stop of this route segment. Will always be populated on response. format: uuid type: string transportationMode: description: >- The mode of transportation on which the shipment was traveling. Will always be populated on response. enum: - AIR - OCEAN - RAIL - UNKNOWN - TRUCKLOAD - PARCEL - LTL - BARGE type: string title: TrackedShipmentRouteSegment type: object TrackedShipmentRouteSegment_1: description: Describes how a shipment moved between 2 stops. properties: emissions: $ref: '#/components/schemas/EmissionData_1' fromStopId: description: >- The starting stop of this route segment. Will always be populated on response. format: uuid type: string id: description: The id of this route segment. Will always be populated on response. format: uuid type: string identifiers: description: >- Identifiers that are not part of the overall shipment but are relevant to this route segment. items: $ref: '#/components/schemas/LogisticsIdentifier' type: array toStopId: description: >- The ending stop of this route segment. Will always be populated on response. format: uuid type: string transportationMode: description: >- The mode of transportation on which the shipment was traveling. Will always be populated on response. enum: - AIR - OCEAN - RAIL - UNKNOWN - TRUCKLOAD - PARCEL - LTL - BARGE type: string title: TrackedShipmentRouteSegment_1 type: object TrackedShipmentState: description: >- A state is some condition that the shipment was in between a start and end time. States are always started and ended by an event. properties: endDateTime: description: >- The time that this state ended. May not be populated if the shipment is still in this state. type: string routeSegmentId: description: >- If relevant, this will be populated with the id of a route segment on which this state occurred. format: uuid type: string startDateTime: description: >- The time that this state began. May not be populated if the shipment is not yet in this state or if we do not have data for when this state began. type: string stopId: description: >- If relevant, this will be populated with the id of the stop to which this state relates format: uuid type: string type: description: >- The specific type of state that the shipment was in. Will always be populated. enum: - UNKNOWN - AT_STOP - IN_TRANSIT_AIRCRAFT - IN_TRANSIT_VESSEL - IN_TRANSIT_RAIL - CUSTOMS_HOLD - IN_TRANSIT - COMPLETED - SCHEDULED - IDLE - ACTION_REQUIRED type: string title: TrackedShipmentState type: object TrackedShipmentStop: description: Information about a stop. properties: id: description: The id of this stop. Will always be populated on response. format: uuid type: string type: description: The type of stop. enum: - UNKNOWN - ORIGIN - DESTINATION - TRANSFER - OTHER - PORT_OF_LOADING - TRANSSHIPMENT_PORT - PORT_OF_DISCHARGE - PICKUP - DELIVERY - RETURN - WAREHOUSE - HUB - AIRPORT type: string location: $ref: '#/components/schemas/TrackedShipmentStopLocation' type: object TrackedShipmentStopLocation: description: The location of the stop. properties: id: description: The id of the location. format: uuid type: string name: description: The name of the location. type: string identifiers: description: List of standard identifiers associated with this location. items: $ref: '#/components/schemas/TrackedShipmentStopLocationIdentifier' type: array address: $ref: '#/components/schemas/Address' coordinates: $ref: '#/components/schemas/GeoCoordinates' timeZone: description: >- TZ database identifier of the time zone at the stop (https://www.iana.org/time-zones) type: string required: - address - identifiers - name type: object xml: name: TrackedShipmentStopLocation TrackedShipmentStopLocationIdentifier: description: Standard identifier used to identify a location. properties: type: description: The type of identifier and authority who assigns these identifiers. enum: - AIRPORT_IATA - AIRPORT_ICAO - EXTERNAL - LOCODE - NAME - PORT_UN_LOCODE - FACILITY_ID - RAIL_SPLC - RAIL_UIC - RAIL_EU_PLC - UNKNOWN type: string value: description: The value of the identifier. type: string required: - type - value type: object TrackedShipmentWithEvents: description: Shipment tracking model used to initiate a shipment. properties: accessGroups: description: >- This set is populated when a shipment is entitled to specific access groups, it denotes which group(s) are entitled visibility. items: $ref: '#/components/schemas/AccessGroup' type: array attributes: description: >- An optional user-defined set of custom attributes to associate with this shipment. items: $ref: '#/components/schemas/CustomAttribute' type: array costs: description: >- All costs incurred for this shipment and the assets contained within. items: $ref: '#/components/schemas/TrackedShipmentCost' type: array createdDateTime: description: >- The date and time when this shipment was created. This value is read only and will be ignored during shipment creation. type: string events: description: All events that occurred for this shipment. items: $ref: '#/components/schemas/TrackedShipmentEvent' type: array id: description: >- Master shipment id of the shipment. Will always be populated on the response. format: uuid type: string identifiers: description: >- Used to identify a shipment.

Only the following identifier types are accepted when creating or updating a shipment: items: $ref: '#/components/schemas/LogisticsIdentifier' type: array lastModifiedDateTime: description: >- The date and time when this shipment was last modified. This value is read only and will be ignored during shipment creation or modification. type: string plan: $ref: '#/components/schemas/ShipmentPlan' relatedShipments: description: List of related shipments of the parent shipment. This is optional. items: $ref: '#/components/schemas/SimpleTrackedShipment' type: array routeInfo: $ref: '#/components/schemas/ShipmentRouteInfo' shipmentShareLink: description: Public link to view the shipment in the VOC. type: string title: TrackedShipmentWithEvents type: object TrackingStatusEvent: properties: type: enum: - TRACKING_INITIATE - TRACKING_START - TRACKING_END_BY_USER - TRACKING_END_DUE_TO_TIMEOUT - TRACKING_FAILED - TRACKING_COMPLETE - TRACKING_STOP - DRIVER_DENY_TRACKING - UNKNOWN_EQUIPMENT_IDENTIFIER - MISSING_EQUIPMENT_IDENTIFIER - UNKNOWN type: string dateTime: format: date-time type: string required: - type type: object TrailerType: description: An enumeration. enum: - FLATBED - REFRIGERATED - DRY_VAN type: string TransitTimeQuote: description: A transit time quote response. properties: capacityProviderAccountGroup: $ref: '#/components/schemas/CapacityProviderAccountGroup' carrierCode: description: >- SCAC of the carrier to which this rate quote applies. This is used to differentiate among rate quotes from capacity providers that support multiple SCACs. type: string deliveryDateTime: description: >- The delivery date and time, if provided. (format: yyyy-MM-dd'T'HH:mm:ss) format: date-time type: string errorMessages: description: >- System messages and messages from the capacity provider with severity 'ERROR'. No messages with severity 'INFO' or 'WARNING' will be returned here. items: $ref: '#/components/schemas/Message' type: array infoMessages: description: >- System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array transitDays: description: >- The number of service days to deliver the shipment being quoted after it is picked up. format: int32 type: integer title: TransitTimeQuote type: object TransitTimeQuoteApiConfiguration: description: Contains fields used to configure the transit time quote API. properties: fallBackToDefaultAccountGroup: description: >- If set to 'true' and the provided capacity provider account group code is invalid, the default capacity provider account group will be used. When 'false', an error will be returned if the provided capacity provider account group code is invalid. (default: 'false') type: boolean timeout: description: >- Number of seconds to wait for a capacity provider to return a transit time quote. (default: '10') format: int32 type: integer title: TransitTimeQuoteApiConfiguration type: object TransitTimeQuoteCollection: description: >- Container for a list of transit time quotes returned by a transit time quote query. properties: transitTimeQuotes: description: List of transit time quotes from all capacity providers requested. items: $ref: '#/components/schemas/TransitTimeQuote' type: array title: TransitTimeQuoteCollection type: object TransitTimeQuoteQuery: description: A transit time quote request. properties: apiConfiguration: $ref: '#/components/schemas/TransitTimeQuoteApiConfiguration' capacityProviderAccountGroup: $ref: '#/components/schemas/CapacityProviderAccountGroup' destinationAddress: $ref: '#/components/schemas/Address' originAddress: $ref: '#/components/schemas/Address' pickupDate: description: >- The pickup date in the timezone of the origin location of the shipment being quoted. (default: current date; format: yyyy-MM-dd) format: date type: string title: TransitTimeQuoteQuery type: object TransportationMode: description: The mode of transportation used to move the freight. properties: enumValue: enum: - AIR - OCEAN - RAIL - UNKNOWN - TRUCKLOAD - PARCEL - LTL - BARGE type: string title: TransportationMode type: object TransportationMode_1: description: The mode of transportation used to move the freight. title: TransportationMode_1 type: object TruckLoadPreferenceType: description: An enumeration. enum: - FULL - PARTIAL type: string TruckType: description: The type of truck being requested. enum: - AUTO_CARRIER - B_TRAIN - CONESTOGA - CONTAINER - CONTAINER_INSULATED - CONTAINER_REFRIGERATED - CONVEYOR - DOUBLE_DROP - DROP_DECK_LANDOLL - DUMP_TRAILER - FLAT_BED - FLATBED_AIR_RIDE - FLATBED_CONESTOGA - FLATBED_DOUBLE - FLATBED_HAZMAT - FLATBED_HOTSHOT - FLATBED_MAXI - FLATBED_STEP_DECK - FLATBED_OVERDOMENSION - FLATBED_OVERDIMENSION - FLATBED_CHAINS - FLATBED_SIDES - FLATBED_TARPS - FLATBED_TEAM - FLATBED_VAN_REEFER - HOPPER_BOTTOM - INSULATED_VAN_REEFER - LOWBOY - LOWBOY_REM_GOOSENECK - LOWBOY_OVERDIMENSION - MOVING_VAN - PNEUMATIC - POWER_ONLY - REEFER - REEFER_AIR_RIDE - REEFER_DOUBLE - REEFER_HAZMAT - REEFER_INTERMODAL - REEFER_LOGISTICS - REEFER_VENTED_VAN - REEFER_PALLET_EXCHANGE - REEFER_TEAM - REMOVABLE_GOOSENECK - STEP_DECK - STEP_DECK_REM_GOOSENECK - STEP_DECK_CONESTOGA - STRAIGHT_BOX_TRUCK - STRETCH_TRAILER - TANKER_ALUMINUM - TANKER_INTERMODAL - TANKER_STEEL - TRUCK_AND_TRAILER - DRY_VAN - VAN - VAN_AIR_RIDE - VAN_BLANKET_WRAP - VAN_CONESTOGA - VAN_DOUBLE - VAN_HAZMAT - VAN_HOTSHOT - VAN_INSULATED - VAN_INTERMODAL - VAN_LIFT_GATE - VAN_LOGISTICS - VAN_OPEN_TOP - VAN_FLATBED - VAN_FLATBED_TARPS - VAN_FLATBET - VAN_FLATBET_TARPS - VAN_REEFER - VAN_PALLET_EXCHANGE - VAN_ROLLER_BED - VAN_TRIPLE - VAN_VENTED - VAN_CURTAINS - VAN_TEAM format: enum type: string TruckloadAdditionalAppointmentWindow: description: A user defined appointment window to be used in lists. properties: type: $ref: '#/components/schemas/TruckloadAdditionalAppointmentWindowType' appointmentWindow: $ref: '#/components/schemas/ZonedDateTimeWindow' description: >- The user-defined appointment window of this stop -- i.e., the shipment's expected window of arrival at this stop. This may be used to report whether a shipment is on time to a stop. The start and end times are required for 'appointmentWindow' -- the default start time does not apply to this field. The time zone identifier (e.g., 'America/Chicago') for this date time window is an optional field. If not provided the system will default to the timezone local to the stop. Please note, we will always report back the timezone for the appointment window as local to the stop. appointmentStatus: $ref: '#/components/schemas/AdditionalAppointmentWindowStatus' description: >- This is the state of the appointment as determined by the source appointment management system. This status is used to represent where the appointment is within its lifecycle, it does not represent the physical state of the asset fulfilling the appointment. identifiers: description: >- A list of identifiers of the additional appointment windows to a shipment. items: $ref: '#/components/schemas/AdditionalAppointmentWindowIdentifier' type: array required: - appointmentWindow - type TruckloadAdditionalAppointmentWindowStatus: description: Calculated status for an additional appointment window of a given type properties: scanDateTime: description: >- The scan date and time used in the calculation of this additional appointment window status.( format: yyyy-MM-dd'T'HH:mm:ssZ) format: date-time type: string windowType: $ref: '#/components/schemas/TruckloadAdditionalAppointmentWindowType' description: >- The type of additional appointment window to which this additional appointment window status belongs statusCode: $ref: '#/components/schemas/TruckloadAdditionalAppointmentWindowStatusCode' required: - scanDateTime - statusCode - windowType TruckloadAdditionalAppointmentWindowStatusCode: description: The status of the additional appointment window enum: - EARLY - ON_TIME - LATE format: enum type: string TruckloadAdditionalAppointmentWindowType: description: The type of appointment window. enum: - STRATEGIC - SLOT_BOOKING_PICKUP - SLOT_BOOKING_DELIVERY - SLOT_BOOKING_PICKUP_DELIVERY format: enum type: string TruckloadArrivalEstimate: properties: estimatedArrivalWindow: $ref: '#/components/schemas/OffsetDateTimeWindow' lastCalculatedDateTime: description: 'When this eta was last computed. (format: yyyy-MM-dd''T''HH:mm:ssZ)' type: string title: TruckloadArrivalEstimate type: object TruckloadAssetCollection: description: List of matching asset identifiers properties: infoMessages: description: List of messages associated with the results items: $ref: '#/components/schemas/Message' type: array paginationInfo: $ref: '#/components/schemas/PaginationInfo' results: description: List of resources contained on this page. items: $ref: '#/components/schemas/TruckloadEquipmentIdentifier' type: array title: TruckloadAssetCollection type: object TruckloadBookingResponseDetails: properties: {} type: object TruckloadCapacityProviderPushShipmentStop: properties: address: $ref: '#/components/schemas/Address' appointmentWindow: $ref: '#/components/schemas/ZonedDateTimeWindow' arrivalDateTime: format: date-time type: string carrierSuppliedEta: type: string contact: $ref: '#/components/schemas/Contact' departureDateTime: format: date-time type: string stopName: type: string stopNumber: format: int32 type: integer title: TruckloadCapacityProviderPushShipmentStop type: object TruckloadCapacityProviderPushStatusUpdate: properties: carrierIdentifier: $ref: '#/components/schemas/CapacityProviderIdentifier' customerId: type: string equipmentIdentifiers: items: $ref: '#/components/schemas/TruckloadEquipmentIdentifier' type: array eventStopNumber: format: int32 type: integer eventType: enum: - DELIVERED - CANCELLED - DEPARTED - ARRIVED - DISPATCHED - LOADING - UNLOADING - SCANNED_AT_STOP - POSITION - GATE_IN - GATE_OUT - ARRIVED_AT_TERMINAL - DEPARTED_TERMINAL type: string hoursOfServiceRemaining: format: int32 type: integer latestTemperature: type: number latestTemperatureUnit: enum: - F - C type: string latitude: type: number longitude: type: number shipmentIdentifiers: items: $ref: '#/components/schemas/TruckloadShipmentIdentifier' type: array shipmentStops: items: $ref: '#/components/schemas/TruckloadCapacityProviderPushShipmentStop' type: array utcTimestamp: format: date-time type: string title: TruckloadCapacityProviderPushStatusUpdate type: object TruckloadCapacityProviderTenderAcceptance: description: An object that a capacity provider pushes to accept a Truckload Tender. properties: capacityProviderOfferIdentifier: description: >- This field contains the identifier that should be used to select this capacity provider's offer for dispatching. type: string carrierIdentifier: $ref: '#/components/schemas/CapacityProviderIdentifier' equipmentIdentifiers: description: >- Carrier provided equipment identifiers that can be used to facilitate tracking. items: $ref: '#/components/schemas/TruckloadEquipmentIdentifier' type: array offerExpirationDateTime: description: >- The expiration date time of this capacity provider offer. A time zone offset must be provided. (format: yyyy-MM-dd'T'HH:mm:ssZ, example: 2019-11-14T12:30:00-0500). type: string trackingShipmentIdentifiers: description: >- Carrier provided shipment identifiers that can be used to facilitate tracking. items: $ref: '#/components/schemas/TruckloadTenderTrackingShipmentIdentifier' type: array title: TruckloadCapacityProviderTenderAcceptance type: object TruckloadCapacityProviderTenderAcceptanceConfirmation: properties: infoMessages: description: >- System messages with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array tenderAcceptance: $ref: '#/components/schemas/TruckloadCapacityProviderTenderAcceptance' tenderIdentifier: description: The capacity provider's identifier for the tender being accepted. type: string title: TruckloadCapacityProviderTenderAcceptanceConfirmation type: object TruckloadCapacityProviderTenderDecline: description: >- An object that a capacity provider pushes in order to decline a specific Truckload Tender properties: capacityProviderDeclineIdentifier: description: >- The capacity provider's identifier that references their decision to decline this tender. type: string declineReason: description: >- A more detailed description of the capacity provider's reason for declining this tender. type: string declineReasonCode: description: The capacity provider's reason for declining this tender. enum: - DECLINED_CAPACITY_TYPE - DECLINED_CAPACITY_UNAVAILABLE - DECLINED_EQUIPMENT_TYPE - DECLINED_EQUIPMENT_UNAVAILABLE - DECLINED_LENGTH_OF_HAUL - DECLINED_PERMITS - DECLINED_WEIGHT type: string title: TruckloadCapacityProviderTenderDecline type: object TruckloadCapacityProviderTenderDeclineConfirmation: properties: infoMessages: description: >- System messages with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array tenderIdentifier: description: The capacity provider's identifier for the tender being declined. type: string title: TruckloadCapacityProviderTenderDeclineConfirmation type: object TruckloadCapacityProviderTenderError: description: >- An object that a capacity provider pushes in order to indicate a error with the Truckload Tender properties: capacityProviderErrorIdentifier: description: >- The capacity provider's identifier that references their error for this tender. type: string errorReason: description: >- A description of the capacity provider's reason for reporting an error with this tender. type: string title: TruckloadCapacityProviderTenderError type: object TruckloadCapacityProviderTenderErrorConfirmation: properties: infoMessages: description: >- System messages with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array tenderIdentifier: description: The capacity provider's identifier for the tender having an error. type: string title: TruckloadCapacityProviderTenderErrorConfirmation type: object TruckloadCapacityProviderTenderRateQuote: description: >- An object that represents a capacity provider's rate quote for a truckload tender. properties: capacityProviderOfferIdentifier: description: >- This field contains the identifier that should be used to select this capacity provider's offer for dispatching. type: string carrierIdentifier: $ref: '#/components/schemas/CapacityProviderIdentifier' currency: description: The currency used to express the capacity provider's quoted price. enum: - USD - CAD - MXN - EUR type: string equipmentIdentifiers: description: >- Carrier provided equipment identifiers that can be used to facilitate tracking. items: $ref: '#/components/schemas/TruckloadEquipmentIdentifier' type: array offerExpirationDateTime: description: >- The expiration date time of this capacity provider offer. A time zone offset must be provided. (format: yyyy-MM-dd'T'HH:mm:ssZ, example: 2019-11-14T12:30:00-0500). type: string rateQuoteDetail: $ref: '#/components/schemas/TruckloadRateQuoteDetail' trackingShipmentIdentifiers: description: >- Carrier provided shipment identifiers that can be used to facilitate tracking. items: $ref: '#/components/schemas/TruckloadTenderTrackingShipmentIdentifier' type: array title: TruckloadCapacityProviderTenderRateQuote type: object TruckloadCapacityProviderTenderRateQuoteConfirmation: properties: infoMessages: description: >- System messages with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array rateQuote: $ref: '#/components/schemas/TruckloadCapacityProviderTenderRateQuote' tenderIdentifier: description: The capacity provider's identifier for the tender being quoted. type: string title: TruckloadCapacityProviderTenderRateQuoteConfirmation type: object TruckloadChargeCode: description: >- The code for this charge, as defined in the capacity provider's metadata. enum: - LH - FSC format: enum type: string TruckloadEquipmentIdentifier: properties: shouldDelete: description: >- Optional field indicating whether equipment identifier should be deleted. type: boolean type: description: The type of the equipment identifier. enum: - MOBILE_PHONE_NUMBER - VEHICLE_ID - LICENSE_PLATE - SENSITECH_DEVICE_ID - TIVE_DEVICE_ID type: string value: description: >- The value of the equipment identifier. Cell phone numbers will be obfuscated in project44 responses for privacy reasons. type: string title: TruckloadEquipmentIdentifier type: object TruckloadEquipmentIdentifierAssignment: properties: carrierIdentifier: $ref: '#/components/schemas/CapacityProviderIdentifier' customerAccountNumber: type: string equipmentIdentifiers: items: $ref: '#/components/schemas/TruckloadEquipmentIdentifier' type: array scheduledTruckChangeDateTime: type: string shipmentIdentifiers: items: $ref: '#/components/schemas/TruckloadShipmentIdentifier' type: array shouldDelete: type: boolean title: TruckloadEquipmentIdentifierAssignment type: object TruckloadEquipmentIdentifierChange: description: Contains a scheduled truck change. properties: timestamp: description: The moment when the equipment identifier change should happen type: string type: description: >- The type of the equipment identifier, should be one of MOBILE_PHONE_NUMBER, VEHICLE_ID, LICENSE_PLATE, SENSITECH_DEVICE_ID, EMERSON_DEVICE_ID, TIVE_DEVICE_ID or CONTAINER_ID enum: - MOBILE_PHONE_NUMBER - VEHICLE_ID - LICENSE_PLATE - SENSITECH_DEVICE_ID - EMERSON_DEVICE_ID - TIVE_DEVICE_ID - CONTAINER_ID type: string value: description: The value of the equipment identifier type: string title: TruckloadEquipmentIdentifierChange type: object TruckloadEquipmentValidationResult: description: Result of an equipment validation check properties: exists: description: >- True if asset exists in project44 platform. If equipment type is not MOBILE_PHONE_NUMBER and LICENSE_PLATE, capacity provider must be the owner of the equipment, otherwise false. type: boolean ownershipStatus: description: ${TruckloadEquipmentValidation.apiModel.ownershipStatus.value} enum: - CONNECTED - NOT_CONNECTED - INDETERMINATE - UNKNOWN type: string valid: description: >- True if the identifier may be used to initiate tracking, otherwise false. type: boolean title: TruckloadEquipmentValidationResult type: object TruckloadExternalArrivalEstimate: description: >- External arrival estimate object that contains the source and the actual date and time value. properties: source: $ref: '#/components/schemas/ArrivalEstimateSource' description: The source of the external arrival estimate. dateTime: description: >- The date and time value of the external arrival estimate. (format: yyyy-MM-dd'T'HH:mm:ssZ) format: date-time type: string required: - dateTime - source TruckloadIntermediateStopsUpdate: description: Update the intermediate stops on a shipment. properties: carrierIdentifier: $ref: '#/components/schemas/CapacityProviderIdentifier' customerAccountNumber: type: string shipmentIdentifiers: items: $ref: '#/components/schemas/TruckloadShipmentIdentifier' type: array shipmentStops: items: $ref: '#/components/schemas/TruckloadShipmentIntermediateStop' type: array title: TruckloadIntermediateStopsUpdate type: object TruckloadRateQuoteDetail: properties: total: description: The final total for this quote. type: number subtotal: description: Subtotal prior to discounts. type: number charges: description: >- A list of individual charges making up the total. Not all capacity providers provide charge breakdowns. items: $ref: '#/components/schemas/TruckloadVendorCharge' type: array xml: wrapped: true TruckloadShipment: properties: apiConfiguration: $ref: '#/components/schemas/TruckloadShipmentApiConfiguration' attributes: description: >- A list of up to 5 attributes (name/value pairs) to associate with this shipment. These values will be returned unchanged with each status response for the shipment and can also be used to group together related shipments in reporting scenarios, e.g. all shipments tracked for "division":"Central". The attribute names have to be unique within the list. These attributes may optionally be predefined by your organization's admin items: $ref: '#/components/schemas/ShipmentAttribute' type: array capacityProviderAccountGroup: $ref: '#/components/schemas/CapacityProviderAccountGroup' carrierIdentifier: $ref: '#/components/schemas/CapacityProviderIdentifier' equipmentIdentifierChanges: description: >- A list of equipment identifier changes that should be applied to the shipment items: $ref: '#/components/schemas/TruckloadEquipmentIdentifierChange' type: array equipmentIdentifiers: description: >- A user-defined list of equipment identifiers identifying truckload equipment that can be tracked, such as cell phones and electronic logging devices (ELDs). These need not be unique to this shipment. items: $ref: '#/components/schemas/TruckloadEquipmentIdentifier' type: array id: description: >- The project44-generated id for the shipment. This may not be provided when creating a shipment, but will always be returned in the shipment confirmation. This id may be used in subsequent API calls to reference a shipment. format: int64 type: integer idleDuration: description: >- Computed value representing how long (in minutes) shipment is being Idle. This value is available while whole status history is being requested. format: int64 type: integer masterShipmentId: description: >- The project44-generated id for tracking an intermodal shipment. This id may be used in subsequent API calls to reference a shipment. format: uuid type: string pointsOfInterest: description: A user-defined list of all the point of interest for the shipment. items: $ref: '#/components/schemas/TruckloadShipmentPointOfInterest' type: array sensors: description: A list of sensors to track. items: $ref: '#/components/schemas/TruckloadShipmentSensor' type: array shipmentDetails: $ref: '#/components/schemas/TruckloadTrackingShipmentDetails' shipmentIdentifiers: description: >- A user-defined list of shipment identifiers that are unique to this shipment and carrier identifier. These may be used in subsequent API calls along with the carrier identifier to reference a shipment. They may also be used by project44 to track the shipment. Only one shipment identifier of each type may be provided. items: $ref: '#/components/schemas/TruckloadShipmentIdentifier' type: array shipmentLegId: description: >- The project44-generated id for the truckload shipment. This id may be used in subsequent API calls to reference a shipment. format: uuid type: string shipmentStops: description: >- A user-defined list of all the shipment stops for the shipment, including stop locations and appointment windows. This list must contain the shipment's origin and destination and any stops of interest in between (other pickup or delivery locations). items: $ref: '#/components/schemas/TruckloadShipmentStop' type: array shippingDetails: $ref: '#/components/schemas/TruckloadShippingDetails' trackingDetails: description: >- Contains information about how we obtain tracking data for the shipment. Currently, this list always includes either zero or one active tracking method. Future versions will be able to combine data from more than one tracking method. In that case, the primary tracking method will be listed first. items: $ref: '#/components/schemas/TruckloadTrackingMethodDetails' type: array title: TruckloadShipment type: object TruckloadShipmentAction: properties: code: description: The code for the action to be taken on the shipment. enum: - CANCEL type: string title: TruckloadShipmentAction type: object TruckloadShipmentActionConfirmation: properties: infoMessages: description: >- System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array title: TruckloadShipmentActionConfirmation type: object TruckloadShipmentApiConfiguration: description: Contains fields used to configure the truckload shipment API. properties: fallBackToDefaultAccountGroup: description: >- If set to 'true' and the provided capacity provider account group code is invalid, the default capacity provider account group will be used. When 'false', an error will be returned if the provided capacity provider account group code is invalid. (default: 'false') type: boolean webhookEndpointConfigName: description: A unique name used to identify the Webhook Endpoint. type: string enableIntelligentMatching: description: >- If set to true, project44 will attempt to automatically assign an equipment identifier on the shipment for telematics enabled carriers. If validation passes by customer or carrier, that equipment identifier will take precedent. This does not include mobile phone numbers. If set to false, project44 will not automatically assign an equipment identifier on the shipment. (default: 'true') type: boolean TruckloadShipmentConfirmation: properties: infoMessages: description: >- System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array shipment: $ref: '#/components/schemas/TruckloadShipment' title: TruckloadShipmentConfirmation type: object TruckloadShipmentHazmatDetails: description: >- Contains fields that describe what hazardous materials the shipment contains, if any. properties: hazardClasses: description: >- User-defined list of hazardous materials, if any that are included in the shipment. items: type: string xml: name: hazardClass type: array xml: wrapped: true TruckloadShipmentIdentifier: properties: type: $ref: '#/components/schemas/TruckloadShipmentIdentifierType' value: description: The value of the shipment identifier. type: string required: - type - value TruckloadShipmentIdentifierType: description: The type of the shipment identifier. enum: - BILL_OF_LADING - ORDER format: enum type: string TruckloadShipmentIntermediateStop: properties: appointmentWindow: $ref: '#/components/schemas/ZonedDateTimeWindow' description: >- The user-defined appointment window of this stop -- i.e., the shipment's expected window of arrival at this stop. This may be used to report whether a shipment is on time to a stop. The start and end times are required for 'appointmentWindow' -- the default start time does not apply to this field. The time zone identifier (e.g., 'America/Chicago') for this date time window is an optional field. If not provided the system will default to the timezone local to the stop. Please note, we will always report back the timezone for the appointment window as local to the stop. location: $ref: '#/components/schemas/Location' description: >- The user-defined location of this stop, including a contact and an optional address. stopName: description: >- The optionally user-defined name of this stop. This is a freeform field. Project44 will default the name of each stop based on the stop number, if no name is provided. type: string geoCoordinates: $ref: '#/components/schemas/GeoCoordinates' description: >- The latitude and longitude of this stop, determined by geocoding the user-defined address. This field may not be provided when creating a shipment, but will always be returned. required: - appointmentWindow TruckloadShipmentLineItem: description: Contains fields that describe a TruckloadShipment LineItem. properties: commodityCode: description: >- This code dictates the duty rating, as well as alerts you to any import or export restrictions. type: string contact: $ref: '#/components/schemas/Contact' deliveryStopNumber: description: A reference to the stop number where this item will be delivered. format: int32 type: integer description: description: Shipper's description for this item. type: string freightClass: description: The freight class for this item. enum: - '50' - '55' - '60' - '65' - '70' - '77.5' - '85' - '92.5' - '100' - '110' - '125' - '150' - '175' - '200' - '250' - '300' - '400' - '500' type: string handlingUnitPackageType: description: The packaging used to handle the lineItem during transport. enum: - PLT - BALE - BOX - BUNDLE - CASE - CRATE - DRUM - REEL - ROLL - SKID - CONTAINER type: string handlingUnitQuantity: description: >- Quantify of handling units (Cases, pallets, etc) that constitute the lineItem. format: int32 type: integer involvedParties: description: >- A list of parties and their identifiers related to the line item. These are your customers receiving this line item or your suppliers providing this line item. items: $ref: '#/components/schemas/Party' type: array itemIdentifiers: description: Useful identifiers that can be attached to this item. items: $ref: '#/components/schemas/LineItemIdentifier' type: array itemPackageType: description: The type of packaging used for the items inside the handling unit. enum: - BAG - BALE - BOX - BUCKET - BUNDLE - CAN - CARTON - CASE - COIL - CRATE - CYLINDER - DRUM - PAIL - PLT - PIECES - REEL - ROLL - SKID - TOTE - TUBE type: string itemQuantity: description: The number of items inside the handling unit. format: int32 type: integer monetaryValue: $ref: '#/components/schemas/MonetaryValue' pickupStopNumber: description: A reference to the stop number where this item will be picked up. format: int32 type: integer subLineItems: description: The sub-line items for this item. items: $ref: '#/components/schemas/TruckloadShipmentSubLineItem' type: array totalWeight: $ref: '#/components/schemas/Weight' title: TruckloadShipmentLineItem type: object TruckloadShipmentNotificationRule: description: >- Contains fields describing properties of rule that triggered a push notification properties: ruleInfo: description: |- Rule information per rule type: DEPRECATED_SHIPMENT_LATE : [( minutesLate : Long ), ( stopNumber : Long ), ( stopType : String )] DEPRECATED_SHIPMENT_NEAR_ARRIVAL : [( minutesUntilArrival : Long ), ( stopNumber : Long ), ( stopType : String )] DEPRECATED_SHIPMENT_DEPARTED : [( stopNumber : Long ), ( stopType : String )] ALL_UPDATES : [] SHIPMENT_LATE : [( minutesLate : Long ), ( stopNumber : Long ), ( stopType : String )] SHIPMENT_NEAR_ARRIVAL : [( minutesUntilArrival : Long ), ( stopNumber : Long ), ( stopType : String )] SHIPMENT_DEPARTED : [( stopNumber : Long ), ( stopType : String )] SHIPMENT_TRACKING_APPROVAL_DENIED : [] SHIPMENT_DWELLING : [( minutesDwelling : Long ), ( stopNumber : Long ), ( stopType : String )] SHIPMENT_IDLE_IN_TRANSIT : [( minutesIdle : Long ), ( stopNumber : Long ), ( stopType : String )] TEMPERATURE_OUT_OF_RANGE : [( minutesTemperatureOutOfRange : Long )] TRACKING_APPROVAL_PENDING : [( minutesBeforeAppointmentWindow : Long )] properties: {} type: object ruleType: description: The rule type that triggered a push notification. enum: - DEPRECATED_SHIPMENT_LATE - DEPRECATED_SHIPMENT_NEAR_ARRIVAL - DEPRECATED_SHIPMENT_DEPARTED - ALL_UPDATES - SHIPMENT_LATE - SHIPMENT_NEAR_ARRIVAL - SHIPMENT_DEPARTED - SHIPMENT_TRACKING_APPROVAL_DENIED - SHIPMENT_DWELLING - SHIPMENT_IDLE_IN_TRANSIT - TEMPERATURE_OUT_OF_RANGE - TRACKING_APPROVAL_PENDING type: string title: TruckloadShipmentNotificationRule type: object TruckloadShipmentPointOfInterest: properties: geoCoordinates: $ref: '#/components/schemas/GeoCoordinates' location: $ref: '#/components/schemas/Location' locationIdentifiers: description: >- The identifiers associated with the user-defined point of interest location, to be used with the Stop Location API. items: $ref: '#/components/schemas/LocationIdentifier' type: array pointOfInterestDescription: description: >- The optionally user-defined description of this point of interest. This is a freeform field. type: string pointOfInterestId: description: The user-defined id that uniquely identifies point of interest. type: string pointOfInterestName: description: >- The optionally user-defined name of this point of interest. This is a freeform field. Project44 will default the name of each point of interest, if no name is provided. type: string pointOfInterestType: description: >- The type of point of interest indicating whether this is a general point of interest or point of interest for truck change. enum: - GENERAL - TRUCK_CHANGE type: string shouldDelete: description: The optionally field to mark point of interest for deletion. type: boolean title: TruckloadShipmentPointOfInterest type: object TruckloadShipmentPointOfInterestRecordedEntry: properties: entryDateTime: description: UTC time for entry event for that point of interest. type: string exitDateTime: description: UTC time for exit event for that point of interest. type: string title: TruckloadShipmentPointOfInterestRecordedEntry type: object TruckloadShipmentPointOfInterestStatus: properties: pointOfInterestId: description: The user-defined id that uniquely identifies point of interest. type: string recordedEntries: description: The ordered list of all paired entries and exits events. items: $ref: '#/components/schemas/TruckloadShipmentPointOfInterestRecordedEntry' type: array totalDwellTime: description: Total dwell time of truck inside of point of interest. format: int64 type: integer title: TruckloadShipmentPointOfInterestStatus type: object TruckloadShipmentSensor: properties: identifier: $ref: '#/components/schemas/TruckloadShipmentSensorIdentifier' max: description: The max value for triggering over max status. format: double type: number min: description: The min value for triggering under min status. format: double type: number target: description: The target value. format: double type: number title: TruckloadShipmentSensor type: object TruckloadShipmentSensorHistory: properties: readings: description: The sensor's readings items: $ref: '#/components/schemas/TruckloadShipmentSensorReading' type: array sensor: $ref: '#/components/schemas/TruckloadShipmentSensor' title: TruckloadShipmentSensorHistory type: object TruckloadShipmentSensorIdentifier: properties: type: description: The type of the sensor identifier. enum: - TEMPERATURE type: string value: description: The value of the sensor identifier. type: string title: TruckloadShipmentSensorIdentifier type: object TruckloadShipmentSensorReading: properties: utcTimestamp: description: The UTC timestamp of the sensor reading. format: date-time type: string value: description: The value at the time of the sensor reading. format: double type: number title: TruckloadShipmentSensorReading type: object TruckloadShipmentStatus: properties: infoMessages: description: >- System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. items: $ref: '#/components/schemas/Message' type: array latestStatusUpdate: $ref: '#/components/schemas/TruckloadShipmentStatusUpdate' latestStopStatuses: description: >- The most up-to-date statuses of the vehicle in relation to each stop. One and only one status will always be returned for each stop. If the shipment does not have status 'COMPLETED' or 'DISPATCHED', this list will always contain one and only one stop status with a code of either 'EN_ROUTE' or 'ARRIVED'. items: $ref: '#/components/schemas/TruckloadShipmentStopStatus' type: array mapUrl: description: Publicly accessible URL to the shipment details page. type: string notificationRule: $ref: '#/components/schemas/TruckloadShipmentNotificationRule' pointOfInterestStatus: description: >- A list of status and their identifiers related to the point of interest. items: $ref: '#/components/schemas/TruckloadShipmentPointOfInterestStatus' type: array sensorHistories: description: If requested, all available shipment sensor histories. items: $ref: '#/components/schemas/TruckloadShipmentSensorHistory' type: array shipment: $ref: '#/components/schemas/TruckloadShipment' statusUpdates: description: If requested, all available shipment status updates. items: $ref: '#/components/schemas/TruckloadShipmentStatusUpdate' type: array title: TruckloadShipmentStatus type: object TruckloadShipmentStatusReason: properties: code: description: >- The reason code for the status of the status update. A status of 'DISPATCHED' will have one of the following reason codes: 'PENDING_TRACKING_METHOD', 'SCHEDULED', 'PENDING_APPROVAL', 'PENDING_CARRIER' or 'ACQUIRING_LOCATION'. A status of 'IN_TRANSIT' will have one of the following reason codes: 'IN_MOTION' or 'IDLE'. A status of 'AT_STOP' will not have a reason. A status of 'COMPLETED' will have one of the following reason codes: 'APPROVAL_DENIED', 'TIMED_OUT', 'CANCELED', or 'DEPARTED_FINAL_STOP'. enum: - PENDING_TRACKING_METHOD - SCHEDULED - PENDING_APPROVAL - ACQUIRING_LOCATION - PENDING_CARRIER - IN_MOTION - IDLE - APPROVAL_DENIED - TIMED_OUT - CANCELED - DEPARTED_FINAL_STOP - ARRIVED_FINAL_STOP - FAILED_TO_ACQUIRE_LOCATION - INFO type: string description: description: A description of the reason for the status of the status update. type: string title: TruckloadShipmentStatusReason type: object TruckloadShipmentStatusUpdate: properties: address: $ref: '#/components/schemas/Address' geoCoordinates: $ref: '#/components/schemas/GeoCoordinates' statusCode: description: >- The status code for this status update. This field will always be populated. enum: - DISPATCHED - IN_TRANSIT - AT_STOP - COMPLETED - TRACKING_FAILED - INFO - DELETED type: string statusReason: $ref: '#/components/schemas/TruckloadShipmentStatusReason' stopNumber: description: >- The stop number to which this status update corresponds, if any. For example, a status update with status code 'AT_STOP' will always have this field populated with the stop number the vehicle is at. format: int32 type: integer timestamp: description: >- The timestamp of this status update in the time zone of the location. If this status update has no location, this timestamp will be in UTC. A time zone offset will always be provided. This field will always be populated (format: yyyy-MM-dd'T'HH:mm:ssZ). type: string title: TruckloadShipmentStatusUpdate type: object TruckloadShipmentStop: properties: stopNumber: description: >- The user-defined stop number, where '1' is for the origin and the destination has the largest number, with any stops in between ordered by appointment time. format: int32 minimum: 1 type: integer appointmentWindow: $ref: '#/components/schemas/ZonedDateTimeWindow' description: >- The user-defined appointment window of this stop -- i.e., the shipment's expected window of arrival at this stop. This may be used to report whether a shipment is on time to a stop. The start and end times are required for 'appointmentWindow' -- the default start time does not apply to this field. The time zone identifier (e.g., 'America/Chicago') for this date time window is an optional field. If not provided the system will default to the timezone local to the stop. Please note, we will always report back the timezone for the appointment window as local to the stop. additionalAppointmentWindows: description: >- Optional user-defined field in which one or many additional appointment windows can be provided on the stop. The associated appointmentWindow values will always be the default window in terms of measuring on time performance. The time zone identifier (e.g., 'America/Chicago') for this date time window is an optional field. If not provided the system will default to the timezone local to the stop. Please note, we will always report back the timezone for the additional appointment window as local to the stop. items: $ref: '#/components/schemas/TruckloadAdditionalAppointmentWindow' type: array location: $ref: '#/components/schemas/Location' description: >- The user-defined location of this stop, including a contact and an optional address. locationIdentifiers: description: >- The identifiers associated with the user-defined stop location, to be used with the Stop Location API. items: $ref: '#/components/schemas/LocationIdentifier' type: array stopName: description: >- The optionally user-defined name of this stop. This is a freeform field. Project44 will default the name of each stop based on the stop number, if no name is provided. type: string geoCoordinates: $ref: '#/components/schemas/GeoCoordinates' description: >- The latitude and longitude of this stop, determined by geocoding the user-defined address. This field may not be provided when creating a shipment, but will always be returned. stopType: $ref: '#/components/schemas/TruckloadShipmentStopType' stopDescription: description: Description related to the stop. type: string involvedParties: description: >- A list of parties and their identifiers related to the shipment stop. These are your customers receiving freight at this stop or your suppliers providing freight from this stop. This field is only functional in tracking at this time. items: $ref: '#/components/schemas/Party' type: array xml: wrapped: true uuid: description: >- UUID that uniquely identifies stop. Automatically generated when shipment is created and will be ignored if provided in the POST request. In a PUT request, will use a provided stop UUID only if it matches an already-persisted stop UUID, and returns a 400 if it does not match any. If no stop UUID is provided in a PUT request, will check whether the provided stop is effectively the same as an already persisted stop and will use the existing UUID if that's the case. Otherwise, will generate and return a new UUID in response to the PUT request. Here, two shipment stops are considered effectively the same if they match across stop number, tenant location id, stop name, stop type, and involved parties. format: uuid type: string externalArrivalEstimate: $ref: '#/components/schemas/TruckloadExternalArrivalEstimate' description: >- Optional object that can be used to provide an external arrival estimate. required: - appointmentWindow TruckloadShipmentStopStatus: properties: additionalAppointmentWindowStatuses: description: >- A calculated list of additional appointment windows statuses for each additional appointment window of a given type at this stop. Valid status code values are EARLY, ON_TIME and LATE. items: $ref: '#/components/schemas/TruckloadAdditionalAppointmentWindowStatus' type: array arrivalCode: description: >- The approximate arrival status of the vehicle at the stop, as recorded. The arrival status is relative to the user-defined appointment window for the stop. enum: - UNKNOWN - EARLY - ON_TIME - LATE type: string arrivalDateTime: description: >- The recorded arrival time of the vehicle at this stop, if available. This time will always be in the time zone of the stop, and a time zone offset will always be provided (format: yyyy-MM-dd'T'HH:mm:ssZ). type: string arrivalEstimate: $ref: '#/components/schemas/TruckloadArrivalEstimate' departureDateTime: description: >- The recorded departure time of the vehicle from this stop, if available. This time will always be in the time zone of the stop, and a time zone offset will always be provided (format: yyyy-MM-dd'T'HH:mm:ssZ). type: string statusCode: description: >- The status of the vehicle relative to this stop -- whether it is presumed to be currently en route to the stop or whether it has been recorded as having arrived or departed the stop. enum: - UNKNOWN - EN_ROUTE - ARRIVED - DEPARTED type: string stopNumber: description: The number of the shipment stop to which this status pertains. format: int32 type: integer title: TruckloadShipmentStopStatus type: object TruckloadShipmentStopType: description: >- The type of stop indicating whether this stop is a pickup location, destination location, or both. enum: - PICKUP - DELIVERY - DELIVERY_PICKUP format: enum type: string TruckloadShipmentSubLineItem: description: Contains fields that describe a TruckloadShipment SubLineItem. properties: commodityCode: description: >- This code dictates the duty rating, as well as alerts you to any import or export restrictions. type: string contact: $ref: '#/components/schemas/Contact' description: description: Shipper's description for this item. type: string freightClass: description: The freight class for this item. enum: - '50' - '55' - '60' - '65' - '70' - '77.5' - '85' - '92.5' - '100' - '110' - '125' - '150' - '175' - '200' - '250' - '300' - '400' - '500' type: string involvedParties: description: >- A list of parties and their identifiers related to the line item. These are your customers receiving this line item or your suppliers providing this line item. items: $ref: '#/components/schemas/Party' type: array itemIdentifiers: description: Useful identifiers that can be attached to this item. items: $ref: '#/components/schemas/LineItemIdentifier' type: array itemPackageType: description: The type of packaging used for the items inside the handling unit. enum: - BAG - BALE - BOX - BUCKET - BUNDLE - CAN - CARTON - CASE - COIL - CRATE - CYLINDER - DRUM - PAIL - PLT - PIECES - REEL - ROLL - SKID - TOTE - TUBE type: string itemQuantity: description: The number of items inside the handling unit. format: int32 type: integer monetaryValue: $ref: '#/components/schemas/MonetaryValue' totalWeight: $ref: '#/components/schemas/Weight' title: TruckloadShipmentSubLineItem type: object TruckloadShipmentTrackingMethod: properties: capacityProviderAccount: $ref: '#/components/schemas/CapacityProviderAccount' equipmentIdentifier: $ref: '#/components/schemas/TruckloadEquipmentIdentifier' infoMessages: description: >- System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here. These will provide more details about the shipment identifier and/or equipment identifier to provide. items: $ref: '#/components/schemas/Message' type: array shipmentIdentifier: $ref: '#/components/schemas/TruckloadShipmentIdentifier' title: TruckloadShipmentTrackingMethod type: object TruckloadShipmentTrackingMethods: properties: trackingMethods: description: >- An ordered list of tracking methods that can be used to track a shipment, with the most robust method available listed first. When creating a shipment, provide as many shipment identifiers and equipment identifiers as possible that match the ones in the tracking methods in this list, preferring ones first in the list over others. Each tracking method will contain either a shipment identifier or an equipment identifier, or both. items: $ref: '#/components/schemas/TruckloadShipmentTrackingMethod' type: array title: TruckloadShipmentTrackingMethods type: object TruckloadShipmentTruckDetails: description: Contains fields describing properties of the truck. properties: truckDimensions: $ref: '#/components/schemas/TruckloadShipmentTruckDimensions' description: Optional information for the dimensions of the truck. weight: description: >- Indicates the weight of the truck where excessive weight may require the driver to choose alternative routes. format: int32 type: integer weightUnitOfMeasure: $ref: '#/components/schemas/WeightUnit' truckType: $ref: '#/components/schemas/TruckType' TruckloadShipmentTruckDimensions: description: Contains fields describing the size of the truck. properties: length: description: >- Indicates the length of the truck where excessive lengths may require the driver to choose alternative routes. minimum: 0 type: number width: description: >- Indicates the width of the truck where excessive lengths may require the driver to choose alternative routes. minimum: 0 type: number height: description: >- Indicates the height of the truck where excessive lengths may require the driver to choose alternative routes. minimum: 0 type: number unitOfMeasure: $ref: '#/components/schemas/LengthUnit' TruckloadShippingDetails: description: >- Contains fields which influence the way project44 calculates arrival estimates for stops. properties: multipleDrivers: description: >- If set to 'true', indicates that the shipment is using a team of drivers and is therefore not constrained by the "11 hours of service" limit for an individual driver. This allows project44 to change its estimations around when a shipment can, and cannot be delivered. type: boolean truckDetails: $ref: '#/components/schemas/TruckloadShipmentTruckDetails' description: >- Optional information about the truck's size and weight that may adjust ETA and other tracking-related calculations. hazmatDetails: $ref: '#/components/schemas/TruckloadShipmentHazmatDetails' description: >- Optional hazmat information about the truckload shipment that may adjust ETA and other tracking-related calculations. TruckloadTenderTrackingShipmentIdentifier: properties: type: description: The type of this tendered shipment identifier. enum: - BILL_OF_LADING - ORDER - TRACKING_IDENTIFIER type: string value: description: The value for this tendered shipment identifier. type: string title: TruckloadTenderTrackingShipmentIdentifier type: object TruckloadTrackingMethodDetails: description: >- Contains information about how we obtain tracking data for the shipment. Currently this list always includes either zero or one active tracking method. Future versions will be able to combine data from more than one tracking method. In that case, the primary tracking method will be listed first. properties: equipmentIdentifier: $ref: '#/components/schemas/TruckloadEquipmentIdentifier' equipmentIdentifierSource: description: Source of the equipment identifier assigned to the shipment. enum: - CUSTOMER - CARRIER - AUTOMATIC type: string trackingType: description: Type of the tracking data source. enum: - MOBILE_PHONE - TELEMATICS - API type: string title: TruckloadTrackingMethodDetails type: object TruckloadTrackingShipmentDetails: description: Contains fields which pertain to the shipment contents. properties: lineItems: description: Line Items for this shipment. items: $ref: '#/components/schemas/TruckloadShipmentLineItem' type: array title: TruckloadTrackingShipmentDetails type: object TruckloadVendorCharge: properties: vendorCode: $ref: '#/components/schemas/TruckloadChargeCode' description: description: The description of this charge, if provided. type: string amount: description: >- The requested or actual amount charged by the capacity provider (adds into the total). This amount may be negative. type: number TypeWrapper: properties: values: description: The list of document type to be search for items: $ref: '#/components/schemas/DocumentType' type: array operator: allOf: - $ref: '#/components/schemas/Operator' default: EQUALS required: - values type: object UpdateBookedShipment: description: >- The overall shipper's construct of the material good(s) to be transported by the carrier. properties: identifiers: items: $ref: '#/components/schemas/LogisticsIdentifier' maxItems: 20 type: array routeInfo: $ref: '#/components/schemas/RouteInfo' attributes: description: >- An optional user-defined set of custom attributes to associate with this shipment. These are descriptors and identifiers which apply to the entire shipment and they are not shared with any carriers. items: $ref: '#/components/schemas/CustomAttribute' maxItems: 5 type: array name: description: >- The descriptive name or otherwise human-readable description of the shipment created; this is not visible to the carrier. type: string notes: description: >- An optional, shipper-provided free-text space for notes on the shipment. maxLength: 300 type: string bookings: description: A list of all bookings related to the shipment. items: $ref: '#/components/schemas/CreateUpdateBookingWithId' type: array required: - routeInfo type: object ValidationError: properties: loc: items: type: string type: array msg: type: string type: type: string required: - loc - msg - type type: object VehicleInfo: description: Describes vehicle information used to compute emissions. properties: type: $ref: '#/components/schemas/VehicleType' weight: $ref: '#/components/schemas/WeightMeasurement' title: VehicleInfo type: object VehicleInfo_1: description: Describes vehicle information used to compute emissions. properties: type: $ref: '#/components/schemas/VehicleType_1' weight: $ref: '#/components/schemas/WeightMeasurement' title: VehicleInfo_1 type: object VehicleShipmentIdentifier: properties: type: enum: - VEHICLE_ID - VESSEL_IMO - VESSEL_NAME - VESSEL_MMSI - VESSEL_CALL_SIGN - UNKNOWN type: string value: type: string required: - type - value type: object VehicleType: properties: enumValue: enum: - UNKNOWN - AIR_FREIGHTER - AIR_BELLY_FREIGHT - AIR_UNKNOWN - INLAND_WATERWAY_MOTOR_VESSEL_LT_650T - INLAND_WATERWAY_MOTOR_VESSEL_650T_TO_1000T - INLAND_WATERWAY_MOTOR_VESSEL_1000T_TO_2000T - INLAND_WATERWAY_MOTOR_VESSEL_2000T_TO_3000T - INLAND_WATERWAY_COUPLED_CONVOY - INLAND_WATERWAY_PUSHED_CONVOY_2_TO_3_BARGES - INLAND_WATERWAY_PUSHED_CONVOY_4_TO_5_BARGES - INLAND_WATERWAY_PUSHED_CONVOY_6_BARGES - INLAND_WATERWAY_TANKER_VESSELS - INLAND_WATERWAY_CONTAINER_VESSELS_110M - INLAND_WATERWAY_CONTAINER_VESSELS_135M - INLAND_WATERWAY_CONTAINER_VESSELS_COUPLED_CONVOY - RAIL_AVERAGE_MIXED - RAIL_CONTAINER - RAIL_CARS - RAIL_CHEMICALS - RAIL_COAL_STEEL - RAIL_BUILDING_MATERIALS - RAIL_MANUFACTURED_PRODUCTS - RAIL_CEREALS - RAIL_TRUCK_AND_TRAILER - RAIL_TRAILER_ONLY - ROAD_NA_VAN - ROAD_NA_GENERAL - ROAD_NA_AUTO_CARRIER - ROAD_NA_DRAY - ROAD_NA_EXPEDITED - ROAD_NA_FLATBED - ROAD_NA_HEAVY_BULK - ROAD_NA_LTL_DRY_VAN - ROAD_NA_MIXED - ROAD_NA_MOVING - ROAD_NA_PACKAGE - ROAD_NA_REFRIGERATED - ROAD_NA_SPECIALIZED - ROAD_NA_TANKER - ROAD_NA_TL_DRY_VAN - ROAD_GLOBAL_VAN_LT_3500KG - ROAD_GLOBAL_RIGID_TRUCK_3500KG_TO_7500KG - ROAD_GLOBAL_RIGID_TRUCK_7500KG_TO_12T_GVW - ROAD_GLOBAL_RIGID_TRUCK_12T_20T_GVW - ROAD_GLOBAL_RIGID_TRUCK_20T_TO_26T_GVW - ROAD_GLOBAL_RIGID_TRUCK_26T_TO_32T_GVW - ROAD_GLOBAL_ARTIC_TRUCK_UP_TO_34T_GVW - ROAD_GLOBAL_ARTIC_TRUCK_UP_TO_40T_GVW - ROAD_GLOBAL_ARTIC_TRUCK_UP_TO_40T_GVW_SI_ENGINE - ROAD_GLOBAL_ARTIC_TRUCK_UP_TO_40T_GVW_HPDI - ROAD_GLOBAL_ARTIC_TRUCK_40T_GVW_LIGHTWEIGHT_TRAILER - ROAD_GLOBAL_ARTIC_TRUCK_UP_TO_44T_GVW - ROAD_GLOBAL_ARTIC_TRUCK_UP_TO_60T_GVW - ROAD_GLOBAL_ARTIC_TRUCK_UP_TO_72T_GVW - OCEAN_BULK_CARRIER_0_TO_9999_DWT - OCEAN_BULK_CARRIER_10000_TO_34999_DWT - OCEAN_BULK_CARRIER_35000_TO_59999_DWT - OCEAN_BULK_CARRIER_60000_TO_99999_DWT - OCEAN_BULK_CARRIER_100000_TO_199999_DWT - OCEAN_BULK_CARRIER_200000_AND_UP_DWT - OCEAN_CHEMICAL_TANKER_0_TO_4999_DWT - OCEAN_CHEMICAL_TANKER_5000_TO_9999_DWT - OCEAN_CHEMICAL_TANKER_10000_TO_19999_DWT - OCEAN_CHEMICAL_TANKER_20000_TO_39999_DWT - OCEAN_CHEMICAL_TANKER_40000_AND_UP_DWT - OCEAN_GENERAL_CARGO_0_TO_4999_DWT - OCEAN_GENERAL_CARGO_5000_TO_9999_DWT - OCEAN_GENERAL_CARGO_10000_TO_19999_DWT - OCEAN_GENERAL_CARGO_20000_AND_UP_DWT - OCEAN_LNG_TANKER_0_TO_49999_CBM - OCEAN_LNG_TANKER_50000_TO_99999_CBM - OCEAN_LNG_TANKER_100000_TO_199999_CBM - OCEAN_LNG_TANKER_200000_AND_UP_CBM - OCEAN_OIL_TANKER_0_TO_4999_DWT - OCEAN_OIL_TANKER_5000_TO_9999_DWT - OCEAN_OIL_TANKER_10000_TO_19999_DWT - OCEAN_OIL_TANKER_20000_TO_59999_DWT - OCEAN_OIL_TANKER_60000_TO_79999_DWT - OCEAN_OIL_TANKER_80000_TO_119999_DWT - OCEAN_OIL_TANKER_120000_TO_199999_DWT - OCEAN_OIL_TANKER_200000_AND_UP_DWT - OCEAN_OTHER_LIQUIDS_TANKER_0_TO_999_DWT - OCEAN_OTHER_LIQUIDS_TANKER_1000_AND_UP_DWT - OCEAN_FERRY_ROPAX_0_TO_1999_GT - OCEAN_FERRY_ROPAX_2000_TO_4999_GT - OCEAN_FERRY_ROPAX_5000_TO_9999_GT - OCEAN_FERRY_ROPAX_10000_TO_19999_GT - OCEAN_FERRY_ROPAX_20000_AND_UP_GT - OCEAN_REFRIGERATED_BULK_0_TO_1999_DWT - OCEAN_REFRIGERATED_BULK_2000_TO_5999_DWT - OCEAN_REFRIGERATED_BULK_6000_TO_9999_DWT - OCEAN_REFRIGERATED_BULK_10000_AND_UP_DWT - OCEAN_CONTAINER_AVERAGE type: string title: VehicleType type: object VehicleType_1: title: VehicleType_1 type: object VesselSchedule: properties: date: description: The first date in this timespan, in ISO-8601 format type: string vesselsApproaching: description: >- Number of vessels having the port as their destination on the given day. format: int32 type: integer title: VesselSchedule type: object Volume: properties: value: description: The numeric decimal value of this volume. type: number unit: $ref: '#/components/schemas/VolumeUnit' required: - unit - value VolumeUnit: description: The unit of measurement for this volume. enum: - CUBIC_FT - CUBIC_M - L - HL format: enum type: string WebhookAuthenticationMethod: properties: parameters: description: >- The webhookAuthenticationMethod parameters. The fields of a 'parameters' object vary for each authentication method. All fields are strings unless noted otherwise.

properties: {} type: object type: description: >- The webhookAuthenticationMethod type. BASIC, API_KEY and OAUTH2 are supported. enum: - API_KEY - BASIC - OAUTH2 - MTLS - AD_OAUTH2_CERT type: string type: object WebhookEndpoint: properties: authParams: description: >- (Deprecated) The webhookAuthenticationMethod parameters. The subordinate fields for the 'authParams' field depend on the authType. This field is functional but is deprecated - authentication for new webhooks should be supplied in the 'authenticationMethods' field. properties: {} type: object authType: description: >- (Deprecated) The webhookAuthenticationMethod type. BASIC, API_KEY and OAUTH2 are supported. This field is functional but is deprecated - authentication for new webhooks should be supplied in the 'authenticationMethods' field. enum: - API_KEY - BASIC - OAUTH2 - MTLS - AD_OAUTH2_CERT type: string authenticationMethods: description: >- A list of authentication methods. Each authentication method consists of 'type' and 'parameters' fields. Typically only one form of authentication is used, though it is possible to have two API keys or both an API key and OAuth2 authentication. items: $ref: '#/components/schemas/WebhookAuthenticationMethod' type: array configName: description: A unique name used to identify the push configuration. type: string id: description: >- A unique identifier of the push configuration. Assigned by the push configuration API service and used for updates only. format: int64 type: integer method: description: >- The HTTP method associated with the webhook endpoint. If not provided, will default to POST. enum: - GET - POST - PUT - PATCH type: string methodHeaders: additionalProperties: type: string description: A map of optional headers to pass to the webhook. type: object methodParams: description: >- A map of optional method parameters. If provided, these will appear as query parameters on the URL. properties: {} type: object payloadFormat: description: >- The format of the payload to send to the webhook. JSON is the only format supported. enum: - JSON type: string url: description: The URL of the webhook endpoint. type: string version: description: An optional version of the push configuration. format: int64 type: integer type: object WebhookEndpointCollection: properties: webhookEndpoints: description: A list of webhook endpoints. items: $ref: '#/components/schemas/WebhookEndpoint' type: array type: object Weight: properties: weight: description: The numeric decimal value of this weight. type: number weightUnit: $ref: '#/components/schemas/WeightUnit' description: The unit of measurement for this weight. required: - weight - weightUnit WeightMeasurement: description: A measure of weight with a value and unit properties: value: description: Numeric value of a measurement type: number unit: $ref: '#/components/schemas/WeightUnit' description: Physical unit of measurement WeightPerDistanceMeasurement: description: A measure of weight per distance with a value and unit properties: value: description: Numeric value of a measurement type: number unit: $ref: '#/components/schemas/WeightPerDistanceUnit' description: Physical unit of measurement WeightPerDistanceUnit: description: Weight per distance measurement units (linear density) enum: - KG_PER_KM format: enum type: string WeightUnit: default: LB description: 'Weight measurement units (default: ''LB'').' enum: - LB - KG format: enum type: string WhiteGloveAccessorial: additionalProperties: false description: Accessorial which flags the explicit need for white glove service. properties: code: enum: - WHITE_GLOVE type: string details: allOf: - $ref: '#/components/schemas/SpecificationKind_bool_' description: Flag denoting requirement. required: - code - details type: object ZonedDateTimeWindow: description: >- A date and time range, including a time zone, representing a window of availability. properties: startDateTime: description: >- Start date and time of this window in the applicable time zone.(default: current date, format: yyyy-MM-dd'T'HH:mm:ss) format: date-time type: string endDateTime: description: >- End date and time of this window in the applicable time zone. (format: yyyy-MM-dd'T'HH:mm:ss) format: date-time type: string localTimeZoneIdentifier: description: >- The time zone identifier (e.g., 'America/Chicago') for this date time window. type: string required: - endDateTime - startDateTime grantTokenOAuth2_request: properties: client_id: description: >- The id of the client application, generated and assigned by project44 via the OAuth 2.0 client applications APIs. type: string client_secret: description: >- The secret part of the client application's credentials, generated and assigned by project44 via the OAuth 2.0 client applications APIs. type: string grant_type: description: >- The OAuth 2.0 authorization grant type, or flow, to be used by the client application. project44 supports only the "client_credentials" grant type and does not currently support grant types involving end user consent. enum: - client_credentials type: string type: object multi_modal_booking_service_models__ebol__ltl__accessorial__Currency: description: An enumeration. enum: - CAD - MXN - USD type: string multi_modal_booking_service_models__ebol__ltl__country_codes__CountryCode: description: An enumeration. enum: - USA - MEX - CAN type: string multi_modal_booking_service_public__contact__Contact: properties: companyName: description: Name of the Company with whom the Contact is associated. type: string givenName: description: The Contact's first or given name. type: string familyName: description: The Contact's last or family name. type: string phoneNumber: description: The Contact's work or other primary phone number. type: string mobilePhoneNumber: description: The Contact's mobile phone number. type: string email: description: The Contact's email address. format: email type: string required: - companyName type: object multi_modal_booking_service_public__ebol__ltl__ebol__Contact: properties: phone: description: >- Ten digit phone number, without country code and/or dashes, for the destination location's contact person. type: string phoneExt: description: Phone extension for the location's contact person. type: string name: description: Name of the location's contact person. type: string email: description: Email address of the location's contact person. format: email type: string required: - phone type: object multi_modal_booking_service_public__ebol__ltl__ebol__HandlingUnit: properties: count: description: Number of handling units being described. type: integer type: allOf: - $ref: '#/components/schemas/HandlingUnitTypeCode' description: Type of the handling units being described. tareWeight: description: Weight of the skids/pallets/slips used in the shipment. type: integer weight: description: Total weight for the specified handling units. type: integer weightUnit: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_public__ebol__ltl__ebol__WeightUnit default: Pounds description: >- The unit of measurement for weight. Defaults to Pounds (Imperial) if not passed. length: description: The length of the handling units being described. type: integer width: description: The width of the handling units being described. type: integer height: description: The height of the handling units being described. type: integer dimensionsUnit: allOf: - $ref: '#/components/schemas/DimensionsUnit' description: >- The unit of measurement for dimensions. Defaults to Inches (Imperial) if not passed.Valid Values: Inches or Centimeters. stackable: default: false description: >- Identifies whether or not the freight being described can be stacked on one another. type: boolean lineItems: description: The list of line items related to the shipment. items: $ref: '#/components/schemas/LineItem' type: array required: - count - type - weight type: object multi_modal_booking_service_public__ebol__ltl__ebol__Location: properties: account: description: Company's account number/id. type: string locationId: description: Company's location id. type: string name: description: Company name associated with the location. type: string address1: description: Primary Address line for the location. type: string address2: description: Secondary Address line for the location. type: string city: description: City Name for the location. type: string stateProvince: allOf: - $ref: '#/components/schemas/StateProvinceCode' description: Two letter state/province code for the destination location. postalCode: description: >- The 5-digit (or 6-characters for Canada) zip code for the destination location. maxLength: 6 minLength: 5 type: string country: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_models__ebol__ltl__country_codes__CountryCode description: Three letter country code for the destination location. contact: allOf: - $ref: >- #/components/schemas/multi_modal_booking_service_public__ebol__ltl__ebol__Contact description: Object containing contact details for the location. required: - name - address1 - city - stateProvince - postalCode - country - contact type: object multi_modal_booking_service_public__ebol__ltl__ebol__WeightUnit: description: An enumeration. enum: - Pounds - Kilograms type: string multi_modal_booking_service_public__item__HandlingUnit: description: Handling units managed by the shipper to be transported by the carrier. properties: monetaryValue: allOf: - $ref: '#/components/schemas/MonetaryValue' description: The monetary value of the handling unit. quantity: description: Quantity of the handling unit type that is specified below. type: integer handlingUnitType: allOf: - $ref: '#/components/schemas/HandlingUnitType' description: The packaging used to handle the unit during transport. stackable: default: false description: Whether the packages composing are stackable or not. type: boolean dimensions: allOf: - $ref: '#/components/schemas/Dimensions' description: >- The physical dimensions of the handling unit. Take care that this should reference the per quantity size of the chosen handling unit type. weight: allOf: - $ref: '#/components/schemas/Weight' description: >- The weight of the handling unit. Take care that this should reference the per quantity weight of the chosen handling unit type. required: - quantity - handlingUnitType type: object multi_modal_booking_service_public__location__Location: properties: id: description: The id of the location. format: uuid type: string name: description: The name of the location. type: string identifiers: description: A list of global identifiers for the location. items: $ref: '#/components/schemas/LocationIdentifier' type: array address: allOf: - $ref: '#/components/schemas/Address' description: A valid postal address of the location. geoCoordinates: allOf: - $ref: '#/components/schemas/GeoCoordinates' description: A coordinate pair. type: object p44__common_models__location__location__Location: properties: id: format: uuid type: string name: type: string geoCoordinates: $ref: '#/components/schemas/GeoCoordinates' identifiers: items: $ref: '#/components/schemas/LocationIdentifier' type: array address: $ref: '#/components/schemas/Address' timeZone: type: string type: object Page_InventoryOrder_: description: >- A paginated response containing results and information about the current page. properties: paginationInfo: $ref: '#/components/schemas/PaginationInfo' results: description: List of resources contained on this page. items: $ref: '#/components/schemas/InventoryOrder' type: array title: Page«InventoryOrder» type: object securitySchemes: basicAuth: scheme: basic type: http oAuth2: flows: clientCredentials: scopes: {} tokenUrl: https://na12.api.project44.com/api/v4/oauth2/token type: oauth2 description: >- Allows generation of a token to access project44 APIs. The tokenUrl base URI may vary based on the tenant region (NA, EU, Sandbox) you are trying to access. paths: /api/v4/oauth2/client-applications: get: description: List all client applications registered in your project44 account. operationId: getApplications responses: '200': content: '*/*': schema: $ref: '#/components/schemas/ClientApplicationCollection' description: OK '400': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - basicAuth: [] summary: Get client applications. tags: - Manage Client Applications post: description: >- Register a new client application, in order to receive a client id and secret that can be used to authenticate with project44's OAuth 2.0 token generation endpoint. Generate tokens to access other project44 APIs. Note you must record the client secret returned here securely as it cannot be retrieved again. You can, however, generate a new client secret via the "new-secret" endpoint in case you forget it or need to rotate it.

Required Fields

operationId: createApplication requestBody: content: application/json: schema: $ref: '#/components/schemas/ClientApplication' description: clientApplication required: true responses: '201': content: '*/*': schema: $ref: '#/components/schemas/ClientApplication' description: Created '400': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - basicAuth: [] summary: Register client application. tags: - Manage Client Applications /api/v4/oauth2/client-applications/{id}: get: description: |- Get a specific client application by client id.

Required Fields

operationId: getApplication parameters: - description: >- The id of the client application, generated and assigned by project44 via the OAuth 2.0 client applications APIs. in: path name: id required: true schema: type: string responses: '200': content: '*/*': schema: $ref: '#/components/schemas/ClientApplication' description: OK '400': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - basicAuth: [] summary: Get client application. tags: - Manage Client Applications put: description: >- Update the name of an existing client application by id. The secret cannot be updated by the client. To generate a new secret, use the "new-secret" endpoint.

Required Fields

operationId: updateApplication parameters: - description: >- The id of the client application, generated and assigned by project44 via the OAuth 2.0 client applications APIs. in: path name: id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ClientApplication' description: clientApplication required: true responses: '200': content: '*/*': schema: $ref: '#/components/schemas/ClientApplication' description: OK '400': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - basicAuth: [] summary: Update client application. tags: - Manage Client Applications delete: description: >- Delete an existing client application by id. Deleting an application invalidates its client credentials (id and secret) and deletes its associated project44 app user (with username "app-{client_id}@client-applications.project44.com").

Required Fields

operationId: deleteApplication parameters: - description: >- The id of the client application, generated and assigned by project44 via the OAuth 2.0 client applications APIs. in: path name: id required: true schema: type: string responses: '204': content: {} description: No Content '400': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - basicAuth: [] summary: Delete client application. tags: - Manage Client Applications /api/v4/oauth2/client-applications/{id}/new-secret: post: description: >- In case you have forgotten your application's client secret, or you wish to rotate it, generate a new one. Doing so invalidates the former client secret for the application, but does not invalidate any active access tokens you may have outstanding. Note you must record the client secret returned here securely as it cannot be retrieved again.

Required Fields

operationId: generateNewClientSecret parameters: - description: >- The id of the client application, generated and assigned by project44 via the OAuth 2.0 client applications APIs. in: path name: id required: true schema: type: string responses: '201': content: '*/*': schema: $ref: '#/components/schemas/ClientApplication' description: Created '400': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: '*/*': schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - basicAuth: [] summary: Generate a new client secret. tags: - Manage Client Applications /api/v4/oauth2/token: post: description: >- Authenticate with your client application's credentials (id and secret) to generate a new project44 access token. The resulting access token can be used as a bearer token to access your project44 account and data via project44's other APIs, while acting as that client application. You may authenticate your client application either by passing the id and secret via HTTP Basic Authentication (via the "Authorization" HTTP header) or via the client_id and client_secret fields in the POST request body with no "Authorization" header included. You may not use both approaches to authenticate the same request. The POST request body must contain the request fields as URL-encoded parameters (a URL-encoded form) and must have the "Content-Type" HTTP header set to "application/x-www-form-urlencoded". (Note: The endpoint "/api/v4/oauth/token" is deprecated. Please use this endpoint instead: "/api/v4/oauth2/token".)

Required Fields

operationId: grantTokenOAuth2 requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/grantTokenOAuth2_request' responses: '200': content: application/json: schema: $ref: '#/components/schemas/OAuthToken' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/OAuthError' description: Invalid request '401': content: application/json: schema: $ref: '#/components/schemas/OAuthError' description: Invalid or missing credentials '403': content: application/json: schema: $ref: '#/components/schemas/OAuthError' description: User not authorized to perform this operation security: - basicAuth: [] summary: Grant access token. tags: - Generate Tokens /api/v4/shipments/{shipmentId}/positionhistory: get: description: |-

Required Fields

operationId: getShipmentPositionHistory parameters: - description: includeRouteInfo in: query name: includeRouteInfo schema: default: false type: boolean - description: shipmentId in: path name: shipmentId required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShipmentPositionHistory' application/xml: schema: $ref: '#/components/schemas/ShipmentPositionHistory' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - oAuth2: [] summary: Fetch the position history for a shipment. tags: - Unified Shipment Tracking /api/v4/shipments/{shipmentId}/tracking: get: description: |-

Required Fields

operationId: getTrackedShipment parameters: - description: shipmentId in: path name: shipmentId required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/TrackedShipment' application/xml: schema: $ref: '#/components/schemas/TrackedShipment' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - oAuth2: [] summary: >- Fetch the route information for a shipment including the stops and route segments. tags: - Unified Shipment Tracking delete: description: >- Stop the shipment from tracking in project44 and delete record in the UI
Note: attempting to delete shipments that have been shared to you will result in a 404. operationId: deleteShipment parameters: - description: shipmentId in: path name: shipmentId required: true schema: format: uuid type: string responses: '200': content: {} description: OK '400': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - oAuth2: [] summary: Delete shipment route from project44 to stop tracking. tags: - Unified Shipment Tracking /api/v4/shipments/{shipmentId}/tracking/history: get: description: |-

Required Fields

operationId: getShipmentTrackingHistory parameters: - description: shipmentId in: path name: shipmentId required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/TrackedShipmentHistory' application/xml: schema: $ref: '#/components/schemas/TrackedShipmentHistory' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - oAuth2: [] summary: Get full tracking history for a shipment. tags: - Unified Shipment Tracking /api/v4/shipments/tracking: post: description: >- If the shipment does not exist, this will create a new shipment. If the shipment is already being tracked (and the corresponding id field is provided), this operation is add only for the provided fields. Note: This operation only modifies data that the user has provided.

Important Notes:

Required Fields

operationId: postShipment requestBody: content: application/json: schema: $ref: '#/components/schemas/TrackedShipmentWithEvents' description: shipment required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/TrackedShipmentWithEvents' application/xml: schema: $ref: '#/components/schemas/TrackedShipmentWithEvents' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - oAuth2: [] summary: >- Initialize a shipment for tracking, or append data to an existing shipment. tags: - Unified Shipment Tracking /api/v4/ocean/shipments: post: description: >-

Required Fields

operationId: createOceanShipment requestBody: content: application/json: schema: $ref: '#/components/schemas/OceanShipment' application/xml: schema: $ref: '#/components/schemas/OceanShipment' description: oceanShipment required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/OceanShipmentConfirmation' application/xml: schema: $ref: '#/components/schemas/OceanShipmentConfirmation' description: Created '400': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - oAuth2: [] summary: Create a tracked ocean shipment from a container id or vessel id. tags: - Deprecated Ocean Tracking /api/v4/ocean/shipments/{id}: delete: description: |-

Required Fields

operationId: deleteOceanShipment parameters: - description: >- The project44-generated shipmentId or oceanLegId associated with this shipment. in: path name: id required: true schema: format: uuid type: string responses: '204': content: {} description: No Content '400': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - oAuth2: [] summary: Delete shipment by project44 id. tags: - Deprecated Ocean Tracking /api/v4/ocean/shipments/{id}/statuses: get: description: |-

Required Fields

operationId: getOceanShipmentStatuses parameters: - description: >- The project44-generated shipmentId or oceanLegId associated with this shipment. in: path name: id required: true schema: format: uuid type: string - allowEmptyValue: false description: >- Determines whether the custom shipment attributes should be included in the response. in: query name: includeCustomAttributes schema: default: false type: boolean - allowEmptyValue: false description: >- If this value is set to true, the response payload will contain a public link to view the shipment in the VOC in: query name: includeMapUrl schema: default: false type: boolean - allowEmptyValue: false description: >- Determines whether the history of the container's position over water should be included in the response. in: query name: includePositionData schema: default: false type: boolean responses: '200': content: application/json: schema: $ref: '#/components/schemas/OceanTrackedShipmentConfirmation' application/xml: schema: $ref: '#/components/schemas/OceanTrackedShipmentConfirmation' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - oAuth2: [] summary: Get shipment statuses by project44 id. tags: - Deprecated Ocean Tracking /api/v4/webhooks: get: description: Retrieve all push configurations for a tenant and user. operationId: getAllWebhookConfigurationsForUser responses: '200': content: application/json: schema: $ref: '#/components/schemas/WebhookEndpointCollection' application/xml: schema: $ref: '#/components/schemas/WebhookEndpointCollection' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - oAuth2: [] summary: Retrieve all push configurations. tags: - Webhook put: description: >- Create or update a single push configuration. A maximum of 50 push configurations may be saved per tenant. operationId: createOrUpdateWebhookConfiguration requestBody: content: application/json: schema: $ref: '#/components/schemas/WebhookEndpoint' application/xml: schema: $ref: '#/components/schemas/WebhookEndpoint' description: webhookEndpoint required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/WebhookEndpoint' application/xml: schema: $ref: '#/components/schemas/WebhookEndpoint' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - oAuth2: [] summary: Create or update a push configuration. tags: - Webhook /api/v4/webhooks/{webhookId}: get: description: Retrieve a push configuration by id. operationId: getWebhookConfigurationById parameters: - description: webhookId in: path name: webhookId required: true schema: format: int64 type: integer responses: '200': content: application/json: schema: $ref: '#/components/schemas/WebhookEndpoint' application/xml: schema: $ref: '#/components/schemas/WebhookEndpoint' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - oAuth2: [] summary: Retrieve a push configuration by id. tags: - Webhook delete: description: Delete a push configuration. operationId: deleteWebhookConfiguration parameters: - description: webhookId in: path name: webhookId required: true schema: format: int64 type: integer responses: '200': content: {} description: OK '400': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - oAuth2: [] summary: Delete a push configuration. tags: - Webhook /api/v4/webhooks/name/{webhookName}: get: description: Retrieve a push configuration by name. operationId: getWebhookConfigurationByName parameters: - description: webhookName in: path name: webhookName required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/WebhookEndpoint' application/xml: schema: $ref: '#/components/schemas/WebhookEndpoint' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid request '401': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: Invalid or missing credentials '403': content: application/json: schema: $ref: '#/components/schemas/ApiError' application/xml: schema: $ref: '#/components/schemas/ApiError' description: User not authorized to perform this operation security: - oAuth2: [] summary: Retrieve a push configuration by name. tags: - Webhook x-tagGroups: - name: OAuth 2.0 tags: - Manage Client Applications - Generate Tokens - name: Tracking tags: - Unified Shipment Tracking - Deprecated Ocean Tracking - name: Webhooks tags: - Webhook