---
title: "Book"
method: POST
path: "/book"
tags: ["Booking"]
---

# Book

`POST /book`

## Query parameters

- `test_case` 'pricejump'

## Request body

- object
  - `prebook_id` string, required — ID obtained from the prebook response.
  - `external_booking_reference` string, required — External booking reference.
  - `modality` 'PAYINADVANCE', required — Payment modality.
  - `contact_data` object, required — Buyer contact information.
    - `email` string, required — Buyer's email address.
    - `phones` object[], required — List of contact phone numbers.
      - `country_code` string, required — Phone country code. E.g.: '55'.
      - `area_code` string, required — Phone area code. E.g.: '11'.
      - `number` string, required — Phone number.
      - `type` 'HOME' | 'MOBILE', required — Phone type.
  - `travelers` object[], required — List of travelers.
    - `first_name` string, required — Traveler's first name. Required for: FLIGHT, HOTEL, TICKET.
    - `last_name` string, required — Traveler's last name. Required for: FLIGHT, HOTEL, TICKET.
    - `gender` 'MALE' | 'FEMALE' — Traveler's gender.
    - `nationality` string — Traveler's nationality as ISO country code. E.g.: 'br', 'mx'.
    - `birth_date` string — Traveler's date of birth. Format: YYYY-MM-DD.
    - `identification` object — Traveler's identification document. Required for: FLIGHT, TICKET.
      - `type` 'LOCAL' | 'PASSPORT' — Traveler's document type. Required for: FLIGHT, TICKET.
      - `number` string — Traveler's document number. Required for: FLIGHT, TICKET.
  - `payment` object, required — Payment information. The 'option_type' field determines which sub-fields are required: CURRENT_ACCOUNT and FULL_POINTS do not include 'payment_units'; ONE_CARD and DEFERRED do.
    - `option_type` 'CURRENT_ACCOUNT' | 'ONE_CARD' | 'DEFERRED', required — Payment method type.
    - `payment_units` object[] — Only sent with option_type ONE_CARD or DEFERRED.
      - `type` 'ONE_CARD' | 'CURRENT_ACCOUNT' | 'DEFERRED' — Payment unit type. Use CARD for ONE_CARD, DEFERRED for DEFERRED.
      - `invoice_reference` number — Reference to the corresponding invoice. E.g.: 0.
      - `plan_id` string — Payment plan ID. Only sent with option_type ONE_CARD.
      - `secure_token` string — Card secure token. Only sent with option_type ONE_CARD.
      - `card_holder_identification` object — Card holder identification. Only sent with option_type ONE_CARD.
        - `type` 'LOCAL' | 'PASSPORT' — Card holder document type.
        - `number` string — Card holder document number.
    - `invoices` object[] — Buyer fiscal data. Present in all option_type values.
      - `reference` number — Invoice reference. E.g.: 0. Only sent with option_type ONE_CARD
      - `fiscal_name` string — Full fiscal name.
      - `first_name` string — First name. Only sent with option_type CURRENT_ACCOUNT
      - `last_name` string — Last name. Only sent with option_type CURRENT_ACCOUNT
      - `fiscal_status` 'PERSONA_FISICA', required — Fiscal status of the holder.
      - `fiscal_identification` object, required
        - `type` 'CPF' | 'PASSPORT', required — Fiscal document type. Required for: CURRENT_ACCOUNT (all products).
        - `number` string, required — Fiscal document number. Required for: CURRENT_ACCOUNT (all products).
        - `issue_country` string — Document issuing country. Only sent if fiscal_identification.type is PASSPORT.
      - `fiscal_address` object
        - `city_id` string — City ID.
        - `zip_code` string — Postal code.
        - `street` string — Street name. Required for: CURRENT_ACCOUNT (all products).
        - `number` string — Street number.
        - `neighbourhood` string — Neighbourhood. Only sent with option_type ONE_CARD AND DEFERRED.
        - `apartment` string — Apartment.
        - `floor` string — Floor.
  - `loyalty_data` object — Loyalty program data. Only sent with option_type ONE_CARD.
    - `redemption_points` number — Points to redeem. Send 0 when option_type is ONE_CARD.

## Response `200`

OK

- union
  - object
    - `reservationId` string
    - `status` string — SUCCESS
    - `products` object[]
      - `type` string — Product
      - `plataform_id` number
      - `pnr` number
  - object
    - `reservationId` string
    - `status` string — PROCESSING
    - `products` object[]
      - `type` string — Product
      - `plataform_id` number
      - `pnr` number
  - object
    - `reservationId` string
    - `status` string — ERROR
    - `products` object[]
      - `type` string — Product
      - `plataform_id` number
    - `sub_status` string — UNAVAILABLE_FLIGHT
    - `message` string — Booking failed with error: UNAVAILABLE_FLIGHT
  - object
    - `reservationId` string
    - `status` string — ERROR
    - `products` object[]
      - `type` string — Product
      - `plataform_id` number
    - `sub_status` string — INTERNAL_ERROR
    - `message` object[] — List of allowed/possible values for message.
      - `message1` string — RETRIEVE_ITINERARY_FAILED. Retrieve error.
      - `message2` string — norris call error - status: 500 Internal Server Error
  - object
    - `reservationId` string
    - `status` string — ERROR
    - `products` object[]
      - `type` string — Product
      - `plataform_id` number
    - `sub_status` string — PROVIDER_ERROR
    - `message` object[] — List of allowed/possible values for message.
      - `message1` string — PROVIDER_ERROR. ProviderError.
      - `message2` string — Booking failed with error: PROVIDER_ERROR
      - `message3` string — PROVIDER_ERROR. The server encountered an unexpected condition which prevented it from fulfilling the request
  - object
    - `reservationId` string
    - `status` string — ERROR
    - `products` object[]
      - `type` string — Product
      - `plataform_id` number
      - `pnr` string
    - `sub_status` string — PRICE_JUMP
    - `message` object[] — List of allowed/possible values for message.
      - `message1` string — NOT_TOLERABLE
      - `message2` string — INTERACTIVE - Not supported
  - object
    - `reservationId` string
    - `status` string — ERROR
    - `products` object[]
      - `type` string — FLIGHT
    - `sub_status` string — DUPLICATED_RESERVATION
    - `message` object[] — List of allowed/possible values for message.
      - `message1` string — Duplicated transaction
  - object
    - `reservationId` string
    - `status` string — ERROR
    - `products` object[]
      - `type` string — FLIGHT
    - `sub_status` string — ChannelRejected
    - `message` string
  - object
    - `reservationId` string
    - `status` string — ERROR
    - `products` object[]
      - `type` string — Product
    - `sub_status` string — IndsufficientFunds
    - `message` string — Indsufficient funds
  - object
    - `reservationId` string
    - `status` string — ERROR
    - `products` object[]
      - `type` string — Product
    - `sub_status` string — Referred
    - `message` string — A process with the card issuer is required.
  - object
    - `reservationId` string
    - `status` string — ERROR
    - `products` object[]
      - `type` string — Product
    - `sub_status` string — UnsupportedOperation
    - `message` string — Error with the payment provider
  - object
    - `reservationId` string
    - `status` string — ERROR
    - `products` object[]
      - `type` string — Product
    - `sub_status` string — RiseRejected
    - `message` string — Rejected by Risk
  - object
    - `reservationId` string
    - `status` string — ERROR
    - `products` object[]
      - `type` string — Product
    - `sub_status` string — InvalidCard
  - object
    - `reservationId` string
    - `status` string — ERROR
    - `products` object[]
      - `type` string — Product
    - `sub_status` object[] — Two diferentes status
      - `status1` string — CONFIRM DISCOUNT
      - `status2` string — REDEMPTION CANCELLATION
    - `message` object[] — 
      - `message` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `409` — Conflict
- `500` — Internal Server Error

---

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