---
title: "Create order"
method: POST
path: "/orders"
tags: ["Booking API"]
---

# Create order

`POST /orders`

## Query parameters

- `lang` string — Language of the variants to retrieve.

## Headers

- `Authorization` string, required

## Request body

- object
  - `product_id` integer, required — ID of the product
  - `day` string, date, required — Visit date of the product
  - `timeslot` string, nullable — Selected timeslot to visit. Required only for products that manage their availability using timeslots
  - `variants` object[], required — Variants to include in this order
    - `variant_id` integer — The ID of the variant
    - `count` integer — Number of tickets requested for this variant
  - `customer_details` CustomerDetailsRequest, required — Customer details required to create an order. Note: The Tiqets support team might contact the provided email address and/or phone number in case of sudden changes.
    - `firstname` string, required — Customer's first name. Only names in Latin characters are allowed.
    - `lastname` string, required — Customer's last name. Only names in Latin characters are allowed.
    - `email` string, required — Customer's email address.
    - `phone` string, required — Customer's phone number. Following the regex format '^\+[1-9][0-9]{7,14}$'.
  - `visitors_details` object[] — Additional checkout information of every visitor. **Note**: these fields are only required for a few products which have `requires_visitors_details` on the variant endpoint. In case it is required, the details of the visitors must be provided for every visitor/ticket purchased within the order.
    - `variant_id` integer — The ID of the variant.
    - `visitors_data` object[] — Additional information required of each visitor associated with the `variant_id`. One value per key. *The full_name example shows the correct format for a request to create an order for 2 variants and 3 guests in total.*
      - `full_name` string, nullable — Visitor's full name as in the first name and last name in Latin characters without special characters or numbers. Needs to consist of at least two substrings separated by a space character.
      - `passport_ids` string, nullable — Visitor's passport ID.
      - `date_of_birth` string, date, nullable — Visitor's date of birth. Date format YYYY-MM-DD.
      - `nationality` string, nullable — Visitor's nationality in Latin characters.
      - `weight_kg` string, nullable — Visitor's weight in kg. Expects an integer value as a string.
      - `weight_lb` string, nullable — Visitor's weight in lb. Expects an integer value as a string.
      - `address` string, nullable — Visitor's home address.
      - `email` string, nullable — Visitor's email address.
      - `phone` string, nullable — Visitor's phone number. Following the regex format '^\+[1-9][0-9]{7,14}$'.
      - `dietary_preference` string, nullable — Visitor's dietary preferences or restrictions
  - `passport_id` string, nullable — Passport ID of the (main) visitor. Only if required for the product as advertised in Availability API. (On order level, not per individual visitor.)
  - `zipcode` integer, nullable — The 5-digit US zipcode/postal code if the visitor lives in the United States. Only if required for the product as advertised in Availability API. (On order level, not per individual visitor.)
  - `pickup_location` string, nullable — The holiday address of visitors. The tour provider may contact the visitor to arrange the nearest pickup location. Only if required for the product as advertised in Availability API. (On order level, not per individual visitor.)
  - `dropoff_location` string, nullable — The address where the visitors want to be dropped off after the ordered product/activity. Only if required for the product as advertised in Availability API. (On order level, not per individual visitor.)
  - `flight_number` string, nullable — The number of the flight the visitors arrive with. This allows the supplier to be at the right time and location if a product includes an airport pickup/dropoff. Only if required for the product as advertised in Availability API. (On order level, not per individual visitor.)
  - `callback_url` string, nullable — Optional Callback URL (webhook) for order status change notifications. This URL will be called for all order status changes, including cancellation.
  - `external_reference` string, nullable — Partner's order reference ID. Maximum 255 characters, needs to be unique

## Response `200`

Successful operation.

- object
  - `success` boolean
  - `order_reference_id` string — The unique order reference ID created for this order.
  - `payment_confirmation_token` string — Unique token that must be used to confirm the order.
  - `price_components_eur` PriceComponentMediationInEUR, nullable — Order pricing details in EUR.
    - `sale_ticket_value_incl_vat` number — Sale tickets value, including VAT. Sum of `sale_ticket_value_incl_vat` of all the tickets in the order.
    - `booking_fee_incl_vat` number — Booking fee, including VAT.
    - `sale_order_value__incl_vat` number — Sale order value, including VAT. Sum of `sale_ticket_value_incl_vat` and `booking_fee_incl_vat` of all the tickets in the order.
    - `distributor_commission_excl_vat` number — Total distributor commission of the order, excluding VAT.
  - `price_components` PriceComponentMediation, nullable — Order pricing details in the distributor's invoicing currency.
    - `sale_ticket_value_incl_vat` number — Sale tickets value, including VAT. Sum of `sale_ticket_value_incl_vat` of all the tickets in the order.
    - `booking_fee_incl_vat` number — Booking fee, including VAT.
    - `sale_order_value__incl_vat` number — Sale order value, including VAT. Sum of `sale_ticket_value_incl_vat` and `booking_fee_incl_vat` of all the tickets in the order.
    - `distributor_commission_excl_vat` number — Total distributor commission of the order, excluding VAT.
    - `currency` string — Currency code (ISO 4217) for the existing amounts.
    - `estimated_partner_rate` number, nullable — As an intermediary of Tiqets, you receive a partner commission for your services in accordance with your partner contract. The Estimated Partner Rate is merely displayed to indicate the estimated difference between the ticket retail price (including VAT) and your estimated partner commission (excluding VAT). No rights can be derived from this estimation. The terms of your partner contract shall prevail and take precedence in all cases.
  - `expected_ticket_delivery_date` string, date, nullable — The date on which the tickets will be expected to be delivered. Relevant when ticket_delivery != direct_via_tiqets_api
  - `estimated_commissions` object[] — Estimated commission for the order.
    - `currency` string — Currency code (ISO 4217) for the estimated commission amount.
    - `variant_id` integer — Variant identifier.
    - `value` number — Value of the estimated commission.

## Other responses

- `400` — Bad Request -- Check your request parameters (typo in parameter or invalid value).
- `401` — Unauthorized -- Your API key is incorrect.
- `403` — Forbidden -- The endpoint or parameters are not allowed for the matching API key.
- `404` — Not Found -- Requested resource/endpoint could not be found.
- `405` — Method Not Allowed -- Check your request method.
- `429` — Too Many Requests -- We currently apply a fair-use policy, but we might enforce limits in the future.
- `500` — Internal Server Error -- We had a problem with our server. Try again later.
- `503` — Service Unavailable -- We're temporarily offline for maintenance. Please try again later.

---

[API](https://skmtc.net/tiqets/apis/tiqets-distributor-api.md) · [All operations](https://skmtc.net/tiqets/apis/tiqets-distributor-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tiqets/tiqets-distributor-api/versions/eaf9cf96606a/schema)
