---
title: "Create a Reservation Without a Quote"
method: POST
path: "/reservations-v3"
tags: ["Reservations Open Api [Beta]"]
---

# Create a Reservation Without a Quote

`POST /reservations-v3`

Create a reservation without needing a quote. When the listing doesn't have an active rate plan assigned, a default rate plan is selected. Otherwise, the first active rate plan is selected.

## Request body

- object
  - `checkInDateLocalized` string, required — The reservation check-in date, localized to the property’s timezone (YYYY-MM-DD)
  - `checkOutDateLocalized` string, required — The reservation check-out date, localized to the property’s timezone (YYYY-MM-DD)
  - `listingId` string, required — The property’s ID as defined in Guesty
  - `source` string, required — Define the source for getting an updated price quote
  - `status` 'confirmed' | 'reserved' | 'awaiting_payment' | 'inquiry' | 'canceled' | 'closed' | 'declined' | 'expired', required — Define the reservation status
  - `guestId` string — The primary ID for returning guests and new guests that were created beforehand
  - `guest` object — For a new guest, note that we recommend that you create the guest first in a separate request and add their guestId 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
  - `guestsCount` number, required — Number of guests to be included in the quote
  - `numberOfGuests` object — Total number of guests with breakdown
    - `numberOfChildren` number — Number of children in the reservation. It can be zero
    - `numberOfInfants` number — Number of infants in the reservation. It can be zero
    - `numberOfPets` number — Number of pets in the reservation. It can be zero
    - `numberOfAdults` number — Count of adults, must be > 0
  - `couponCode` string — A single coupon code defined under the accounted Revenue Management settings
  - `ratePlanId` string — The ID of an active rate plan when you wish to apply it to the reservation
  - `accommodationFare` number — Override the accommodation fare with a fixed amount. Must be zero or greater. This will override the calculated nightly rates.
  - `cleaningFee` number — Add a cleaning fee with a fixed amount. Must be zero or greater.
  - `applyPromotions` boolean — Apply account promotions setup (if toggled off (false), do not take promotions when creating a reservation)
  - `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. If null and status is not confirmed, leave it as null
  - `bookingDate` string, date-time — Real-world booking/creation date. Defaults to createdAt when omitted.
  - `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”)
  - `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)
