---
title: "Creates a new booking"
method: POST
path: "/v1/reservation/booking"
tags: ["Reservations"]
---

# Creates a new booking

`POST /v1/reservation/booking`

Creates a new booking in the system. You can optionally upgrade an existing enquiry to a booking using the 'from' parameter.

## Query parameters

- `from` integer

## Request body

- LodgifyApiPublicReservationsModelsV1CreateBookingDto — The object used to create a new booking in Lodgify
  - `source_text` string, nullable — The source text for the booking
  - `arrival` string, date-time — The arrival date in yyyy-MM-dd format
  - `departure` string, date-time — The departure date in yyyy-MM-dd format
  - `property_id` integer — The unique identifier of the property
  - `status` 'Open' | 'Booked' | 'Declined' | 'Tentative' — Represents the current status of a booking or enquiry.
  - `rooms` LodgifyApiPublicReservationsModelsV1CreateBookingRoomTypeDto[], nullable — The list of rooms included in the booking. At least one room is required
    - `room_type_id` integer — The unique identifier of the room type
    - `guest_breakdown` LodgifyApiPublicReservationsModelsV12GuestBreakdownDto, required — The breakdown of guests for the booking or enquiry
      - `adults` integer — The number of adults
      - `children` integer — The number of children
      - `infants` integer — The number of infants
      - `pets` integer — The number of pets
    - `people` integer — (Deprecated. Use GuestBreakdown.Adults instead.) The number of people in the room
    - `key_code` string, nullable — The PIN code or key code provided to the guest for accessing the rented property
  - `guest` LodgifyApiPublicReservationsModelsV1CreateBookingGuestDto — The object used to create the Guest making the Booking
    - `guest_name` LodgifyApiPublicReservationsModelsV1GuestNameDto, required — Represents the name details of a guest.
      - `first_name` string, nullable — The first name of the guest.
      - `last_name` string, nullable — The last name or surname of the guest.
      - `full_name` string, nullable — The full name of the guest, combining first and last names.
    - `name` string, nullable
    - `external_id` string, nullable — The external identifier of the guest in channels like Airbnb
    - `email` string, nullable — The email address of the guest
    - `phone` string, nullable — The phone number of the guest
    - `locale` string, nullable — The locale of the guest
    - `street_address1` string, nullable — The first line of the guest's street address
    - `street_address2` string, nullable — The second line of the guest's street address
    - `city` string, nullable — The city of the guest
    - `country_code` string, nullable — The country code of the guest
    - `postal_code` string, nullable — The postal code of the guest
    - `state` string, nullable — The state or province of the guest
  - `messages` LodgifyApiPublicReservationsModelsV1CreateBookingMessageDto[], nullable — The list of messages associated with the booking. Optional
    - `subject` string, nullable — The subject of the message
    - `message` string, nullable — The content of the message
    - `type` 'Owner' | 'Comment' | 'Renter'
    - `send_notification` boolean — Indicates whether a notification should be sent to the guest when the message type is Owner. If the booking source is an external channel, the message is pushed. The default value is false
  - `payment_type` string, nullable — (Obsolete. Use payment_website_id instead.) The payment type associated with the booking. Optional, default is None
  - `payment_address` string, nullable — (Obsolete. Use payment_website_id instead.) The payment address. Only applicable if the Payment Type supports it (e.g. Paypal)
  - `payment_website_id` integer, nullable — The identifier of the website chosen as the payment gateway for this booking
  - `bookability` 'InstantBooking' | 'BookingRequest' | 'EnquiryOnly' — Defines the booking policy or method available for a property.
  - `ip_created` string, nullable — The IP address from where the booking is created. Optional. If not provided, the IP of the API caller is used
  - `total` number, double, nullable — The total amount for the booking. Leave null to allow Lodgify to calculate the quote. If a value is provided, no calculations are performed. Requires CurrencyCode if defined.
  - `currency_code` string, nullable — The currency code for the total amount. Required if Total is provided
  - `origin` string, nullable — The origin source of the booking
  - `thread_id` string, uuid, nullable — Optional. Thread Id to link this booking to a messaging thread

## Response `201`

Created

- integer

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `500` — Internal Server Error

---

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