---
title: "Create a reservation from quote"
method: POST
path: "/reservations-v3/quote"
tags: ["Reservations Open Api [Beta]"]
---

# Create a reservation from quote

`POST /reservations-v3/quote`

Create a reservation based on an existing quote with all the necessary reservation data. You can create a quote using the [dedicated endpoint](https://open-api-docs.guesty.com/reference/quotesopenapicontroller_create) or the [booking engine API](https://booking-api-docs.guesty.com/reference/createreservationquote).

## Request body

- object
  - `quoteId` string, required — The quote to convert into a reservation
  - `status` 'confirmed' | 'reserved' | 'awaiting_payment' | 'inquiry' | 'canceled' | 'closed' | 'declined' | 'expired', required — Choose from: "inquiry", "reserved", or "confirmed"
  - `ratePlanId` string — The ID of an active rate plan when you wish to apply it to the reservation
  - `reservedUntil` -1 | 0.5 | 0.25 | 0.17 | 12 | 24 | 36 | 48 | 72 — It can be -1 (no limit), 0.17 (10 minutes), 0.25 (15 minutes), 0.5 (30 minutes), or 24/48/72 hours when the reservation is a booking request that reserves dates (i.e., status = “reserved”)
  - `guestId` string — The primary ID for returning/existing guests and new guests that were created beforehand
  - `guest` object — For a new guest. We recommend you create the guest first in a separate request and attach their ID to the reservation instead
    - `firstName` string, required — Guest's first name
    - `lastName` string, required — Guest's last name
    - `phones` string[], required — The guest’s phone numbers written in E.164 format: [+] [country code] [subscriber number including area code]
    - `email` string, required — Guest's primary email address
    - `address` object — Guest's address
      - `street` string — The street address, including house number and street name. It can also be a PO Box
      - `zipCode` string — The postal code or ZIP code of the address
      - `city` string — The name of the city or town or village
      - `state` string — The state or province name
      - `country` string — The [full name](https://www.iban.com/country-codes) of the country
      - `countryCode` string — The two-letter [ISO 3166 Alpha-2](https://www.iban.com/country-codes) country code
    - `preferredLanguage` string
  - `ignoreCalendar` boolean — The system will check calendar availability and decline (401) if unavailable unless this flag is set to true
  - `ignoreTerms` boolean — The system will ensure the reservation accords with the terms (min, max nights, any other terms) of the property and will decline(401) if it is. To override, set this flag to true
  - `ignoreBlocks` boolean — Set this flag to true to ignore existing flexible blocks (advance notice, preparation time, etc)
  - `confirmedAt` string, date-time — Define the confirmation date. If null and status is confirmed, use the current date (YYYY-MM-DDTHh.mm.ssZ). If null and status is not confirmed, leave it as null
  - `confirmationCode` string — Define the confirmation code
  - `origin` string — The origin of the reservation
  - `originId` string — The origin id of the reservation

## Response `201`

Success

- object
  - `reservationId` string, required
  - `quoteId` string, required
  - `confirmationCode` string, required
  - `status` string, required
  - `guestId` string, required
  - `numberOfGuests` object, required
    - `numberOfChildren` number — Number of children
    - `numberOfInfants` number — Number of infants
    - `numberOfPets` number — Number of pets
    - `numberOfAdults` number, required — Number of adults
  - `creationTime` string, date-time, required
  - `bookingDate` string, date-time, required
  - `reservedExpiresAt` string, date-time, required
  - `checkInDate` string, date-time, required
  - `checkOutDate` string, date-time, required
  - `unitTypeId` string, required
  - `unitId` string, required
  - `source` string, required
  - `channel` string, required
  - `guestsCount` number, required
  - `creationInfo` object, required

## Other responses

- `400` — Returned if required fields are missing or there is a validation error in the request body
- `422` — Returned if required fields are missing or there is a validation error in the request body
- `500` — Indicates server-side error while processing the request

---

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