---
schema_version: "1"
id: 1a8c11249615cd6d7d48756dcabd34f41a088c29836b24873772ebc19b1c9bca
title: Commerce Delivery Service
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/commerce-cloud/commerce-api/references/generated-api-specs/commerce-delivery-service.md
canonical_url: https://developer.salesforce.com/docs/commerce/commerce-api/references/commerce-delivery-service
source_site: developer.salesforce.com
content_type: documentation
content_hash: 504dd62ca15a040f482676ecaaf5afd3ca4e534b8a7fdb703d81efdf16a0089d
products:
  - B2C Commerce API
  - Salesforce APIs
---
Commerce Delivery Service

# Commerce Delivery Service

## API Overview

The Commerce Delivery Service API provides estimation endpoints plus provisioning, routing, and health endpoints. It also predicts the estimated delivery date for one or more items on the storefront (from a product detail page (PDP) or checkout), reflecting the fulfillment location if an order is placed.

This specification includes both v1 and v2 API endpoints. Use version-prefixed paths (/v1/\* or /v2/\*) to access the respective API versions.

### Authentication & Authorization

For resource access, you must use a client ID and client secret from Account Manager to request an access token. The access token is used as a bearer token and added to the Authorization header of your API request.

The API client must also have the `sfcc.commercedeliveryservice.shopper` OAuth scope. You must include the relevant scope in the client ID used to generate the token. For a full list of required permissions, see the [Authorization Scopes Catalog](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html).

For detailed setup instructions, see [Authorization for Admin APIs](https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-admin-apis.html).

### Use Cases

#### Estimate Delivery Date

Use the delivery-date endpoint to provide an estimated delivery date or delivery date range when

*   A shopper is on a PDP and wants to know the estimated delivery date for a product before adding it to their cart, or
*   A shopper is checking out and wants to know the estimated delivery date for the products being purchased.

#### Estimate Delivery Date by Location

Use the delivery-date-by-locations endpoint to provide an estimated delivery date or delivery date range based on a specific location group level when

*   A shopper is on a PDP and wants to know the estimated delivery date for a product based on a specific location before adding it to their cart, or
*   A shopper is checking out and wants to know the estimated delivery date for the products being purchased based on a specific location.

#### Estimate Buy Online, Pick Up In Store (BOPIS) Time

Use the BOPIS endpoint to provide an estimated earliest pickup time for BOPIS orders when

*   A shopper is on a Product Detail Page (PDP) and wants to know when a product will be ready for pickup at specific store locations before adding it to their cart.
*   A shopper wants to find nearby stores within a specified radius where a product is available for pickup, sorted by distance, along with the earliest pickup time at each location. This use case supports "find stores near me" scenarios where you provide an address, radius distance, unit (miles/km), and an optional maximum number of locations to return, sorted by distance with pickup times.
*   A shopper is checking out with a BOPIS delivery method and wants to know the earliest pickup time and available inventory for the products being purchased at nearby store locations.

**Version:** v1

## Servers

*   `https://api.salesforce.com/commerce/delivery`

Default security: bearerAuth.

## Security

*   `bearerAuth` (http) Bearer token (e.g. OAuth access token)
    *   HTTP scheme: bearer (JWT)

## Operations

### PUT Provisions a core Org as a commerce delivery service (CDS) tenant in the service

`PUT /v1/organization/{orgId}`

Operation ID: `organization/provision`. Tags: Provisioning.

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) the ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region
*   `orgId` (path, string, required) A valid 18 char core OrgId

#### Request body (required)

Media type: `application/json`. Schema: `ProvisionCDSTenantRequest`.

#### Responses

*   **200** An existing CDS tenant record is updated with the specified values
*   **201** A new CDS tenant record is created with the specified values
*   **500** An internal server error when processing the request

### DELETE Deprovisions a CDS tenant

`DELETE /v1/organization/{orgId}`

Operation ID: `organization/deprovision`. Tags: De-Provisioning.

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) the ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region
*   `orgId` (path, string, required) A valid 18 char core OrgId

#### Responses

*   **200** CDS tenant successfully deprovisioned
*   **404** Specified CDS tenant (OrgId) does not exist
*   **500** An internal server error when processing the request

### PUT Provisions the given B2CE Tenant for a the specified core org

`PUT /v1/organization/{orgId}/b2ce-tenant/{b2ceTenantId}`

Operation ID: `organization/b2ce-tenant/provision`. Tags: Provisioning.

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) the ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region
*   `orgId` (path, string, required) A valid 18 char core OrgId
*   `b2ceTenantId` (path, string, required) B2CE realm and instance separated by underscore (\_)

#### Request body (required)

Media type: `application/json`. Schema: `ProvisionB2CETenantRequest`.

#### Responses

*   **200** An existing B2CE tenant record is updated with the specified values
*   **201** A new B2CE tenant record is created with the specified values
*   **404** Specified CDS tenant (OrgId) does not exist
*   **500** An internal server error when processing the request

### DELETE Deprovisions a B2CE tenant

`DELETE /v1/organization/{orgId}/b2ce-tenant/{b2ceTenantId}`

Operation ID: `organization/b2ce-tenant/deprovision`. Tags: De-Provisioning.

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) the ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region
*   `orgId` (path, string, required) A valid 18 char core OrgId
*   `b2ceTenantId` (path, string, required) B2CE realm and instance separated by underscore (\_)

#### Responses

*   **200** B2CE tenant successfully deprovisioned
*   **404** Specified B2CE tenant does not exist
*   **500** An internal server error when processing the request

### PUT Creates or Updates the delivery estimation configuration for the given CDS tenant

`PUT /v1/organization/{orgId}/configuration/{externalReference}`

Operation ID: `organization/configuration`. Tags: Provisioning.

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) the ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region
*   `orgId` (path, string, required) A valid 18 char core OrgId
*   `externalReference` (path, string, required) Name of the WebStore or SalesChannel

#### Request body (required)

Media type: `application/json`. Schema: `CommerceDeliveryServiceSetupRequest`.

#### Responses

*   **200** An existing delivery estimation config record is updated with the specified values for a given CDS tenant
*   **201** A new delivery estimation config record is created with the specified values for a given CDS tenant
*   **404** Specified CDS tenant (OrgId) does not exist
*   **500** An internal server error when processing the request

### PUT Creates or updates the location graph for an organization

`PUT /v1/organization/{orgId}/locationgraph`

Operation ID: `organization/locationgraph/upsert`. Tags: Location Graph.

Upserts location graph data including locations and location groups for delivery estimation routing

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) The ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region
*   `orgId` (path, string, required) A valid 18 char core OrgId

#### Request body (required)

Media type: `application/json`. Schema: `LocationGraphRequest`.

#### Responses

*   **200** An existing location graph is updated
    
    Media type: `application/json`. Schema: `ApiResponse`.
    
*   **201** A new location graph is created
    
    Media type: `application/json`. Schema: `ApiResponse`.
    
*   **400** Bad request - validation failed or tenant not found
    
    Media type: `application/json`. Schema: `ApiResponse`.
    
*   **500** Internal server error
    
    Media type: `application/json`. Schema: `ApiResponse`.
    

### PUT Performs delta synchronization of entities for a CDS tenant

`PUT /v1/organization/{orgId}/{entityType}`

Operation ID: `deltaSyncEntities`. Tags: Delta Sync.

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) the ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region
*   `ContinueOnError` (header, boolean) Whether to continue processing on errors  
    Default: `true`.
*   `orgId` (path, string, required) A valid 18 char core OrgId
*   `entityType` (path, string, required) Type of entity to sync (e.g., Location, LocationGroup)

#### Request body (required)

Media type: `application/json`. Schema: `array of DeltaSyncItemRequest`.

Array of `DeltaSyncItemRequest`.

#### Responses

*   **200** Delta sync completed
    
    Media type: `application/json`. Schema: `DeltaSyncResponse`.
    
*   **400** Bad request - validation failed
    
    Media type: `application/json`. Schema: `DeltaSyncResponse`.
    
*   **500** Internal server error
    
    Media type: `application/json`. Schema: `DeltaSyncResponse`.
    

### PUT Creates or Updates the fulfilment routing criteria configuration for the given CDS tenant

`PUT /v1/organization/{orgId}/fulfillment-criteria-management/{externalReference}`

Operation ID: `organization/fulfillment-criteria-management-provision`. Tags: Provisioning.

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) the ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region
*   `orgId` (path, string, required) A valid 18 char core OrgId
*   `externalReference` (path, string, required) Name of the WebStore or SalesChannel

#### Request body (required)

Media type: `application/json`. Schema: `FulfillmentCriteriaRequest`.

#### Responses

*   **200** An existing fulfilment routing criteria record is updated with the specified values for a given CDS tenant
    
    Media type: `application/json`. Schema: `ApiResponse`.
    
*   **201** A new fulfilment routing criteria record is created with the specified values for a given CDS tenant
    
    Media type: `application/json`. Schema: `ApiResponse`.
    
*   **404** Specified CDS tenant (OrgId) does not exist
*   **500** An internal server error when processing the request

### DELETE Delete the fulfilment routing criteria configuration for the given CDS tenant

`DELETE /v1/organization/{orgId}/fulfillment-criteria-management/{externalReference}`

Operation ID: `organization/fulfillment-criteria-management-deprovision`. Tags: De-Provisioning.

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) the ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region
*   `orgId` (path, string, required) A valid 18 char core OrgId
*   `externalReference` (path, string, required) Name of the WebStore or SalesChannel

#### Responses

*   **200** A fulfilment routing criteria record is deleted with the specified values for a given CDS tenant
    
    Media type: `application/json`. Schema: `ApiResponse`.
    
*   **404** Specified CDS tenant (OrgId) does not exist
*   **500** An internal server error when processing the request

### POST Calculates the EstimatedShipDate and EstimatedDeliveryDate based on default store level settings

`POST /v1/estimate/delivery-date`

Operation ID: `estimate/delivery-date`. Tags: DeliveryEstimation.

Get Estimation Delivery Date API based on the "LocationGroup" level (default) settings

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) the ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region

#### Request body (required)

Media type: `application/json`. Schema: `GetDeliveryEstimationDateRequest`.

#### Responses

*   **200** Returns the EstimatedShipDate and EstimatedDeliveryDate based on the default settings
    
    Media type: `application/json`. Schema: `GetDeliveryEstimationDateResponse`.
    
*   **400** Returns the GetDeliveryEstimationDateResponse with error code and error message
    
    Media type: `application/json`. Schema: `GetDeliveryEstimationDateResponse`.
    
*   **500** An internal server error when processing the request

### POST Calculates the EstimatedShipDate and EstimatedDeliveryDate based on location level settings

`POST /v1/estimate/delivery-date-by-locations`

Operation ID: `estimate/delivery-date-by-locations`. Tags: DeliveryEstimation.

Get Estimation Delivery Date API based on the "Location" level (override) settings, if the overrides is not configured use the default configuration values

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) the ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region

#### Request body (required)

Media type: `application/json`. Schema: `GetDeliveryEstimationDateRequest`.

#### Responses

*   **200** Returns the EstimatedShipDate and EstimatedDeliveryDate based on the overrides settings if exist, otherwise based on default configuration values
    
    Media type: `application/json`. Schema: `GetDeliveryEstimationDateResponse`.
    
*   **400** Returns the GetDeliveryEstimationDateResponse with error code and error message
    
    Media type: `application/json`. Schema: `GetDeliveryEstimationDateResponse`.
    
*   **500** An internal server error when processing the request

### POST Calculates the earliest pickup time for locations that accept BOPIS orders

`POST /v1/estimate/bopis`

Operation ID: `estimate/bopis`. Tags: DeliveryEstimation.

Get Estimation Delivery Date API for Bopis orders

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) the ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region

#### Request body (required)

Media type: `application/json`. Schema: `BopisEstimationRequest`.

#### Responses

*   **200** Returns the earliest pickup time for a products with inventory data.
    
    Media type: `application/json`. Schema: `BopisEstimationResponse`.
    
*   **400** Returns the BopisEstimationResponse with errors
    
    Media type: `application/json`. Schema: `BopisEstimationResponse`.
    
*   **500** An internal server error when processing the request

### POST Returns the best routing route for the given skus

`POST /v1/route/routing-rules`

Operation ID: `route/routing-rules`. Tags: DeliveryRoutingEngine.

Executes the routing fulfilment routing criteria and return the best routing route for the given request

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) the ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region

#### Request body (required)

Media type: `application/json`. Schema: `RoutingRulesExecutionRequest`.

#### Responses

*   **200** Returns the best route for delivery/estimation.
    
    Media type: `application/json`. Schema: `RoutingRulesExecutionResponse`.
    
*   **400** Returns the RoutingRulesExecutionResponse with errors
    
    Media type: `application/json`. Schema: `RoutingRulesExecutionResponse`.
    
*   **500** An internal server error when processing the request

### GET Checks the status of the DB and authorization service.

`GET /v1/health`

Operation ID: `getHealth`. Tags: Application.

Gets the health of the application.

#### Responses

*   **200** Return the health of the db and authorization Service.
    
    Media type: `application/json`. Schema: `HealthResponse`.
    
*   **500** Returns error message when we can't determine the health of the application and status of Down.
    
    Media type: `application/json`. Schema: `HealthResponse`.
    

### POST Calculates the EstimatedShipDate and EstimatedDeliveryDate based on default store level settings

`POST /v2/estimate/delivery-date`

Operation ID: `estimate/delivery-date-v2`. Tags: DeliveryEstimation.

Get Estimation Delivery Date API based on the "LocationGroup" level (default) settings

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) the ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region

#### Request body (required)

Media type: `application/json`. Schema: `GetDeliveryEstimationDateRequest`.

#### Responses

*   **200** Returns the EstimatedShipDate and EstimatedDeliveryDate based on the default settings
    
    Media type: `application/json`. Schema: `DeliveryEstimationResponse`.
    
*   **400** Returns the DeliveryEstimationResponse with error code and error message
    
    Media type: `application/json`. Schema: `DeliveryEstimationResponse`.
    
*   **500** An internal server error when processing the request

### POST Calculates the EstimatedShipDate and EstimatedDeliveryDate based on location level settings

`POST /v2/estimate/delivery-date-by-locations`

Operation ID: `estimate/delivery-date-by-locations-v2`. Tags: DeliveryEstimation.

Get Estimation Delivery Date API based on the "Location" level (override) settings, if the overrides is not configured use the default configuration values

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) the ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region

#### Request body (required)

Media type: `application/json`. Schema: `GetDeliveryEstimationDateRequest`.

#### Responses

*   **200** Returns the EstimatedShipDate and EstimatedDeliveryDate based on the overrides settings if exist, otherwise based on default configuration values
    
    Media type: `application/json`. Schema: `DeliveryEstimationResponse`.
    
*   **400** Returns the DeliveryEstimationResponse by location with error code and error message
    
    Media type: `application/json`. Schema: `DeliveryEstimationResponse`.
    
*   **500** An internal server error when processing the request

### POST Calculates the earliest pickup time for locations that accept BOPIS orders

`POST /v2/estimate/bopis`

Operation ID: `estimate/bopis-v2`. Tags: DeliveryEstimation.

Get Estimation Delivery Date API for Bopis orders

#### Parameters

*   `Authorization` (header, string, required) Token Authorization
*   `Correlation-ID` (header, string, required) the ID used to correlate requests
*   `x-salesforce-region` (header, string, required) The service's targeted deployment region

#### Request body (required)

Media type: `application/json`. Schema: `BopisEstimationRequest`.

#### Responses

*   **200** Returns the earliest pickup time for a products with inventory data.
    
    Media type: `application/json`. Schema: `BopisEstimationResponse`.
    
*   **400** Returns the BopisEstimationResponse with errors
    
    Media type: `application/json`. Schema: `BopisEstimationResponse`.
    
*   **500** An internal server error when processing the request

## Schemas

### ProvisionCDSTenantRequest

*   `CoreC2CEnvironment` (_string_, required)
*   `CoreUrl` (_string_, required)
*   `UserId` (_string_, required)
*   `EinsteinFalconInstance` (_string_)
*   `InventoryShortCode` (_string_)
*   `TenantGroupUUID` (_string_, required)

### ProvisionB2CETenantRequest

*   `Url` (_string_, required)
*   `UserId` (_string_, required)

### CommerceDeliveryServiceSetupRequest

*   `DeliveryEstimationSetup` (_object_, required)
    *   `Name` (_string_, required)
    *   `Id` (_string_, required)
    *   `UserId` (_string_, required)
    *   `RoutingCalcType` (_string_, required)
    *   `FulfillmentTimeCalcType` (_string_, required)
    *   `TransitTimeCalcType` (_string_, required)
    *   `LocationGroupName` (_string_, required)
    *   `RoutingAIApplicationId` (_string_)
    *   `IsDefault` (_boolean_, required)
    *   `IsEnabled` (_boolean_, required)
    *   `ProcessingTime` (_integer_, required)
    *   `ProcessingTimeUnit` (_string_, required)
    *   `PickUpTime` (_string_, required)
    *   `TimeZoneSid` (_integer_, required)
    *   `BusinessHours` (_BusinessHours_, required)
    *   `ShippingCarrierMethods` (_array of ShippingCarrierMethod_, required)
*   `locations` (_array of Location_)

### LocationGraphRequest

*   `UserId` (_string_, required) The user ID performing the operation
*   `Locations` (_array of Location_, required) List of locations in the graph
*   `Groups` (_array of Group_, required) List of location groups

### ApiResponse

*   `isSuccess` (_boolean_, required)
*   `error` (_array of Error_)

### DeltaSyncItemRequest

*   `key` (_object_, required) Unique identifier for the entity being synced
*   `standardFields` (_object_) Standard fields for the entity
*   `customFields` (_array of CustomFieldRequest_) Custom fields for the entity

### DeltaSyncResponse

*   `totalCount` (_integer_) Total number of entities in the sync request
*   `successCount` (_integer_) Number of entities successfully synced
*   `failedCount` (_integer_) Number of entities that failed to sync
*   `results` (_array of DeltaSyncItemResult_) Detailed results for each entity
*   `success` (_boolean_) Overall success status of the sync operation

### FulfillmentCriteriaRequest

*   `id` (_string_, required)
*   `name` (_string_, required)
*   `usageType` (_string_, required)
*   `description` (_string_)
*   `isActive` (_boolean_, required)
*   `pubFulfmtRoutgCritGrpVer` (_string_)
*   `draftFulfmtRoutgCritGrpVer` (_string_)
*   `externalReference` (_string_, required)
*   `fulfmtRoutgCriteriaGrpVer` (_FulfmtRoutgCriteriaGrpVer_, required)

### GetDeliveryEstimationDateRequest

*   `deliveryEstimationSetupName` (_string_, required)
*   `shippingCarrier` (_object_, required)
    *   `name` (_string_)
    *   `methods` (_array of object_, required)
        *   `name` (_string_, required)
*   `locations` (_array of string_)
*   `products` (_array of object_, required)
    *   `stockKeepingUnit` (_string_, required)
    *   `quantity` (_integer_, required)  
        Minimum: 1.
*   `deliveryAddress` (_object_, required)
    *   `country` (_string_, required)
    *   `state` (_string_, required)
    *   `city` (_string_, required)
    *   `postalCode` (_string_, required)
    *   `latitude` (_number_)
    *   `longitude` (_number_)

### GetDeliveryEstimationDateResponse

*   `estimatedDeliveryReference` (_string_, required)
*   `deliveryEstimates` (_array of object_, required)
    *   `shippingCarrierMethod` (_string_, required)
    *   `ProductDeliveryEstimations` (_array of ProductDeliveryEstimations_)
    *   `error` (_object_)
        *   `code` (_string_, required)
            
            dictionary:
            
            *   B2CE\_TENANT\_NOT\_FOUND The B2CE Tenant is not configured for delivery estimation
            *   SHIPPING\_CARRIER\_METHOD\_NOT\_FOUND The ShippingCarrierMethod is not configured for DeliveryEstimation
            *   DELIVERY\_ESTIMATION\_TENANT\_NOT\_FOUND The Commerce Delivery Service Tenant is not configured for DeliveryEstimation
            *   CHANNEL\_NOT\_SUPPORTED The channel is not configured for DeliveryEstimation
            *   INTERNAL\_SERVER\_ERROR Unexpected error occurred when processing the request
            
              
            Allowed values: `B2CE_TENANT_NOT_FOUND`, `SHIPPING_CARRIER_METHOD_NOT_FOUND`, `DELIVERY_ESTIMATION_TENANT_NOT_FOUND`, `CHANNEL_NOT_SUPPORTED`, `INTERNAL_SERVER_ERROR`.
        *   `message` (_string_, required)

### BopisEstimationRequest

*   `deliveryEstimationSetupName` (_string_, required)
*   `products` (_array of Product_, required)
*   `locations` (_array of string_)
*   `address` (_CustomerAddress_)
*   `radius` (_number (double)_)
*   `unit` (_string_)
*   `maxReturnedLocations` (_integer (int32)_)

### BopisEstimationResponse

*   `error` (_array of object_)
    *   `code` (_string_, required)
    *   `message` (_string_, required)
*   `results` (_array of object_)
    *   `stockKeepingUnit` (_string_, required)
    *   `location` (_string_, required)
    *   `inventory` (_object_, required)
        *   `onHand` (_integer_, required)
        *   `availableToOrder` (_integer_, required)
        *   `availableToFulfill` (_integer_, required)
    *   `distance` (_number_, required)
    *   `unit` (_string_, required) Unit of distance measurement
    *   `inStore` (_object_, required) In-store pickup information
        *   `earliestPickupTime` (_string_, required)

### RoutingRulesExecutionRequest

*   `tenantId` (_string_, required)
*   `fullfilmentCriteriaGroupName` (_string_, required)
*   `products` (_array of Product_, required)
*   `locationGroupName` (_string_, required)
*   `deliveryAddress` (_DeliveryAddress_, required)
*   `excludeLocations` (_array of string_)

### RoutingRulesExecutionResponse

*   `routes` (_array of Route_)
*   `bestLocationsPerSKU` (_object_)
    
    Additional properties: `array of LocationInfo`.
    
*   `errors` (_array of Error_)
*   `success` (_boolean_)

### HealthResponse

*   `status` (_string_, required)
*   `details` (_object_)
    *   `auth` (_string_)
    *   `db` (_string_)
    *   `Error` (_string_)

### DeliveryEstimationResponse

*   `estimatedDeliveryReference` (_string_, required)
*   `deliveryEstimates` (_array of object_, required)
    *   `deliveryGroupId` (_integer_, required)
    *   `deliveryEstimateGroup` (_array of DeliveryEstimateGroup_, required)

### BusinessHours

*   `Id` (_string_)
*   `MondayStartTime` (_string_)
*   `MondayEndTime` (_string_)
*   `TuesdayStartTime` (_string_)
*   `TuesdayEndTime` (_string_)
*   `WednesdayStartTime` (_string_)
*   `WednesdayEndTime` (_string_)
*   `ThursdayStartTime` (_string_)
*   `ThursdayEndTime` (_string_)
*   `FridayStartTime` (_string_)
*   `FridayEndTime` (_string_)
*   `SaturdayStartTime` (_string_)
*   `SaturdayEndTime` (_string_)
*   `SundayStartTime` (_string_)
*   `SundayEndTime` (_string_)

### ShippingCarrierMethod

*   `Name` (_string_, required)
*   `Id` (_string_, required)
*   `CarrierName` (_string_, required)
*   `MinTransitTime` (_integer_)
*   `MaxTransitTime` (_integer_)
*   `TransitTimeUnit` (_string_)
*   `ShippingAreaType` (_string_, required)

### Location

*   `name` (_string_, required)
*   `id` (_string_, required)
*   `processingTime` (_integer_)
*   `processingTimeUnit` (_string_)
*   `pickUpTime` (_string_)
*   `timeZoneSid` (_integer_)
*   `isEnabled` (_boolean_, required)
*   `address` (_Address_)
*   `businessHours` (_BusinessHours_)
*   `shippingCarrierMethods` (_array of ShippingCarrierMethod_)
*   `HasProductsInMarkdown` (_boolean_) Whether location has markdown products
*   `IsEligibleForPickup` (_boolean_) Whether location supports pickup
*   `EarliestPickupTimeOffset` (_integer_) Earliest pickup time offset in minutes
*   `LatestPickupTimeOffset` (_integer_) Latest pickup time offset in minutes
*   `PickupProcessingTime` (_integer_) Processing time for pickup orders
*   `PickupProcessingTimeUnit` (_string_) Unit of time for pickup processing  
    Allowed values: `Minutes`, `Hours`, `Days`, `Weeks`.
*   `ShouldTrackFoCapacity` (_boolean_) Whether to track fulfillment order capacity
*   `AssignedFoCount` (_integer_) Number of assigned fulfillment orders
*   `FoCapacity` (_integer_) Fulfillment order capacity
*   `Priority` (_string_) Location priority (DynamicEnum)
*   `CustomFields` (_array of CustomField_)

### Group

*   `Id` (_string_, required) Unique identifier for the location group
*   `Name` (_string_, required) Name of the location group
*   `Locations` (_array of string_, required) List of location IDs belonging to this group

### Error

*   `code` (_string_, required)  
    Allowed values: `B2CE_TENANT_NOT_FOUND`, `INVALID_C2C_ISSUING_CLOUD`, `INTERNAL_SERVER_ERROR`, `ROUTING_ROUTES_EVALUATION_LIMIT_EXCEEDED`, `INVALID_REQUEST`, `RULE_GROUP_NOT_FOUND`, `INSUFFICIENT_INVENTORY`, `INVENTORY_SERVICE_ERROR`, `INVENTORY_LOCATION_NOT_FOUND`, `INVENTORY_CALL_TIMEOUT`, `LOCATION_GROUP_NOT_FOUND`.
*   `message` (_string_, required)

### CustomFieldRequest

*   `FieldName` (_string_, required) Name of the custom field
*   `FieldType` (_string_, required) Data type of the custom field
*   `FieldValue` (_any_) Value of the custom field (any type)

### DeltaSyncItemResult

*   `key` (_object_) The key of the synced entity
*   `status` (_string_) Status of the sync operation for this entity  
    Allowed values: `SUCCESS`, `FAILED`, `SKIPPED`.
*   `errorCode` (_string_) Error code if the sync failed
*   `errorMessage` (_string_) Error message if the sync failed

### FulfmtRoutgCriteriaGrpVer

*   `id` (_string_, required)
*   `name` (_string_, required)
*   `description` (_string_)
*   `fulfmtRoutgCriteriaGrp` (_string_, required)
*   `versionNumber` (_string_, required)
*   `refFulfmtRoutgCritGrpVer` (_string_)
*   `state` (_string_, required)
*   `maxSplitsAllowed` (_integer_)
*   `byPassSplits` (_boolean_)
*   `fulfmtRoutgCriteria` (_array of FulfmtRoutgCriteria_)

### ProductDeliveryEstimations

*   `stockKeepingUnit` (_string_)
*   `quantity` (_integer_)  
    Minimum: 1.
*   `routingCalculationType` (_string_)
*   `estimatedShipDate` (_EstimatedShipDate_)
*   `estimatedDeliveryDate` (_EstimatedDeliveryDate_)

### Product

*   `stockKeepingUnit` (_string_, required)
*   `quantity` (_integer_, required)  
    Minimum: 1.

### CustomerAddress

*   `countryCode` (_string_) ISO country code
*   `postalCode` (_string_) Postal or ZIP code
*   `latitude` (_number (double)_) Latitude coordinate  
    Minimum: -90. Maximum: 90.
*   `longitude` (_number (double)_) Longitude coordinate  
    Minimum: -180. Maximum: 180.

### DeliveryAddress

*   `country` (_string_, required)
*   `state` (_string_)
*   `city` (_string_)
*   `postalCode` (_string_, required)
*   `latitude` (_number (double)_)
*   `longitude` (_number (double)_)

### Route

*   `locations` (_array of LocationRoute_)
*   `totalScore` (_number (double)_)

### LocationInfo

*   `locationId` (_string_)
*   `quantityAvailableToOrder` (_integer_)
*   `unitScore` (_number (double)_)

### DeliveryEstimateGroup

*   `location` (_string_, required)
*   `productDeliveryEstimations` (_array of ProductDeliveryEstimationsV2_, required)
*   `shippingMethods` (_array of object_, required)
    *   `shippingCarrierMethod` (_string_, required)
    *   `routingCalculationType` (_string_, required)
    *   `estimatedShipDate` (_DeliveryEstimate_, required)
    *   `estimatedDeliveryDate` (_DeliveryEstimate_)
*   `error` (_object_)
    *   `code` (_string_, required)
        
        dictionary:
        
        *   B2CE\_TENANT\_NOT\_FOUND The B2CE Tenant is not configured for delivery estimation
        *   SHIPPING\_CARRIER\_METHOD\_NOT\_FOUND The ShippingCarrierMethod is not configured for DeliveryEstimation
        *   DELIVERY\_ESTIMATION\_TENANT\_NOT\_FOUND The Commerce Delivery Service Tenant is not configured for DeliveryEstimation
        *   CHANNEL\_NOT\_SUPPORTED The channel is not configured for DeliveryEstimation
        *   INTERNAL\_SERVER\_ERROR Unexpected error occurred when processing the request
        
          
        Allowed values: `B2CE_TENANT_NOT_FOUND`, `SHIPPING_CARRIER_METHOD_NOT_FOUND`, `DELIVERY_ESTIMATION_TENANT_NOT_FOUND`, `CHANNEL_NOT_SUPPORTED`, `INTERNAL_SERVER_ERROR`.
    *   `message` (_string_, required)

### Address

*   `street1` (_string_)
*   `street2` (_string_)
*   `state` (_string_)
*   `city` (_string_)
*   `postalCode` (_string_, required)
*   `country` (_string_)
*   `latitude` (_number_)
*   `longitude` (_number_)

### CustomField

*   `FieldName` (_string_, required) Name of the custom field
*   `FieldType` (_string_, required) Data type of the custom field
*   `FieldValue` (_any_) Value of the custom field (any type)

### FulfmtRoutgCriteria

*   `id` (_string_, required)
*   `name` (_string_, required)
*   `type` (_string_, required)
*   `usageType` (_string_, required)
*   `templateName` (_string_)
*   `isActive` (_boolean_, required)
*   `description` (_string_)
*   `refFulfmtRoutgCriteria` (_string_)
*   `fulfmtRoutgCriteriaGrpVer` (_string_, required)
*   `conditionExpression` (_string_)
*   `weight` (_number (double)_)
*   `actionExpression` (_string_)
*   `startDate` (_string (date-time)_)
*   `endDate` (_string (date-time)_)
*   `fulfmtRoutgCriteriaActnVar` (_array of FulfmtRoutgCriteriaActnVar_, required)
*   `fulfmtRoutgCriteriaCond` (_array of FulfmtRoutgCriteriaCond_, required)

### EstimatedShipDate

*   `type` (_string_, required)
*   `min` (_string (date-time)_, required)
*   `max` (_string (date-time)_, required)

### EstimatedDeliveryDate

*   `type` (_string_, required)
*   `min` (_string (date-time)_, required)
*   `max` (_string (date-time)_, required)

### LocationRoute

*   `location` (_string_)
*   `products` (_array of ProductRoute_)

### ProductDeliveryEstimationsV2

*   `stockKeepingUnit` (_string_)
*   `quantity` (_integer_)  
    Minimum: 1.

### DeliveryEstimate

*   `type` (_string_, required)
*   `min` (_string (date-time)_, required)
*   `max` (_string (date-time)_, required)

### FulfmtRoutgCriteriaActnVar

*   `id` (_string_, required)
*   `fulfmtRoutgCriteria` (_string_, required)
*   `variableIdentifier` (_string_, required)
*   `entity` (_string_, required)
*   `field` (_string_)

### FulfmtRoutgCriteriaCond

*   `id` (_string_, required)
*   `fulfmtRoutgCriteria` (_string_, required)
*   `identifier` (_integer_, required)
*   `operator` (_string_, required)
*   `leftEntity` (_string_, required)
*   `leftField` (_string_, required)
*   `rightEntity` (_string_)
*   `rightField` (_string_)
*   `rightValue` (_string_)

### ProductRoute

*   `product` (_string_)
*   `quantity` (_number_)
*   `unitScore` (_number (double)_)

### GetDeliveryEstimationDateLocationResponse

*   `estimatedDeliveryReference` (_string_, required)
*   `deliveryEstimates` (_array of object_, required)
    *   `shippingCarrierMethod` (_string_, required)
    *   `location` (_string_)
    *   `ProductDeliveryEstimations` (_array of ProductDeliveryEstimations_)
    *   `error` (_object_)
        *   `code` (_string_, required)
            
            dictionary:
            
            *   B2CE\_TENANT\_NOT\_FOUND The B2CE Tenant is not configured for delivery estimation
            *   SHIPPING\_CARRIER\_METHOD\_NOT\_FOUND The ShippingCarrierMethod is not configured for DeliveryEstimation
            *   DELIVERY\_ESTIMATION\_TENANT\_NOT\_FOUND The Commerce Delivery Service Tenant is not configured for DeliveryEstimation
            *   CHANNEL\_NOT\_SUPPORTED The channel is not configured for DeliveryEstimation
            *   INTERNAL\_SERVER\_ERROR Unexpected error occurred when processing the request
            *   LOCATION\_NOT\_FOUND The location is not configured for DeliveryEstimation
            
              
            Allowed values: `B2CE_TENANT_NOT_FOUND`, `SHIPPING_CARRIER_METHOD_NOT_FOUND`, `DELIVERY_ESTIMATION_TENANT_NOT_FOUND`, `CHANNEL_NOT_SUPPORTED`, `INTERNAL_SERVER_ERROR`, `LOCATION_NOT_FOUND`.
        *   `message` (_string_, required)

### AttributeSet

*   `groupEligibilityExclusion` (_array of string_) List of groups from which this attribute set is excluded

### InventoryInfo

*   `onHand` (_integer_) On-hand inventory quantity
*   `availableToOrder` (_integer_) Available to order quantity
*   `availableToFulfill` (_integer_) Available to fulfill quantity
*   `attributeSet` (_AttributeSet_)