---
title: "Create a booking check of specific trip"
method: POST
path: "/booking/checks"
tags: ["Booking"]
---

# Create a booking check of specific trip

`POST /booking/checks`

A `CheckResponse` with an unique `checkId` will be returned, given a `Check` including a list of `segmentGroups` and information of `passengers`.

The list of `segmentGroups` should come from a specific `Trip` included in a `PollResponse`.

An optional `extended` map of `key:value` pairs can be used to assoicate certain custom data with this particular request for future tracking.

> For example, it is recommended to pass a client side order ID to this `extended` map, so later when a response is returned it is convenient to identify the corresponding order at client side.

## Request body

- Check
  - `checkId` string — UUID
  - `currency` string — 3-letter currency code in ISO 4217 format
  - `totalAmount` number — Total price amount of all passengers for the flight, including tax and miscellaneous fees.
  - `segmentGroups` SegmentGroup[], required — A list of segment groups, where each segment group is a list of segments suggested to be placed within the same booking order.
    - `segmentGroupId` string — UUID
    - `depDate` string — This is the departure date in `YYYYMMDD` format.
    - `depAirport` string — This is the departure airport specified using its IATA code.
    - `arrAirport` string — This is the arrival airport specified using its IATA code.
    - `carrier` string — This is the 2-letter IATA carrier code
    - `retDate` string — This is the return date in `YYYYMMDD` format. Only available when type == RT.
    - `type` 'OW' | 'RT' — This is the trip type, where `OW` is for one-way trip and `RT` is for round trip.
    - `segments` Segment[] — A segment group consists of one or more segments. > For example, a direct flight from Toronto (YYZ) to London (LON) is a flight consists of exactly one flight segment.
      - `fareClass` 'Economy' | 'PremiumEconomy' | 'Business' | 'First' — This is the fare class, which is one of `Economy`, `PremiumEconomy`, `Business` and `First`.
      - `depDate` string — This is the departure date in `YYYYMMDD` format.
      - `depTime` string — This is the departure time in `HH:mm` format.
      - `depAirport` string — This is the departure airport specified using its IATA code.
      - `arrDate` string — This is the arrival date in `YYYYMMDD` format.
      - `arrTime` string — This is the arrival time in `HH:mm` format.
      - `arrAirport` string — This is the arrival airport specified using its IATA code.
      - `flightNo` string — This is the flight number starting with carrier IATA code.
      - `carrier` string — This is the 2-letter IATA carrier code
  - `passengers` Passenger[], required
    - `firstName` string
    - `lastName` string
    - `type` 'ADT' | 'CHD' | 'INF' — - Adult - Child - Infant
    - `birthday` string, date — Passenger birthday in `YYYY-MM-DD` format
    - `gender` 'F' | 'M'
    - `travelDocument` TravelDocument — Passenger travel document
      - `type` 'DRIVER_LICENSE' | 'NATIONAL_ID' | 'PASSPORT' — Type of travel document
      - `number` string — Travel document number
      - `expiryDate` string, date — Travel document expiry date in `YYYY-MM-DD` format
      - `placeOfIssue` string — Place (e.g. country, province, city) where the travel document was issued
  - `extended` Extended — Extended data from client side to associate. This is useful for storing some information later needs to be retrieved, such as client side order ID. The data is in form of `key:value` pairs. All data will be returned in response.

## Response `200`

OK
> This is a `CheckResponse` containing a `Check` with unique `checkId` that can be referred to when obtaining `CheckStatus` or in creating an `Order`.

- CheckResponse
  - `message` string — message returned by server side if there is any

## Other responses

- `400` — Bad Request > Check if anything incorrect or missing in the given `Check`. See `message` for any error message.

## Changes

- **2021-11-12** `c3e56ec8db70` — 1 info
  - endpoint added
- **2021-07-20** `704267da2188` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/newpathfly/apis/virtual-interlining-api/changes/booking/checks/post.md)

---

[API](https://skmtc.dev/newpathfly/apis/virtual-interlining-api.md) · [All operations](https://skmtc.dev/newpathfly/apis/virtual-interlining-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/newpathfly/virtual-interlining-api/revisions/5e3990fa16fa/schema)
