For the complete documentation index, see llms.txt. This page is also available as Markdown.

Select a delivery time slot

Submits the chosen delivery time window (lower and upper datetime bounds). The slot is validated to ensure it is still available. On success, the shipping option and shipping amount are calculated and stored in the pre-order, and the delivery range is recorded.

Required Fields:

  • lower: Start of the delivery time window (ISO 8601 datetime with timezone).

  • upper: End of the delivery time window (ISO 8601 datetime with timezone).

Validation:

  • The submitted range must still be available according to SlotService.is_delivery_range_available().

State Update:

  • pre_order.shipping_option is set to the first available shipping option.

  • pre_order.shipping_amount is calculated.

  • pre_order.data['delivery_range'] is set to the selected range.

  • If DELIVERY_BAGS_CONF.auto_run is enabled, DeliveryBagsPage is auto-processed.

  • For retail store delivery options, the shipping address is replaced with the retail store address.

Backward Navigation:

  • When navigating backward, delivery_range is reset, shipping_option is cleared, and shipping_amount is set to 0.00.

Next Pages:

  • PaymentOptionSelectionPage

post
Header parameters
x-requested-withstring · enumRequired

Required header for AJAX requests. Must be set to XMLHttpRequest for all checkout requests.

Default: XMLHttpRequestPossible values:
CookiestringOptional

Session cookie header (e.g. sessionid=abc123 or osessionid=<session_id>)

Body
lowerstring · date-timeRequired

Start of the selected delivery time window. Must be an ISO 8601 datetime with timezone. Must be a currently available slot according to SlotService.is_delivery_range_available().

Example: 2026-05-01T10:00:00+03:00
upperstring · date-timeRequired

End of the selected delivery time window. Must be an ISO 8601 datetime with timezone.

Example: 2026-05-01T14:00:00+03:00
Responses
200

Slot selected or validation error

application/json
errorsone of · nullableOptional
or
string[]Optional
template_namestringOptional
post/orders/checkout/?page=SlotSelectionPage
POST /orders/checkout/?page=SlotSelectionPage HTTP/1.1
Host: sandbox.akinon.com
x-requested-with: XMLHttpRequest
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 73

"lower='2026-05-01T10:00:00+03:00'&upper='2026-05-01T14:00:00+03:00'"
200

Slot selected or validation error

{
  "context_list": [
    {
      "page_name": "PaymentOptionSelectionPage",
      "page_slug": "paymentoptionselectionpage",
      "page_context": {
        "payment_options": [
          {
            "pk": 1,
            "name": "Credit Card",
            "slug": "credit-card"
          }
        ]
      }
    }
  ],
  "pre_order": {
    "user_email": "user@akinon.com",
    "delivery_range": {
      "lower": "2026-05-01T10:00:00+03:00",
      "upper": "2026-05-01T14:00:00+03:00"
    }
  },
  "errors": {},
  "template_name": "orders/checkout.html"
}

Last updated

Was this helpful?