Version 4.0.0 of project44's API. If you're not familiar with project44, we recommend checking out our guides first: https://developers.project44.com/guides/shippers and https://developers.project44.com/guides/carriers.
Version 4.0.0 of project44's API. If you're not familiar with project44, we recommend checking out our guides first: https://developers.project44.com/guides/shippers and https://developers.project44.com/guides/carriers.
API used for registering and managing OAuth 2.0 client applications. See the "Authentication" section above for more information. To authorize API requests to project44 for an API integration, first your client application must be registered with project44, which will issue your application a client id and secret. These credentials can then be used to generate bearer tokens, which can be included on all other API requests to authorize your client application. The client application is authorized through the project44 user management UI as a machine user with username "app-{client_id}@client-applications.project44.com".
An admin user (with Movement user role "Customer Admin") must use HTTP Basic Authentication with this API to manage client applications. Basic Authentication is deprecated for all other APIs, besides token generation, in favor of passing the access token generated via OAuth 2.0.
API for OAuth 2.0 token generation. See the "Authentication" section above for more information. Once your client application is registered, you can use the token generation endpoint to authenticate with your application's client id and secret in exchange for a bearer token to be included on all other API requests to authenticate as that client application. The client application is authorized through the project44 user management UI as a machine user with username "app-{client_id}@client-applications.project44.com".
To generate an access token, you may authenticate your client application by providing its client id and secret either in the body of the request or in the form of HTTP Basic Authentication (but you may not use both ways in the same request).
List of accessorial services to be quoted for this shipment.
Contains fields used to configure the rate quote API.
The requested capacity provider account group containing the account used for authentication with the capacity provider's API.
A date and time range, local to the applicable location, representing a window of availability.
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.
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.
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.
A date and time range, local to the applicable location, representing a window of availability.
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.
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.
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.
curl -i -X POST \ 'https://na12.api.project44.com/api/v2/quotes/rates/query?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string®istrationDate=2019-08-24T14%3A15%3A22Z&tenantId=0&tenantPurpose=DEFAULT&tenantUuid=e46705ba-31a8-4f12-b6d3-f41ec1d77a9a&username=string' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \ -H 'Content-Type: application/json' \ -d '{ "accessorialServices": [ { "code": "string" } ], "apiConfiguration": { "accessorialServiceConfiguration": { "allowUnacceptedAccessorials": true, "fetchAllServiceLevels": true, "fetchAllGuaranteed": true, "fetchAllInsideDelivery": true }, "enableUnitConversion": true, "fallBackToDefaultAccountGroup": true, "timeout": 1 }, "capacityProviderAccountGroup": { "accounts": [ { "code": "string" } ], "code": "string" }, "destinationAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "deliveryWindow": { "date": "2019-08-24", "endTime": { "hour": 0, "minute": 0, "nano": 0, "second": 0 }, "startTime": { "hour": 0, "minute": 0, "nano": 0, "second": 0 } }, "directionOverride": "SHIPPER", "enhancedHandlingUnits": [ { "commodityType": "string", "contact": { "companyName": "string", "contactName": "string", "email": "string", "faxNumber": "string", "faxNumberCountryCode": "string", "phoneNumber": "string", "phoneNumberCountryCode": "string", "phoneNumber2": "string", "phoneNumber2CountryCode": "string" }, "deliveryStopNumber": 0, "description": "string", "freightClasses": [ "string" ], "handlingUnitType": "BAG", "harmonizedCode": "string", "handlingUnitQuantity": 0, "handlingUnitDimensions": { "height": 0, "length": 0, "width": 0 }, "nmfcCodes": [ { "code": "string" } ], "pickupStopNumber": 0, "packages": [ { "contact": { "companyName": "string", "contactName": "string", "email": "string", "faxNumber": "string", "faxNumberCountryCode": "string", "phoneNumber": "string", "phoneNumberCountryCode": "string", "phoneNumber2": "string", "phoneNumber2CountryCode": "string" }, "description": "string", "freightClass": "string", "involvedParties": [ { "addressInfo": { "addressLines": [] }, "contactInfo": {}, "identifyingCodes": {}, "locationIdentifiers": [ null ], "partyType": "SHIPPER", "vatNumber": "string" } ], "nmfcCodes": [ { "code": "string" } ], "packageQuantity": 0, "packageContainerType": "BAG", "packageDimensions": { "height": 0, "length": 0, "width": 0 }, "packageContents": [ { "countryOfManufacture": "US", "description": "string", "hazmatDetails": [ null ], "packageContentQuantity": 0, "packageContentIdentifiers": [ null ] } ], "weightPerPackage": 0 } ], "stackable": true, "totalValue": { "amount": 0, "currency": "USD" }, "weightPerHandlingUnit": 0 } ], "lineItems": [ { "commodityType": "string", "countryOfManufacture": "US", "description": "string", "freightClass": "50,55,60,65,70,77.5,85,92.5,100,110,125,150,175,200,250,300,400,500", "hazmatDetail": { "hazardClass": "string", "identificationNumber": "string", "properShippingName": "string", "packingGroup": "I" }, "harmonizedCode": "string", "id": 0, "insuranceAmount": 0, "nmfcItemCode": "string", "nmfcSubCode": "string", "packageDimensions": { "height": 0, "length": 0, "width": 0 }, "packageType": "BAG", "stackable": true, "totalWeight": 1, "totalPackages": 1, "totalPieces": 1, "totalValue": 0 } ], "lengthUnit": "IN", "originAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "pickupWindow": { "date": "2019-08-24", "endTime": { "hour": 0, "minute": 0, "nano": 0, "second": 0 }, "startTime": { "hour": 0, "minute": 0, "nano": 0, "second": 0 } }, "paymentTermsOverride": "PREPAID", "preferredCurrency": "USD", "preferredSystemOfMeasurement": "METRIC", "totalLinearFeet": 0, "weightUnit": "LB" }'
{ "rateQuotes": [ { … } ] }
Contains fields used to configure the transit time quote API.
The requested capacity provider account group containing the account used for authentication with the capacity provider's API.
curl -i -X POST \ 'https://na12.api.project44.com/api/v2/quotes/transittimes/query?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string®istrationDate=2019-08-24T14%3A15%3A22Z&tenantId=0&tenantPurpose=DEFAULT&tenantUuid=e46705ba-31a8-4f12-b6d3-f41ec1d77a9a&username=string' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \ -H 'Content-Type: application/json' \ -d '{ "apiConfiguration": { "fallBackToDefaultAccountGroup": true, "timeout": 1 }, "capacityProviderAccountGroup": { "accounts": [ { "code": "string" } ], "code": "string" }, "destinationAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "originAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "pickupDate": "2019-08-24" }'
{ "transitTimeQuotes": [ { … } ] }
List of accessorial services to be quoted for this shipment.
Contains fields used to configure the rate quote API.
The requested capacity provider account group containing the account used for authentication with the capacity provider's API.
A date and time range, local to the applicable location, representing a window of availability.
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.
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.
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.
A date and time range, local to the applicable location, representing a window of availability.
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.
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.
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.
curl -i -X POST \ 'https://na12.api.project44.com/api/v3/quotes/rates/query?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string®istrationDate=2019-08-24T14%3A15%3A22Z&tenantId=0&tenantPurpose=DEFAULT&tenantUuid=e46705ba-31a8-4f12-b6d3-f41ec1d77a9a&username=string' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \ -H 'Content-Type: application/json' \ -d '{ "accessorialServices": [ { "code": "string" } ], "apiConfiguration": { "accessorialServiceConfiguration": { "allowUnacceptedAccessorials": true, "fetchAllServiceLevels": true, "fetchAllGuaranteed": true, "fetchAllInsideDelivery": true }, "enableUnitConversion": true, "fallBackToDefaultAccountGroup": true, "timeout": 1 }, "capacityProviderAccountGroup": { "accounts": [ { "code": "string" } ], "code": "string" }, "destinationAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "deliveryWindow": { "date": "2019-08-24", "endTime": { "hour": 0, "minute": 0, "nano": 0, "second": 0 }, "startTime": { "hour": 0, "minute": 0, "nano": 0, "second": 0 } }, "directionOverride": "SHIPPER", "enhancedHandlingUnits": [ { "commodityType": "string", "contact": { "companyName": "string", "contactName": "string", "email": "string", "faxNumber": "string", "faxNumberCountryCode": "string", "phoneNumber": "string", "phoneNumberCountryCode": "string", "phoneNumber2": "string", "phoneNumber2CountryCode": "string" }, "deliveryStopNumber": 0, "description": "string", "freightClasses": [ "string" ], "handlingUnitType": "BAG", "harmonizedCode": "string", "handlingUnitQuantity": 0, "handlingUnitDimensions": { "height": 0, "length": 0, "width": 0 }, "nmfcCodes": [ { "code": "string" } ], "pickupStopNumber": 0, "packages": [ { "contact": { "companyName": "string", "contactName": "string", "email": "string", "faxNumber": "string", "faxNumberCountryCode": "string", "phoneNumber": "string", "phoneNumberCountryCode": "string", "phoneNumber2": "string", "phoneNumber2CountryCode": "string" }, "description": "string", "freightClass": "string", "involvedParties": [ { "addressInfo": { "addressLines": [] }, "contactInfo": {}, "identifyingCodes": {}, "locationIdentifiers": [ null ], "partyType": "SHIPPER", "vatNumber": "string" } ], "nmfcCodes": [ { "code": "string" } ], "packageQuantity": 0, "packageContainerType": "BAG", "packageDimensions": { "height": 0, "length": 0, "width": 0 }, "packageContents": [ { "countryOfManufacture": "US", "description": "string", "hazmatDetails": [ null ], "packageContentQuantity": 0, "packageContentIdentifiers": [ null ] } ], "weightPerPackage": 0 } ], "stackable": true, "totalValue": { "amount": 0, "currency": "USD" }, "weightPerHandlingUnit": 0 } ], "lineItems": [ { "commodityType": "string", "countryOfManufacture": "US", "description": "string", "freightClass": "50,55,60,65,70,77.5,85,92.5,100,110,125,150,175,200,250,300,400,500", "hazmatDetail": { "hazardClass": "string", "identificationNumber": "string", "properShippingName": "string", "packingGroup": "I" }, "harmonizedCode": "string", "id": 0, "insuranceAmount": 0, "nmfcItemCode": "string", "nmfcSubCode": "string", "packageDimensions": { "height": 0, "length": 0, "width": 0 }, "packageType": "BAG", "stackable": true, "totalWeight": 1, "totalPackages": 1, "totalPieces": 1, "totalValue": 0 } ], "lengthUnit": "IN", "originAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "pickupWindow": { "date": "2019-08-24", "endTime": { "hour": 0, "minute": 0, "nano": 0, "second": 0 }, "startTime": { "hour": 0, "minute": 0, "nano": 0, "second": 0 } }, "paymentTermsOverride": "PREPAID", "preferredCurrency": "USD", "preferredSystemOfMeasurement": "METRIC", "totalLinearFeet": 0, "weightUnit": "LB" }'
{ "rateQuotes": [ { … } ] }
Contains fields used to configure the transit time quote API.
The requested capacity provider account group containing the account used for authentication with the capacity provider's API.
curl -i -X POST \ 'https://na12.api.project44.com/api/v3/quotes/transittimes/query?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string®istrationDate=2019-08-24T14%3A15%3A22Z&tenantId=0&tenantPurpose=DEFAULT&tenantUuid=e46705ba-31a8-4f12-b6d3-f41ec1d77a9a&username=string' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \ -H 'Content-Type: application/json' \ -d '{ "apiConfiguration": { "fallBackToDefaultAccountGroup": true, "timeout": 1 }, "capacityProviderAccountGroup": { "accounts": [ { "code": "string" } ], "code": "string" }, "destinationAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "originAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "pickupDate": "2019-08-24" }'
{ "transitTimeQuotes": [ { … } ] }
List of accessorial services to be quoted for this shipment.
Contains fields used to configure the rate quote API.
The requested capacity provider account group containing the account used for authentication with the capacity provider's API.
A date and time range, local to the applicable location, representing a window of availability.
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.
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.
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.
A date and time range, local to the applicable location, representing a window of availability.
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.
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.
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.
curl -i -X POST \ 'https://na12.api.project44.com/api/v4/ltl/quotes/rates/query?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string®istrationDate=2019-08-24T14%3A15%3A22Z&tenantId=0&tenantPurpose=DEFAULT&tenantUuid=e46705ba-31a8-4f12-b6d3-f41ec1d77a9a&username=string' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \ -H 'Content-Type: application/json' \ -d '{ "accessorialServices": [ { "code": "string" } ], "apiConfiguration": { "accessorialServiceConfiguration": { "allowUnacceptedAccessorials": true, "fetchAllServiceLevels": true, "fetchAllGuaranteed": true, "fetchAllInsideDelivery": true }, "enableUnitConversion": true, "fallBackToDefaultAccountGroup": true, "timeout": 1 }, "capacityProviderAccountGroup": { "accounts": [ { "code": "string" } ], "code": "string" }, "destinationAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "deliveryWindow": { "date": "2019-08-24", "endTime": { "hour": 0, "minute": 0, "nano": 0, "second": 0 }, "startTime": { "hour": 0, "minute": 0, "nano": 0, "second": 0 } }, "directionOverride": "SHIPPER", "enhancedHandlingUnits": [ { "commodityType": "string", "contact": { "companyName": "string", "contactName": "string", "email": "string", "faxNumber": "string", "faxNumberCountryCode": "string", "phoneNumber": "string", "phoneNumberCountryCode": "string", "phoneNumber2": "string", "phoneNumber2CountryCode": "string" }, "deliveryStopNumber": 0, "description": "string", "freightClasses": [ "string" ], "handlingUnitType": "BAG", "harmonizedCode": "string", "handlingUnitQuantity": 0, "handlingUnitDimensions": { "height": 0, "length": 0, "width": 0 }, "nmfcCodes": [ { "code": "string" } ], "pickupStopNumber": 0, "packages": [ { "contact": { "companyName": "string", "contactName": "string", "email": "string", "faxNumber": "string", "faxNumberCountryCode": "string", "phoneNumber": "string", "phoneNumberCountryCode": "string", "phoneNumber2": "string", "phoneNumber2CountryCode": "string" }, "description": "string", "freightClass": "string", "involvedParties": [ { "addressInfo": { "addressLines": [] }, "contactInfo": {}, "identifyingCodes": {}, "locationIdentifiers": [ null ], "partyType": "SHIPPER", "vatNumber": "string" } ], "nmfcCodes": [ { "code": "string" } ], "packageQuantity": 0, "packageContainerType": "BAG", "packageDimensions": { "height": 0, "length": 0, "width": 0 }, "packageContents": [ { "countryOfManufacture": "US", "description": "string", "hazmatDetails": [ null ], "packageContentQuantity": 0, "packageContentIdentifiers": [ null ] } ], "weightPerPackage": 0 } ], "stackable": true, "totalValue": { "amount": 0, "currency": "USD" }, "weightPerHandlingUnit": 0 } ], "lineItems": [ { "commodityType": "string", "countryOfManufacture": "US", "description": "string", "freightClass": "50,55,60,65,70,77.5,85,92.5,100,110,125,150,175,200,250,300,400,500", "hazmatDetail": { "hazardClass": "string", "identificationNumber": "string", "properShippingName": "string", "packingGroup": "I" }, "harmonizedCode": "string", "id": 0, "insuranceAmount": 0, "nmfcItemCode": "string", "nmfcSubCode": "string", "packageDimensions": { "height": 0, "length": 0, "width": 0 }, "packageType": "BAG", "stackable": true, "totalWeight": 1, "totalPackages": 1, "totalPieces": 1, "totalValue": 0 } ], "lengthUnit": "IN", "originAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "pickupWindow": { "date": "2019-08-24", "endTime": { "hour": 0, "minute": 0, "nano": 0, "second": 0 }, "startTime": { "hour": 0, "minute": 0, "nano": 0, "second": 0 } }, "paymentTermsOverride": "PREPAID", "preferredCurrency": "USD", "preferredSystemOfMeasurement": "METRIC", "totalLinearFeet": 0, "weightUnit": "LB" }'
{ "rateQuotes": [ { … } ] }
Contains fields used to configure the transit time quote API.
The requested capacity provider account group containing the account used for authentication with the capacity provider's API.
curl -i -X POST \ 'https://na12.api.project44.com/api/v4/ltl/quotes/transittimes/query?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string®istrationDate=2019-08-24T14%3A15%3A22Z&tenantId=0&tenantPurpose=DEFAULT&tenantUuid=e46705ba-31a8-4f12-b6d3-f41ec1d77a9a&username=string' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \ -H 'Content-Type: application/json' \ -d '{ "apiConfiguration": { "fallBackToDefaultAccountGroup": true, "timeout": 1 }, "capacityProviderAccountGroup": { "accounts": [ { "code": "string" } ], "code": "string" }, "destinationAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "originAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "pickupDate": "2019-08-24" }'
{ "transitTimeQuotes": [ { … } ] }