Available delivery dates within time-period

This page is outdated. Please go to our new documentation under https://docs.fulfillmenttools.com/documentation.

What is the purpose of this endpoint?

The purpose of this endpoint is to provide all available delivery dates based on a basket of items within a defined timeframe. This endpoint can be seen as an extension to the "earliest possible delivery date"-endpoint but here we check for multiple days whether a fulfillment plus delivery can be achieved or not.

This information might be used in order to provide a calendar view within the checkout to the user, which indicates the available delivery dates. With this one can make sure that the consumer knows at an early stage of the checkout journey when an item can be delivered and lead the purchase decision.

You find the documentation of this call here.

The length of the time period is restricted to 60 days. Please note that the longer the time period, the more time may be needed to calculate all the results (depending on the size of your fulfillment network).

How does it work?

Some additional info about the request:

  • startDate: This is the start date of the requested time range. If no info is given we use the default "now" (timestamp of the request).

  • endDate: This is the start date of the requested time range. If no info is given we use the default "now" (timestamp of the request).

  • basket:Contains all tenantArticleIds and the respective quantities that the customer is interested in buying

  • consumerAddress:The request needs to contain at least the consumer country. This is important, as the nondeliverydays are taken into account when calculating the earliest delivery day and these differ from country to county and also from to region. It also possible to provide a postal code in the request (i.e. for logged in shop users). By doing so, the calculation can also consider region specific non delivery days.

  • deliveryPreferences: By setting deliveryPreferences like preferredCarrier(s) or preferredCarrierProductCategories only matching carrier options are considered when evaluating which dates are possible delivery dates.

Some additional info about the response:

  • date: Defines the date on which the calculation took place and on which the following information applies

  • overallStatus: The result can be be ALL, NONE or PARTIAL. ALL: all items within the requested basket can be delivered at the corresponding date NONE: none of the items within the requested basket can be delivered at the corresponding date. PARTIAL: part of the items within the requested basket can be delivered at the corresponding date.

  • availableCarriers:

    • name:Name of the carrier (key) like "DHL"

    • nonDeliveryDays:Regions where this particular date is a non delivery date of the corresponding carrier (i.e. DE-NW: DHL does not deliver on the March 3rd 2025 in North Rhine Westphalia due to carnival)

Please note that the usage of the overallStatusis an aggregate of the basket and used in order to improve the performance of the call. If there is need for more specific information on item level you can request this call multiple times but with only one item in the basket or use our checkout options and promising endpoints.

delivery/timeperiod

post

The basket attribute depicts the items you would like to get details about their possbile delivery. All the provided tenantArticleIds within the basket are considered together (as if they are in the same basket/order). Additionally you can add information about the address these items should be delivered to to further refine the quality of the response.

Body
startDatestring · date-timeOptional

The start of the evaluated time period. Defaults to "now" (timestamp of the request)

Default: nowExample: 2024-06-03T00:00:00.000Z
endDatestring · date-timeOptional

The end of the evaluated time period. Default is the start date + 30 days. Please note that the maximum time period can not exceed 45 days.

Example: 2024-07-13T00:00:00.000Z
includeCalculationHintsbooleanOptional

Set this flag to true to get additional information about the availability of the requested articles

Responses
200

The request could be evaluated.

application/json
post
POST /api/promises/checkoutoptions/delivery/timeperiod HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 514

{
  "startDate": "2024-06-03T00:00:00.000Z",
  "endDate": "2024-07-13T00:00:00.000Z",
  "basket": [],
  "consumerAddress": {
    "city": "Langenfeld",
    "country": "DE",
    "province": "NRW",
    "houseNumber": "42a",
    "postalCode": "40764",
    "street": "Hauptstr.",
    "addressType": "POSTAL_ADDRESS"
  },
  "deliveryPreferences": {
    "preferredCarriers": [
      "text"
    ],
    "preferredCarriersWithProduct": [],
    "preselectedFacilities": [
      null
    ],
    "serviceLevel": "DELIVERY",
    "carrierProductCategory": "STANDARD",
    "desiredDeliveryTime": "2020-02-03T09:45:51.525Z"
  },
  "includeCalculationHints": true
}
{
  "checkoutOptions": [],
  "calculationHints": [
    "text"
  ]
}

Last updated

Was this helpful?