---
title: "Returns a list of all bookings, filtered by the specified parameters."
method: GET
path: "/booking/v0-nsfw/bookings"
tags: ["Booking"]
---

# Returns a list of all bookings, filtered by the specified parameters.

`GET /booking/v0-nsfw/bookings`

## 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/bookings`
- Auth: OAuth 2
  - Implicit: `https://identity.apaleo.com/connect/authorize`
  - Scopes: `reservations.read`, `reservations.manage`, `admin`

Returns a list of all bookings, filtered by the specified parameters. If no parameters are set, returns the entire list.<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.bookings.read'.

## Query parameters

- `reservationId` string
- `groupId` string
- `bookingIds` string[]
- `channelCode` string[]
- `externalCode` string
- `textSearch` string
- `hasActivePaymentAccount` boolean
- `pageNumber` integer
- `pageSize` integer
- `expand` string[]

## Response `200`

OK

- BookingListModel
  - `bookings` BookingItemModel[], required
    - `id` string, required: Booking id
    - `groupId` string, nullable: Group id
    - `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 booking 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 booking 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.
    - `comment` string, nullable: Additional information and comments
    - `bookerComment` string, nullable: Additional information and comment by the booker
    - `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>
    - `reservations` BookingReservationModel[], nullable: Reservations within this booking
      - `id` string, required: Reservation id
      - `blockId` string, nullable: Block id
      - `status` 'Confirmed' | 'InHouse' | 'CheckedOut' | 'Canceled' | 'NoShow', required: Status of the reservation
      - `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.)
      - `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.
      - `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>
      - `adults` integer, required: Number of adults
      - `childrenAges` integer[], nullable: The ages of the children
      - `totalGrossAmount` MonetaryValueModel, required
        - `amount` number, double, required
        - `currency` string, required
      - `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
      - `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
              - …
            - `remittedBy` 'Hotel' | 'Ota', required: Who is responsible for remitting the tax
      - `guestComment` string, nullable: Additional information and comment by the guest
      - `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
      - `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
      - `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
      - `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.
  - `count` integer, required: Total count of items

## Other responses

- `204`: No bookings found.
- `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)
