---
title: "Returns a specific reservation."
method: GET
path: "/booking/v0-nsfw/reservations/{id}"
tags: ["Reservation"]
---

# Returns a specific reservation.

`GET /booking/v0-nsfw/reservations/{id}`

## Request

- Base URL: `https://api.apaleo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.apaleo.com/booking/v0-nsfw/reservations/{id}`
- Auth: OAuth 2
  - Implicit: `https://identity.apaleo.com/connect/authorize`
  - Scopes: `reservations.read`, `reservations.manage`, `admin`

Retrieves a reservation, specified by its ID.<br>You must have at least one of these scopes: 'reservations.read, reservations.manage'.<br>For fine-grained clients, you must have this permission: 'core.reservations.read'.

## Path parameters

- `id` string, required

## Query parameters

- `expand` string[]

## Response `200`

Success

- ReservationModel
  - `id` string, required: Reservation id
  - `bookingId` string, required: Booking id
  - `blockId` string, nullable: Block id
  - `groupName` string, nullable: Name of the group
  - `status` 'Confirmed' | 'InHouse' | 'CheckedOut' | 'Canceled' | 'NoShow', required: Status of the reservation
  - `checkInTime` string, date-time, nullable: Time of check-in<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
  - `checkOutTime` string, date-time, nullable: Time of check-out<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
  - `cancellationTime` string, date-time, nullable: Time of cancellation, if the reservation was canceled<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
  - `noShowTime` string, date-time, nullable: Time of setting no-show reservation status<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
  - `unit` EmbeddedUnitModel
    - `id` string, required: The unit id
    - `name` string, nullable: The name for the unit
    - `description` string, nullable: The description for the unit
    - `unitGroupId` string, nullable: The unit group id
  - `property` EmbeddedPropertyModel, required
    - `id` string, required: The property id
    - `code` string, nullable: The code for the property that can be shown in reports and table views
    - `name` string, nullable: The name for the property
    - `description` string, nullable: The description for the property
  - `ratePlan` EmbeddedRatePlanModel, required
    - `id` string, required: The rate plan id
    - `code` string, nullable: The code for the rate plan that can be shown in reports and table views
    - `name` string, nullable: The name for the rate plan
    - `description` string, nullable: The description for the rate plan
    - `isSubjectToCityTax` boolean, required: Whether the rate plan is subject to city tax or not
  - `unitGroup` EmbeddedUnitGroupModel, required
    - `id` string, required: The unit group id
    - `code` string, nullable: The code for the unit group that can be shown in reports and table views
    - `name` string, nullable: The name for the unit group
    - `description` string, nullable: The description for the unit group
    - `type` 'BedRoom' | 'MeetingRoom' | 'EventSpace' | 'ParkingLot' | 'Other', nullable: The unit group type
  - `totalGrossAmount` MonetaryValueModel, required
    - `amount` number, double, required
    - `currency` string, required
  - `arrival` string, date-time, required: Date of arrival<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
  - `departure` string, date-time, required: Date of departure<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
  - `created` string, date-time, required: Date of creation<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
  - `modified` string, date-time, required: Date of last modification<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
  - `adults` integer, required: Number of adults
  - `childrenAges` integer[], nullable: The ages of the children
  - `comment` string, nullable: Additional information and comments
  - `guestComment` string, nullable: Additional information and comment by the guest
  - `externalCode` string, nullable: Code in external system
  - `channelCode` 'Direct' | 'BookingCom' | 'Ibe' | 'ChannelManager' | 'Expedia' | 'Homelike' | 'Hrs' | 'AltoVita' | 'DesVu' | 'Gimsi', required: Channel code<br /><b>Deprecated values:</b> Homelike: Homelike channel is deprecated and no longer accepts new bookings or rate plans.
  - `source` string, nullable: Source of the reservation (e.g Hotels.com, Orbitz, etc.)
  - `primaryGuest` GuestModel: Guest on v0-nsfw booking endpoints. Sibling of Apaleo.Api.Modules.Booking.Models.Reservation.GuestModel (not a subclass): Swagger schema ids strip "Unstable", so inheriting the stable type would collide on "GuestModel".
    - `title` 'Mr' | 'Ms' | 'Dr' | 'Prof' | 'Mrs' | 'Other', nullable: Title of the guest
    - `gender` 'Female' | 'Male' | 'Other' | 'Unknown', nullable: Gender of the guest Allowed values for this field depend on the country in which the property is located. Use /booking/v0-nsfw/types/Gender/allowed-values to check what values are allowed.
    - `firstName` string, nullable: First name of the guest
    - `middleInitial` string, nullable: Middle initial of the guest
    - `lastName` string, required: Last name of the guest
    - `secondLastName` string, nullable: Second last name of the guest
    - `email` string, nullable: Email address of the guest
    - `phone` string, nullable: Phone number of the guest
    - `address` PersonAddressModel
      - `addressLine1` string, nullable
      - `addressLine2` string, nullable
      - `postalCode` string, nullable
      - `city` string, nullable
      - `regionCode` string, nullable: ISO 3166-2 region code including the country prefix (e.g. US-CA, DE-BY).
      - `countryCode` string, nullable
    - `nationalityCountryCode` string, nullable: The guest's nationality, in ISO 3166-1 alpha-2 code
    - `identificationNumber` string, nullable: The guest's identification number for the given identificationType.
    - `identificationAdditionalNumber` string, nullable: The guest's additional identification number for the given identificationType.
    - `identificationIssueDate` string, date, nullable: The issue date of the guest's identification document.
    - `identificationExpiryDate` string, date, nullable: The expiry date of the guest's identification document.
    - `identificationIssuePlace` string, nullable: The issue place of the guest's identification document.
    - `identificationType` 'SocialInsuranceNumber' | 'PassportNumber' | 'IdNumber' | 'DriverLicenseNumber' | 'VisaNumber' | 'ForeignerIdentityNumber' | 'TaxIdentificationNumber' | 'Other', nullable: The type of the identificationNumber Allowed values for this field depend on the country in which the property is located. Use /booking/v0-nsfw/types/IdentificationType/allowed-values to check what values are allowed.
    - `personalTaxId` string, nullable: The personal tax id of the guest
    - `company` PersonCompanyModel
      - `name` string, nullable: Name of the company
      - `taxId` string, nullable: Tax or Vat ID of the company
    - `preferredLanguage` string, nullable: ISO 639-1 language code (the language, not the country code): e.g. vi not vn, ja not jp, cs not cz, zh not cn.
    - `birthDate` string, date, nullable: Guest's birthdate
    - `birthPlace` string, nullable: Guest's place of birth
    - `birthFirstName` string, nullable: Guest's first name right after birth
    - `birthLastName` string, nullable: Guest's last name right after birth
    - `motherFirstName` string, nullable: Guest's mother's first name
    - `motherLastName` string, nullable: Guest's mother's last name
    - `borderCrossingPlace` string, nullable: The place through which the guest crossed the border
    - `borderCrossingDate` string, date, nullable: Date on which the guest crossed the border
    - `nextDestination` string, nullable: The guest's next destination address
    - `relationshipToPrimaryGuest` 'Grandparent' | 'Grandchild' | 'GreatGrandparent' | 'GreatGrandchild' | 'Parent' | 'Child' | 'Sibling' | 'ParentInLaw' | 'ChildInLaw' | 'SiblingInLaw' | 'Spouse' | 'UncleOrAunt' | 'NephewOrNiece' | 'Guardian' | 'Other', nullable: The relationship of the guest to the primary guest.
    - `vehicleRegistration` VehicleRegistrationModel
      - `number` string, nullable: The number of a vehicle registration plate
      - `countryCode` string, nullable: Code of the country of vehicle registration
    - `loyaltyMemberships` LoyaltyMembershipModel[], nullable: Loyalty program memberships of the guest. Stored as sent; program codes are not validated against a catalog.
      - `program` string, nullable: Loyalty program code. Stored as sent; not validated against a catalog.
      - `membershipNumber` string, nullable: Membership number in the loyalty program.
      - `tier` string, nullable: Optional loyalty tier. Stored as sent.
    - `isVip` boolean, nullable: Whether the guest is a VIP. Omitted on update leaves the stored value unchanged. Omitted on create means the guest is not a VIP.
    - `marketingConsent` MarketingConsentModel
      - `granted` boolean, required: Whether the guest granted marketing consent.
      - `capturedAt` string, date-time, nullable: When the guest gave or withdrew consent. Defaults to the time Apaleo receives the write.<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
      - `source` string, nullable: Free-text source of the consent, e.g. booking-engine, front-desk, comms-app.
      - `receivedAt` string, date-time, nullable: Set by Apaleo whenever a write changes the consent. Ignored on input.<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
  - `additionalGuests` GuestModel[], nullable: Additional guests of the reservation.
    - `title` 'Mr' | 'Ms' | 'Dr' | 'Prof' | 'Mrs' | 'Other', nullable: Title of the guest
    - `gender` 'Female' | 'Male' | 'Other' | 'Unknown', nullable: Gender of the guest Allowed values for this field depend on the country in which the property is located. Use /booking/v0-nsfw/types/Gender/allowed-values to check what values are allowed.
    - `firstName` string, nullable: First name of the guest
    - `middleInitial` string, nullable: Middle initial of the guest
    - `lastName` string, required: Last name of the guest
    - `secondLastName` string, nullable: Second last name of the guest
    - `email` string, nullable: Email address of the guest
    - `phone` string, nullable: Phone number of the guest
    - `address` PersonAddressModel
      - `addressLine1` string, nullable
      - `addressLine2` string, nullable
      - `postalCode` string, nullable
      - `city` string, nullable
      - `regionCode` string, nullable: ISO 3166-2 region code including the country prefix (e.g. US-CA, DE-BY).
      - `countryCode` string, nullable
    - `nationalityCountryCode` string, nullable: The guest's nationality, in ISO 3166-1 alpha-2 code
    - `identificationNumber` string, nullable: The guest's identification number for the given identificationType.
    - `identificationAdditionalNumber` string, nullable: The guest's additional identification number for the given identificationType.
    - `identificationIssueDate` string, date, nullable: The issue date of the guest's identification document.
    - `identificationExpiryDate` string, date, nullable: The expiry date of the guest's identification document.
    - `identificationIssuePlace` string, nullable: The issue place of the guest's identification document.
    - `identificationType` 'SocialInsuranceNumber' | 'PassportNumber' | 'IdNumber' | 'DriverLicenseNumber' | 'VisaNumber' | 'ForeignerIdentityNumber' | 'TaxIdentificationNumber' | 'Other', nullable: The type of the identificationNumber Allowed values for this field depend on the country in which the property is located. Use /booking/v0-nsfw/types/IdentificationType/allowed-values to check what values are allowed.
    - `personalTaxId` string, nullable: The personal tax id of the guest
    - `company` PersonCompanyModel
      - `name` string, nullable: Name of the company
      - `taxId` string, nullable: Tax or Vat ID of the company
    - `preferredLanguage` string, nullable: ISO 639-1 language code (the language, not the country code): e.g. vi not vn, ja not jp, cs not cz, zh not cn.
    - `birthDate` string, date, nullable: Guest's birthdate
    - `birthPlace` string, nullable: Guest's place of birth
    - `birthFirstName` string, nullable: Guest's first name right after birth
    - `birthLastName` string, nullable: Guest's last name right after birth
    - `motherFirstName` string, nullable: Guest's mother's first name
    - `motherLastName` string, nullable: Guest's mother's last name
    - `borderCrossingPlace` string, nullable: The place through which the guest crossed the border
    - `borderCrossingDate` string, date, nullable: Date on which the guest crossed the border
    - `nextDestination` string, nullable: The guest's next destination address
    - `relationshipToPrimaryGuest` 'Grandparent' | 'Grandchild' | 'GreatGrandparent' | 'GreatGrandchild' | 'Parent' | 'Child' | 'Sibling' | 'ParentInLaw' | 'ChildInLaw' | 'SiblingInLaw' | 'Spouse' | 'UncleOrAunt' | 'NephewOrNiece' | 'Guardian' | 'Other', nullable: The relationship of the guest to the primary guest.
    - `vehicleRegistration` VehicleRegistrationModel
      - `number` string, nullable: The number of a vehicle registration plate
      - `countryCode` string, nullable: Code of the country of vehicle registration
    - `loyaltyMemberships` LoyaltyMembershipModel[], nullable: Loyalty program memberships of the guest. Stored as sent; program codes are not validated against a catalog.
      - `program` string, nullable: Loyalty program code. Stored as sent; not validated against a catalog.
      - `membershipNumber` string, nullable: Membership number in the loyalty program.
      - `tier` string, nullable: Optional loyalty tier. Stored as sent.
    - `isVip` boolean, nullable: Whether the guest is a VIP. Omitted on update leaves the stored value unchanged. Omitted on create means the guest is not a VIP.
    - `marketingConsent` MarketingConsentModel
      - `granted` boolean, required: Whether the guest granted marketing consent.
      - `capturedAt` string, date-time, nullable: When the guest gave or withdrew consent. Defaults to the time Apaleo receives the write.<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
      - `source` string, nullable: Free-text source of the consent, e.g. booking-engine, front-desk, comms-app.
      - `receivedAt` string, date-time, nullable: Set by Apaleo whenever a write changes the consent. Ignored on input.<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
  - `booker` BookerModel
    - `title` 'Mr' | 'Ms' | 'Dr' | 'Prof' | 'Mrs' | 'Other', nullable: Title of the booker
    - `gender` 'Female' | 'Male' | 'Other' | 'Unknown', nullable: Gender of the booker
    - `firstName` string, nullable: First name of the booker
    - `middleInitial` string, nullable: Middle initial of the booker
    - `lastName` string, required: Last name of the booker
    - `email` string, nullable: Email address of the booker
    - `phone` string, nullable: Phone number of the booker
    - `address` PersonAddressModel
      - `addressLine1` string, nullable
      - `addressLine2` string, nullable
      - `postalCode` string, nullable
      - `city` string, nullable
      - `regionCode` string, nullable: ISO 3166-2 region code including the country prefix (e.g. US-CA, DE-BY).
      - `countryCode` string, nullable
    - `nationalityCountryCode` string, nullable: The booker's nationality, in ISO 3166-1 alpha-2 code
    - `identificationNumber` string, nullable: The booker's identification number for the given identificationType.
    - `identificationIssueDate` string, date, nullable: The issue date of the booker's identification document.
    - `identificationExpiryDate` string, date, nullable: The expiry date of the booker's identification document.
    - `identificationType` 'SocialInsuranceNumber' | 'PassportNumber' | 'IdNumber' | 'DriverLicenseNumber' | 'VisaNumber' | 'ForeignerIdentityNumber' | 'TaxIdentificationNumber' | 'Other', nullable: The type of the identificationNumber
    - `company` PersonCompanyModel
      - `name` string, nullable: Name of the company
      - `taxId` string, nullable: Tax or Vat ID of the company
    - `preferredLanguage` string, nullable: ISO 639-1 language code (the language, not the country code): e.g. vi not vn, ja not jp, cs not cz, zh not cn.
    - `birthDate` string, date, nullable: Birth date
    - `birthPlace` string, nullable: The place of birth
  - `paymentAccount` PaymentAccountModel: DEPRECATED: PaymentAccountModel is deprecated, use `/booking/v1/payment-accounts` instead. This model will be removed on May 15, 2026.
    - `accountNumber` string, nullable: The account number (e.g. masked credit card number or last 4 digits)
    - `accountHolder` string, nullable: The account holder (e.g. card holder)
    - `expiryMonth` string, nullable: The credit card's expiration month
    - `expiryYear` string, nullable: The credit card's expiration year
    - `paymentMethod` string, nullable: The payment method (e.g. Visa)
    - `payerEmail` string, nullable: The email address of the shopper / customer
    - `payerReference` string, nullable: The payer reference. It is used to make recurring captures and its usage is allowed only in the scope of the booking. For the reason above this is a write-only field.
    - `isVirtual` boolean: Indicates if the payment account is a virtual credit card. If not specified it defaults to 'false'
    - `isActive` boolean, required: Indicates if the payment account can be used for capturing payments. A payment account is active, when it has a valid payer reference set
    - `inactiveReason` string, nullable: A reason why account is inactive
  - `hasActivePaymentAccount` boolean: True if the reservation has at least one active payment account, false otherwise. This is a read-only property and is not set by the client. It is used to determine if the reservation has an active payment account without having to retrieve the payment account details.
  - `registeredCard` RegisteredCardModel: Use registered card when you need to show details about a card you intend to add to the booking/reservation in the future as a real payment account. It is NOT a replacement of the deprecated PaymentAccount field.
    - `cardNumber` string, nullable: The last 4 characters of the card number
    - `cardHolder` string, nullable: The account holder (e.g. cardholder)
    - `expiryMonth` string, nullable: The credit card's expiration month
    - `expiryYear` string, nullable: The credit card's expiration year
    - `paymentMethod` string, nullable: The payment method (e.g. Visa)
    - `payerEmail` string, nullable: The email address of the shopper / customer
    - `note` string, nullable: Optional information, e.g. about card activation or failure to do so
    - `isVirtual` boolean: Indicates if the payment account is a virtual credit card.
  - `timeSlices` TimeSliceModel[], nullable: The list of time slices with the reserved units / unit groups for the stay
    - `from` string, date-time, required: The start date and time for this time slice<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
    - `to` string, date-time, required: The end date and time for this time slice<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
    - `serviceDate` string, date, required: The service date for this time slice
    - `ratePlan` EmbeddedRatePlanModel, required
      - `id` string, required: The rate plan id
      - `code` string, nullable: The code for the rate plan that can be shown in reports and table views
      - `name` string, nullable: The name for the rate plan
      - `description` string, nullable: The description for the rate plan
      - `isSubjectToCityTax` boolean, required: Whether the rate plan is subject to city tax or not
    - `unitGroup` EmbeddedUnitGroupModel, required
      - `id` string, required: The unit group id
      - `code` string, nullable: The code for the unit group that can be shown in reports and table views
      - `name` string, nullable: The name for the unit group
      - `description` string, nullable: The description for the unit group
      - `type` 'BedRoom' | 'MeetingRoom' | 'EventSpace' | 'ParkingLot' | 'Other', nullable: The unit group type
    - `unit` EmbeddedUnitModel
      - `id` string, required: The unit id
      - `name` string, nullable: The name for the unit
      - `description` string, nullable: The description for the unit
      - `unitGroupId` string, nullable: The unit group id
    - `baseAmount` AmountModel, required
      - `grossAmount` number, double, required
      - `netAmount` number, double, required
      - `vatType` 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'Special1' | 'Special2' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed', required
      - `vatPercent` number, double, required
      - `currency` string, required
    - `totalGrossAmount` MonetaryValueModel, required
      - `amount` number, double, required
      - `currency` string, required
    - `requestedTimeSlicePrice` MonetaryValueModel
      - `amount` number, double, required
      - `currency` string, required
    - `requestedPricingType` 'BeforeTaxesWithVat' | 'BeforeTaxes' | 'AfterTaxes', nullable: The pricing type of the client-requested gross price for this time slice
    - `includedServices` ReservationServiceModel[], nullable: The list of services included in the rate plan (package elements)
      - `service` EmbeddedServiceModel, required
        - `id` string, required: The service id
        - `code` string, nullable: The code for the service
        - `name` string, nullable: The name for the service
        - `description` string, nullable: The description for the service
      - `serviceDate` string, date, required: The date this service is delivered
      - `count` integer, required: The count of booked services
      - `pricingUnit` 'Room' | 'Person', nullable: The pricing unit this service's count was calculated from at booking time
      - `ageCategoryId` string, nullable: The id of the age category this service was priced for at booking time, when priced per person
      - `amount` AmountModel, required
        - `grossAmount` number, double, required
        - `netAmount` number, double, required
        - `vatType` 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'Special1' | 'Special2' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed', required
        - `vatPercent` number, double, required
        - `currency` string, required
      - `bookedAsExtra` boolean, required: Whether this service is already booked as extra
      - `taxes` AppliedTaxModel[], nullable: The taxes applied to this service according to the tax definitions configured in the Taxes API.
        - `taxDefinitionCode` string, required: The code of the tax definition that produced this tax
        - `amount` AmountModel, required
          - `grossAmount` number, double, required
          - `netAmount` number, double, required
          - `vatType` 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'Special1' | 'Special2' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed', required
          - `vatPercent` number, double, required
          - `currency` string, required
        - `remittedBy` 'Hotel' | 'Ota', required: Who is responsible for remitting the tax
    - `actions` ActionModelReservationTimeSliceActionNotAllowedReservationTimeSliceActionReason[], nullable: The list of actions allowed for this time slice
      - `action` 'Amend', required
      - `isAllowed` boolean, required
      - `reasons` ActionReasonModelNotAllowedReservationTimeSliceActionReason[], nullable
        - `code` 'AmendNotAllowedWhenTimeSliceIsInThePast' | 'AmendNotAllowedWhenTimeSliceIsAlreadyPosted' | 'AmendNotAllowedForReservationInFinalStatus' | 'AmendNotAllowedWhenMainFolioIsClosedOrClosing', required
        - `message` string, required
  - `services` ReservationServiceItemModel[], nullable: The list of additional services (extras, add-ons) reserved for the stay
    - `service` ServiceModel, required
      - `id` string, required: The service id
      - `code` string, required: The code for the service
      - `name` string, required: The name for the service
      - `description` string, required: The description for the service
      - `pricingUnit` 'Room' | 'Person', required: Defines the granularity (room, person) for which this item is offered and priced
      - `defaultGrossPrice` MonetaryValueModel, required
        - `amount` number, double, required
        - `currency` string, required
    - `totalAmount` AmountModel, required
      - `grossAmount` number, double, required
      - `netAmount` number, double, required
      - `vatType` 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'Special1' | 'Special2' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed', required
      - `vatPercent` number, double, required
      - `currency` string, required
    - `dates` ServiceDateItemModel[], required: The dates the service will be delivered with its price
      - `serviceDate` string, date, required: The date this service is delivered
      - `count` integer, required: The count of booked services
      - `pricingUnit` 'Room' | 'Person', nullable: The pricing unit this service was priced by
      - `ageCategoryId` string, nullable: The age category this service was priced for
      - `amount` AmountModel, required
        - `grossAmount` number, double, required
        - `netAmount` number, double, required
        - `vatType` 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'Special1' | 'Special2' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed', required
        - `vatPercent` number, double, required
        - `currency` string, required
      - `isMandatory` boolean, required: Rate plans can have additional services. When booking an offer for such rate plans, those services are automatically booked. They are marked as mandatory and they cannot be removed.
      - `taxes` AppliedTaxModel[], nullable: The taxes applied to this service according to the tax definitions configured in the Taxes API.
        - `taxDefinitionCode` string, required: The code of the tax definition that produced this tax
        - `amount` AmountModel, required
          - `grossAmount` number, double, required
          - `netAmount` number, double, required
          - `vatType` 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'Special1' | 'Special2' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed', required
          - `vatPercent` number, double, required
          - `currency` string, required
        - `remittedBy` 'Hotel' | 'Ota', required: Who is responsible for remitting the tax
  - `guaranteeType` 'PM6Hold' | 'CreditCard' | 'Prepayment' | 'Company' | 'Ota', required: The strongest guarantee for the rate plans booked in this reservation
  - `cancellationFee` ReservationCancellationFeeModel, required
    - `id` string, required: The id of the cancellation policy applied
    - `code` string, required: The code of the cancellation policy applied
    - `name` string, required: The name of the cancellation policy applied
    - `description` string, required: The description of the cancellation policy applied
    - `dueDateTime` string, date-time, required: The date and time the cancellation fee will be due. After that time this fee will be charged in case of cancellation<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
    - `fee` MonetaryValueModel, required
      - `amount` number, double, required
      - `currency` string, required
  - `noShowFee` ReservationNoShowFeeModel, required
    - `id` string, required: The id of the no-show policy applied
    - `code` string, required: The code of the no-show policy applied
    - `name` string, required: The name of the no-show policy applied
    - `description` string, required: The description of the no-show policy applied
    - `fee` MonetaryValueModel, required
      - `amount` number, double, required
      - `currency` string, required
  - `travelPurpose` 'Business' | 'Leisure', nullable: The purpose of the trip, leisure or business
  - `balance` MonetaryValueModel, required
    - `amount` number, double, required
    - `currency` string, required
  - `assignedUnits` ReservationAssignedUnitModel[], nullable: The list of units assigned to this reservation
    - `unit` EmbeddedUnitModel, required
      - `id` string, required: The unit id
      - `name` string, nullable: The name for the unit
      - `description` string, nullable: The description for the unit
      - `unitGroupId` string, nullable: The unit group id
    - `timeRanges` ReservationAssignedUnitTimeRangeModel[], required: The time ranges for which the unit is assigned to the reservation
      - `from` string, date-time, required: The start date and time of the period for which the unit is assigned to the reservation<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
      - `to` string, date-time, required: The end date and time of the period for which the unit is assigned to the reservation<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
  - `validationMessages` ReservationValidationMessageModel[], nullable: Validation rules are applied to reservations during their lifetime. For example a reservation that was created while the house or unit group is already fully booked. Whenever a rule was or is currently violated, a validation message will be added to this list. They can be deleted whenever the hotel staff worked them off.
    - `category` 'OfferNotAvailable' | 'AutoUnitAssignment' | 'GuestLoyalty', required: The message category
    - `code` 'UnitGroupFullyBooked' | 'UnitGroupCapacityExceeded' | 'RatePlanRestrictionsViolated' | 'RatePlanSurchargesNotSet' | 'RateRestrictionsViolated' | 'RatePlanChannelNotSet' | 'RatesNotSet' | 'BlockFullyBooked' | 'UnitMoved' | 'IncludedServicesAmountExceededRateAmount' | 'RatePlanCompanyRestrictionsViolated' | 'ServiceFullyBooked' | 'RateDoesNotSatifyHurdles' | 'LoyaltyMembershipNotRecognized', required: The message Code
    - `message` string, required: The message description
  - `actions` ActionModelReservationActionNotAllowedReservationActionReason[], nullable: The list of actions for this reservation
    - `action` 'CheckIn' | 'CheckOut' | 'Cancel' | 'AmendTimeSlices' | 'AmendArrival' | 'AmendDeparture' | 'NoShow' | 'AssignUnit' | 'UnassignUnit' | 'RemoveCityTax' | 'AddCityTax' | 'RemoveService' | 'AddService' | 'CheckInRevert' | 'LockUnit' | 'UnlockUnit' | 'NoShowRevert', required
    - `isAllowed` boolean, required
    - `reasons` ActionReasonModelNotAllowedReservationActionReason[], nullable
      - `code` 'CheckInNotAllowedForReservationNotInStatusConfirmed' | 'CheckInNotAllowedBeforeArrivalDate' | 'CheckInNotAllowedAfterDepartureDateTime' | 'CheckInNotAllowedWithoutUnitAssignedForWholeStay' | 'CheckInRevertDisabled' | 'CheckInRevertNotAllowedForReservationNotInInHouseStatus' | 'CheckInRevertNotAllowedForReservationWithPostedCharges' | 'CheckOutNotAllowedForReservationNotInStatusInHouse' | 'CheckOutNotAllowedForPastReservationNotInStatusConfirmedOrInHouse' | 'CheckOutNotAllowedWithDepartureDateMoreThanOneDayInTheFuture' | 'CancelNotAllowedForReservationNotInStatusConfirmed' | 'AmendNotAllowedForNotAmendableTimeSlices' | 'AmendArrivalNotAllowedForNotAmendableTimeSlices' | 'AmendArrivalNotAllowedForReservationNotInStatusConfirmed' | 'AmendArrivalNotAllowedWhenMainFolioIsClosedOrClosing' | 'AmendDepartureNotAllowedForReservationNotInStatusConfirmedOrInHouse' | 'AmendDepartureNotAllowedForReservationDepartureDateTooFarInThePast' | 'AmendDepartureNotAllowedWhenMainFolioIsClosedOrClosing' | 'NoShowNotAllowedForReservationNotInStatusConfirmed' | 'NoShowNotAllowedBeforeArrivalDate' | 'AssignUnitNotAllowedForReservationInThePast' | 'AssignUnitNotAllowedForReservationNotInStatusConfirmedOrInHouse' | 'UnassignUnitNotAllowedForReservationInThePast' | 'UnassignUnitNotAllowedForReservationNotInStatusConfirmed' | 'UnassignUnitNotAllowedForReservationWithoutUnit' | 'RemoveCityTaxNotAllowedForReservationNotInStatusConfirmedOrInHouse' | 'RemoveCityTaxNotAllowedForReservationWithPostedCharges' | 'RemoveCityTaxNotAllowedForReservationWithoutCityTax' | 'AddCityTaxNotAllowedForReservationNotInStatusConfirmedOrInHouse' | 'AddCityTaxNotAllowedForReservationWithCityTax' | 'AddCityTaxNotAllowedForReservationForRatePlanNotSubjectToCityTax' | 'AddCityTaxNotAllowedForReservationWithPostedCharges' | 'RemoveServiceNotAllowedForReservationNotInStatusConfirmedOrInHouse' | 'RemoveServiceNotAllowedForReservationInThePast' | 'AddServiceNotAllowedForReservationNotInStatusConfirmedOrInHouse' | 'AddServiceNotAllowedForReservationInThePast' | 'AddServiceNotAllowedWhenMainFolioIsClosedOrClosing' | 'LockUnitNotAllowedForReservationNotInStatusConfirmedOrInHouse' | 'LockUnitNotAllowedForReservationWhenUnitsNotAssigned' | 'UnlockUnitNotAllowedForReservationNotLocked' | 'AssignUnitNotAllowedForLockedReservation' | 'UnassignUnitNotAllowedForLockedReservation' | 'NoShowRevertNotAllowedForReservationNotInStatusNoShow' | 'NoShowRevertNotAllowedAfterDepartureDateTime' | 'NoShowRevertNotAllowedForArrivalBeforeYesterday' | 'NoShowRevertNotAllowedForPostOnArrivalDayAfterSixAm' | 'NoShowRevertNotAllowedForDoNotChargeWhenArrivalNightIsPosted' | 'NoShowRevertNotAllowedWhenFolioIsClosedOrClosing' | 'NoShowRevertNotAllowedWhenNoShowFeeIsInvoiced' | 'NoShowRevertNotAllowedWhenFolioHasPendingPayment', required
      - `message` string, required
  - `company` EmbeddedCompanyModel
    - `id` string, required: The company ID
    - `code` string, nullable: The code of the company
    - `name` string, nullable: The name of the company
    - `canCheckOutOnAr` boolean, nullable: Whether or not the company can check out on AR
  - `corporateCode` string, nullable: The corporate code
  - `allFoliosHaveInvoice` boolean: Whether all folios of a reservation have an invoice
  - `taxDetails` TaxDetailModel[], required: Tax breakdown, displaying net and tax amount for each VAT type
    - `vatType` 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'Special1' | 'Special2' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed', required
    - `vatPercent` number, double, required
    - `net` MonetaryValueModel, required
      - `amount` number, double, required
      - `currency` string, required
    - `tax` MonetaryValueModel, required
      - `amount` number, double, required
      - `currency` string, required
  - `hasCityTax` boolean, required: Whether the city tax has already been added to the reservation. Set to false, if the property does not have city tax configured
  - `commission` CommissionModel
    - `commissionAmount` MonetaryValueModel, required
      - `amount` number, double, required
      - `currency` string, required
    - `beforeCommissionAmount` MonetaryValueModel
      - `amount` number, double, required
      - `currency` string, required
  - `promoCode` string, nullable: The promo code associated with a certain special offer used to create the reservation
  - `payableAmount` PayableAmountModel, required
    - `guest` MonetaryValueModel, required
      - `amount` number, double, required
      - `currency` string, required
  - `marketSegment` EmbeddedMarketSegmentModel: The market segment identifier to help categorize your bookings for revenue management and reporting purposes.
    - `id` string, required: The market segment id
    - `code` string, nullable: The market segment code
    - `name` string, nullable: The market segment name
  - `isOpenForCharges` boolean, required: Whether the reservation can accept charges on its folios. This is purely informational and no validation is performed on this field. Defaults to true.
  - `isPreCheckedIn` boolean: Indicates whether the reservation is marked as pre-checked-in or not.
  - `isUnitAssignmentLocked` boolean: Indicates whether the unit assignments for this reservation are locked
  - `depositContainerId` string, nullable: The id of the deposit container associated with this reservation
  - `externalReferences` ExternalReferencesModel
    - `globalDistributionSystemId` string, nullable: The ID of the global distribution system.
    - `onlineTravelAgencyId` string, nullable: The ID of the online travel agency.
    - `onlineBookingToolId` string, nullable: The ID of the online booking tool.
    - `channelManagerId` string, nullable: The ID of the channel manager.
    - `centralReservationSystemId` string, nullable: The Central Reservation System Identifier
    - `legacyId` string, nullable: The ID of the legacy PMS system.

## Other responses

- `400`: Bad request.
- `401`: You are unauthorized.
- `403`: Forbidden.
- `404`: The Request-URI could not be found.
- `422`: Validation errors in the request body or query params.
- `499`: Client closed request.
- `500`: An unexpected error occurred.
- `503`: The server is currently unavailable. Please try later.

---

[API](https://skmtc.dev/apaleo/apis/apaleo-booking-api-not-safe-for-work.md) - [All operations](https://skmtc.dev/apaleo/apis/apaleo-booking-api-not-safe-for-work/llms.txt) - [OpenAPI document](https://skmtc.dev/apaleo/apis/apaleo-booking-api-not-safe-for-work/revisions/a1b6a2f6b879?raw)
