---
title: "Preview an order"
method: POST
path: "/orders/preview"
tags: ["Orders"]
---

# Preview an order

`POST /orders/preview`

This endpoint returns the total final price with final charges, as well as the price breakdown and payment/cancellation policies for each product passed in the input.

## Headers

- `X-Affiliate-Id` integer, required

## Request body

- object
  - `booker` object, required — The booker's information.
    - `country` string, required — The booker country for showing the best price for that user and obeying laws regarding the display of taxes and fees.
    - `platform` 'android' | 'desktop' | 'ios' | 'mobile' | 'tablet', required — The booker platform for showing the platform based deals and prices.
    - `travel_purpose` 'business' | 'leisure' — The travel purpose of the booker.
    - `user_groups` string[] — The user groups that the booker is a member of.
  - `currency` string — A three-letter code that uniquely identifies a monetary currency as defined by the ISO 4217 standard. The full list can be obtained by calling <a href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies" target="_blank">common/payments/currencies</a>.
  - `accommodation` object, required — Input parameter with the checkin and checkout date and all the accommodation products to be ordered.
    - `id` integer — A signed integer number that uniquely identifies an accommodation property. The full list can be obtained by calling [accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).
    - `checkin` string, date — The checkin date. Must be within 500 days in the future and in the format yyyy-mm-dd.
    - `checkout` string, date — The checkout date. Must be later than {checkin}. Must be between 1 and 90 days after {checkin}. Must be within 500 days in the future and in the format yyyy-mm-dd.
    - `products` object[]
      - `id` string — Unique ID of the product.
      - `allocation` object — The exact allocation of guests to a room.
        - `children` integer[] — The children ages for this room.
        - `number_of_adults` integer, required — The number of adults for this room.

## Response `200`

Successful response.

- object
  - `request_id` string — Uniquely identifies the request. Please provide this identifier when contacting support.
  - `data` object
    - `accommodation` object — The products to order related to an accommodation
      - `id` integer — A signed integer number that uniquely identifies an accommodation property. The full list can be obtained by calling [accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).
      - `currency` object
        - `accommodation` string — A three-letter code that uniquely identifies a monetary currency as defined by the ISO 4217 standard. The full list can be obtained by calling <a href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies" target="_blank">common/payments/currencies</a>.
        - `booker` string — A three-letter code that uniquely identifies a monetary currency as defined by the ISO 4217 standard. The full list can be obtained by calling <a href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies" target="_blank">common/payments/currencies</a>.
      - `general_policies` object
        - `payment` object
          - `pay_online_now` object, nullable
            - `dates` object[] — Schedule specifying the instalments for paying the order for the "pay_online_now" option. For each,entry in the schedule, a charge will be made at the time of that entry.
              - …
            - `method_required` boolean — Whether a payment method is required for this payment timing.
            - `methods` object, nullable — The payment methods available for the payment timing selected.
              - …
          - `pay_online_later` object, nullable
            - `dates` object[] — Schedule specifying the instalments for paying the order for this product for the "pay_online_later" option. For each entry in the schedule, a charge will be made at the time of that entry.
              - …
            - `method_required` boolean — Whether a payment method is required for this payment timing.
            - `methods` object, nullable — The payment methods available for the payment timing selected.
              - …
          - `pay_at_the_property` object, nullable
            - `dates` object[] — Schedule specifying the instalments for paying the order for this product for the "pay_at_the_property" option. For each entry in the schedule, a charge will be made at the time of that entry.
              - …
            - `method_required` boolean — Whether a payment method is required for this payment timing.
            - `methods` object, nullable — The payment methods available for the payment timing selected.
              - …
      - `price` object — The price components of all the products selected summed
        - `base` object — The sum base price of all products selected. Does not include any extra charges.
          - `accommodation_currency` number, double
          - `booker_currency` number, double
        - `chargeable_online` object — The price that will be charged by Booking.com when online payments are used. This field does not apply to the "pay_at_the_property" timing.
          - `accommodation_currency` number, double
          - `booker_currency` number, double
        - `total` object — The total sum price. Includes all extra charges of all products.
          - `accommodation_currency` number, double
          - `booker_currency` number, double
        - `extra_charges` unknown
      - `products` object[]
        - `id` string — Unique ID of the product.
        - `bundle` integer — The bundle ID of the product comprising of value added products.
        - `deal` object, nullable — This specifies the deal tagging for the product.
          - `discount_percentage` integer — Discount percentage of the applied deal.
          - `public_price` number, double — Original price of this product, before applying any discounts.
          - `tags` string[] — The tags of all the applied deals.
        - `inventory` object
          - `third_party` boolean — Boolean value is "true" if the product is facilitated by a Booking.com partner company and "false" otherwise.
          - `type` 'net' | 'sell' — Type of inventory - either net or sell rates.
        - `policies` object — The policies for this product.
          - `cancellation` object[] — The cancellation policy schedule for this product.
            - `from` union — The time from which this cancellation fee applies. `now` means from booking time.
              - …
            - `price` object — The cancellation fee.
              - …
          - `meal_plan` object — The meal plan policy for this product.
            - `meals` string[] — The meals included in the meal plan.
            - `plan` 'all_inclusive' | 'breakfast_included' | 'full_board' | 'half_board' | 'no_plan' — The meal plan included in this product.
        - `price` object — The price components of this product. 'base' and 'extra_charges' are returned only when explicitly requested (via 'extras=extra_charges').
          - `base` object — The base price. It does not include any extra charges.
            - `accommodation_currency` number, double
            - `booker_currency` number, double
          - `chargeable_online` object — The price that will be charged by Booking.com when online payments are used. This field does not apply to the "pay_at_the_property" timing.
            - `accommodation_currency` number, double
            - `booker_currency` number, double
          - `extra_charges` object — The charge breakdown. Includes taxes and fees.
            - `conditional` object[] — Charges that might apply under a specific condition.
              - …
            - `non_conditional` object[] — All non-conditional charges that will necessarily be paid
              - …
          - `total` object — The total price. Includes all extra charges.
            - `accommodation_currency` number, double
            - `booker_currency` number, double
        - `room` number, nullable — A signed long number that uniquely identifies an accommodation property room. The full list can be obtained by calling [accommodations/details](#/accommodations/details).
        - `third_party_inventory` boolean — Boolean value is "true" if the product is facilitated by a Booking.com partner company and "false" otherwise.
        - `occupancy_mismatch` object, nullable — Details any mismatch between the requested occupancy and the product's capacity. -When one or more guests cannot be accommodated, the object contains those that can be accommodated (allocated) and those that cannot (unallocated). -If all requested guests fit, the object is null.
          - `allocated` object, required — The guests from the original request that the product can accommodate.
            - `number_of_adults` integer, required — The number of adults.
            - `children` integer[], nullable, required — The ages of the children. Null or absent if no children fit.
          - `unallocated` object, required — The guests from the original request that could not be accommodated by this product.
            - `number_of_adults` integer, required — The number of adults.
            - `children` integer[], nullable, required — The ages of the children. Null or absent if no children fit.
    - `order_token` string — A token containing the necessary data to be used on subsequent requests to [orders/create].

---

[API](https://skmtc.net/booking/apis/booking-com-demand-api.md) · [All operations](https://skmtc.net/booking/apis/booking-com-demand-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/booking/booking-com-demand-api/revisions/e5f3dccae7ca/schema)
