# Create a new booking

Creates a new booking for a specific availability search. This endpoint requires the Option ID returned by the price check endpoint.

Endpoint: POST /booking
Version: 1.0.0

## Query parameters:

  - `option_id` (string, required)
    Option Id returned by the price check endpoint needed for the booking request. Type: String, Example: '75731f0a2be62d7ffd64f4ec41a96793a918bc4003bedf17c44fcf823e80fd29'.

## Header parameters:

  - `authorization` (string, required)
    Authorization header with HMAC signature. Format: API-Key={key},Signature={hmac_signature},Timestamp={unix_timestamp}

## Request fields (application/json):

  - `room_detail` (array, required)
    List of rooms with guest details.

  - `room_detail.lead_first_name` (string, required)
    Lead guest first name. Type - String.

  - `room_detail.lead_last_name` (string, required)
    Lead guest last name. Type - String.

  - `room_detail.notes` (any)
    Any special requests or notes for the room. Type - String.

  - `phone_number_prefix` (string, required)
    Phone number prefix. Type - String.

  - `phone_number` (string, required)
    Guest phone number. Type - String.

  - `email` (any)
    Guest email address. Type - String.

  - `custom_fields` (any)
    Dynamic custom fields can be added up to 10 fields in type string. These fields can be added for reconciliation purposes and they will be added to the invoices (ex. Order Number: 37484).

## Response 201 fields (application/json):

  - `status` (string, required)
    Status of the booking
    Enum: "PROCESSING", "WAITING_CONFIRMATION", "CONFIRMED", "NOT_CONFIRMED", "PENDING", "CANCELLED"

  - `booking_id` (integer, required)
    Booking Id

## Response 401 fields (application/json):

  - `detail` (string, required)

## Response 403 fields (application/json):

  - `detail` (string, required)

## Response 422 fields (application/json):

  - `detail` (string, required)


