> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nexudus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Bookings

> Search and list Booking records with filtering, sorting, and pagination.

A **Booking** is a reservation for a specific `Resource` and, optionally, for a customer (`CoworkerId`) and a desk or unit in the floor plan (`FloorPlanDeskId`).

**Charging vs Invoicing** — When a booking is charged (confusingly labelled `Invoiced` in the booking entity), a charge is posted to the customer account as a `CoworkerExtraService` with the calculated price. If the booking has no fixed rate (`ExtraServiceId = null`), Nexudus calculates the rate automatically based on the resource type, booking parameters and customer. A booking is actually invoiced when the `CoworkerExtraService` associated with it is invoiced.

* `InvoiceThisCoworker = true` means the booking is charged to the customer making it rather than their paying member (if any).
* `Tentative` bookings must be approved by an administrator before being confirmed or charged. They still block the calendar.
* `Online` bookings are those made via the portal or the app.

**Repeating bookings** — `RepeatBooking` and all repeat-configuration fields (`Repeats`, `RepeatEvery`, `RepeatUntil`, `RepeatOn*`) are create-only. Once a booking series is created, only `WhichBookingsToUpdate` can be used to update or delete bookings in the series. No new bookings can be added to an existing series.

**Pricing overrides** — `OverridePrice` lets an admin set a fixed price for the booking, regardless of what extra service (rate) is associated with it.

## Authentication

<Note>
  This endpoint requires OAuth2 authentication. Include a valid bearer token in the `Authorization` header.
  The authenticated user must be a full unrestricted administrator or have the **`Booking-List`** role.
</Note>

## Enums

<Accordion title="eBookingRepeatCycle — Repeats values">
  | Value | Name          |
  | ----- | ------------- |
  | 1     | Daily         |
  | 2     | Weekly        |
  | 3     | Monthly       |
  | 4     | Yearly        |
  | 5     | FirstOfMonth  |
  | 6     | SecondOfMonth |
  | 7     | ThirdOfMonth  |
  | 8     | LastOfMonth   |
  | 9     | FourthOfMonth |
</Accordion>

<Accordion title="eRepeatedBookingUpdateAction — WhichBookingsToUpdate values">
  | Value | Name                     |
  | ----- | ------------------------ |
  | 1     | UpdateThisBookingOnly    |
  | 2     | UpdateFutureBookingsOnly |
  | 3     | UpdateAllBookings        |
  | 4     | UpdateNotChargedBookings |
  | 5     | DeleteAllBookings        |
  | 6     | DeleteBookingsAfterThis  |
  | 7     | DeleteNotChargedBookings |
  | 8     | RevertAllCharges         |
</Accordion>

## Query Parameters

### Pagination & Sorting

<ParamField query="page" type="integer" default="1">
  The page number to retrieve.
</ParamField>

<ParamField query="size" type="integer" default="25">
  The number of records per page.
</ParamField>

<ParamField query="orderBy" type="string">
  The property name to sort results by (e.g. `Name`, `CreatedOn`).
</ParamField>

<ParamField query="dir" type="integer">
  Sort direction. `0` for ascending, `1` for descending.
</ParamField>

### Filters

<ParamField query="Booking_Resource" type="integer">
  Filter by Resource Id.
</ParamField>

<ParamField query="Booking_Resource_Name" type="string">
  Filter by resource name.
</ParamField>

<ParamField query="Booking_Resource_Allocation" type="integer">
  Filter by resource allocation.
</ParamField>

<ParamField query="Booking_Resource_HideInCalendar" type="boolean">
  Filter by resource hidden in calendar.
</ParamField>

<ParamField query="Booking_Resource_NoReturnPolicy" type="integer">
  Filter by Resource No Return Policy.
</ParamField>

<ParamField query="Booking_Resource_NoReturnPolicyAllResources" type="integer">
  Filter by Resource No Return Policy All Resources.
</ParamField>

<ParamField query="Booking_Resource_NoReturnPolicyAllUsers" type="integer">
  Filter by Resource No Return Policy All Users.
</ParamField>

<ParamField query="Booking_Resource_ResourceType_Id" type="integer">
  Filter by resource type ID.
</ParamField>

<ParamField query="Booking_Resource_ResourceType_Name" type="string">
  Filter by resource type name.
</ParamField>

<ParamField query="Booking_FloorPlanDesk" type="integer">
  Filter by Floor Plan Desk Id.
</ParamField>

<ParamField query="Booking_FloorPlanDesk_Name" type="string">
  Filter by floor plan desk name.
</ParamField>

<ParamField query="Booking_Coworker" type="integer">
  Filter by Coworker Id.
</ParamField>

<ParamField query="Booking_Coworker_CoworkerType" type="string">
  Filter by Coworker Coworker Type.
</ParamField>

<ParamField query="Booking_Coworker_FullName" type="string">
  Filter by coworker full name.
</ParamField>

<ParamField query="Booking_Coworker_MobilePhone" type="string">
  Filter by Coworker Mobile Phone.
</ParamField>

<ParamField query="Booking_Coworker_LandLine" type="string">
  Filter by Coworker Land Line.
</ParamField>

<ParamField query="Booking_Coworker_BillingName" type="string">
  Filter by coworker billing name.
</ParamField>

<ParamField query="Booking_Coworker_CompanyName" type="string">
  Filter by coworker company name.
</ParamField>

<ParamField query="Booking_Coworker_TeamNames" type="string">
  Filter by coworker team names.
</ParamField>

<ParamField query="Booking_ExtraService" type="integer">
  Filter by Extra Service Id.
</ParamField>

<ParamField query="Booking_ExtraService_Name" type="string">
  Filter by extra service name.
</ParamField>

<ParamField query="Booking_FromTime" type="string">
  Filter by booking start time.
</ParamField>

<ParamField query="Booking_ToTime" type="string">
  Filter by booking end time.
</ParamField>

<ParamField query="Booking_Notes" type="string">
  Filter by notes.
</ParamField>

<ParamField query="Booking_InternalNotes" type="string">
  Filter by internal notes.
</ParamField>

<ParamField query="Booking_ChargeNow" type="boolean">
  Filter by charge immediately.
</ParamField>

<ParamField query="Booking_InvoiceNow" type="boolean">
  Filter by invoice immediately.
</ParamField>

<ParamField query="Booking_InvoiceThisCoworker" type="boolean">
  Filter by charge the booking to the customer making it rather than their paying member (if any).
</ParamField>

<ParamField query="Booking_DoNotUseBookingCredit" type="boolean">
  Filter by do not use booking credit.
</ParamField>

<ParamField query="Booking_PurchaseOrder" type="string">
  Filter by purchase order.
</ParamField>

<ParamField query="Booking_DiscountCode" type="string">
  Filter by discount code.
</ParamField>

<ParamField query="Booking_LastNotificationTime" type="string">
  Filter by Last Notification Time.
</ParamField>

<ParamField query="Booking_GoogleCalendarId" type="string">
  Filter by Google Calendar Id.
</ParamField>

<ParamField query="Booking_GoogleEventId" type="string">
  Filter by Google Event Id.
</ParamField>

<ParamField query="Booking_Office365EventId" type="string">
  Filter by Office365Event Id.
</ParamField>

<ParamField query="Booking_PublicGoogleEventId" type="string">
  Filter by Public Google Event Id.
</ParamField>

<ParamField query="Booking_Tentative" type="boolean">
  Filter by tentative booking. Must be approved by an administrator before confirmed or charged. Tentative bookings still block the calendar.
</ParamField>

<ParamField query="Booking_Online" type="boolean">
  Filter by whether the booking was made in the portal or the app.
</ParamField>

<ParamField query="Booking_TeamsAtTheTimeOfBooking" type="string">
  Filter by teams at the time of booking.
</ParamField>

<ParamField query="Booking_TariffAtTheTimeOfBooking" type="string">
  Filter by tariff at the time of booking.
</ParamField>

<ParamField query="Booking_RepeatSeriesUniqueId" type="string">
  Filter by Repeat Series Unique Id.
</ParamField>

<ParamField query="Booking_RepeatBooking" type="boolean">
  Filter by create a repeating booking series. Create-only: once created, only WhichBookingsToUpdate can be used to update the series. No new bookings can be added to the series.
</ParamField>

<ParamField query="Booking_Repeats" type="integer">
  Filter by repeat cycle. Create-only.
</ParamField>

<ParamField query="Booking_WhichBookingsToUpdate" type="integer">
  Filter by action to apply when updating or deleting bookings in a repeated series. This is the only field that can modify a series after creation.
</ParamField>

<ParamField query="Booking_RepeatEvery" type="integer">
  Filter by repeat every N periods. Create-only.
</ParamField>

<ParamField query="Booking_RepeatUntil" type="string">
  Filter by repeat until date. Create-only.
</ParamField>

<ParamField query="Booking_RepeatOnMondays" type="boolean">
  Filter by repeat on Mondays. Create-only.
</ParamField>

<ParamField query="Booking_RepeatOnTuesdays" type="boolean">
  Filter by repeat on Tuesdays. Create-only.
</ParamField>

<ParamField query="Booking_RepeatOnWednesdays" type="boolean">
  Filter by repeat on Wednesdays. Create-only.
</ParamField>

<ParamField query="Booking_RepeatOnThursdays" type="boolean">
  Filter by repeat on Thursdays. Create-only.
</ParamField>

<ParamField query="Booking_RepeatOnFridays" type="boolean">
  Filter by repeat on Fridays. Create-only.
</ParamField>

<ParamField query="Booking_RepeatOnSaturdays" type="boolean">
  Filter by repeat on Saturdays. Create-only.
</ParamField>

<ParamField query="Booking_RepeatOnSundays" type="boolean">
  Filter by repeat on Sundays. Create-only.
</ParamField>

<ParamField query="Booking_Reminded" type="boolean">
  Filter by Reminded.
</ParamField>

<ParamField query="Booking_MrmReminded" type="boolean">
  Filter by Mrm Reminded.
</ParamField>

<ParamField query="Booking_OverridePrice" type="number">
  Filter by admin-set fixed price for the booking, regardless of what extra service (rate) is associated with it.
</ParamField>

<ParamField query="Booking_Invoiced" type="boolean">
  Filter by whether the booking has been charged. When true, a charge (CoworkerExtraService) has been posted to the customer account. Note: the booking is actually invoiced when the associated CoworkerExtraService is invoiced.
</ParamField>

<ParamField query="Booking_InvoiceDate" type="string">
  Filter by invoice date.
</ParamField>

<ParamField query="Booking_BookingNumber" type="integer">
  Filter by booking number.
</ParamField>

<ParamField query="Booking_KisiKeyId" type="integer">
  Filter by Kisi Key Id.
</ParamField>

<ParamField query="Booking_StartScheduledJobId" type="string">
  Filter by Start Scheduled Job Id.
</ParamField>

<ParamField query="Booking_EndScheduledJobId" type="string">
  Filter by End Scheduled Job Id.
</ParamField>

<ParamField query="Booking_Billed" type="boolean">
  Filter by Billed.
</ParamField>

<ParamField query="Booking_FromTimeLocal" type="string">
  Filter by From Time Local.
</ParamField>

<ParamField query="Booking_ToTimeLocal" type="string">
  Filter by To Time Local.
</ParamField>

<ParamField query="Booking_InvoiceDateLocal" type="string">
  Filter by Invoice Date Local.
</ParamField>

<ParamField query="Booking_CoworkerInvoiceId" type="integer">
  Filter by coworker invoice ID.
</ParamField>

<ParamField query="Booking_CoworkerInvoiceNumber" type="string">
  Filter by coworker invoice number.
</ParamField>

<ParamField query="Booking_CoworkerInvoicePaid" type="boolean">
  Filter by coworker invoice paid.
</ParamField>

<ParamField query="Booking_CoworkerInvoiceDraft" type="boolean">
  Filter by Coworker Invoice Draft.
</ParamField>

<ParamField query="Booking_CoworkerInvoiceVoid" type="boolean">
  Filter by Coworker Invoice Void.
</ParamField>

<ParamField query="Booking_CoworkerInvoiceCreditNote" type="boolean">
  Filter by Coworker Invoice Credit Note.
</ParamField>

<ParamField query="Booking_CoworkerExtraServiceIds" type="string">
  Filter by Coworker Extra Service Ids.
</ParamField>

<ParamField query="Booking_CoworkerExtraServicePrice" type="number">
  Filter by Coworker Extra Service Price.
</ParamField>

<ParamField query="Booking_CoworkerExtraServiceCurrencyCode" type="string">
  Filter by Coworker Extra Service Currency Code.
</ParamField>

<ParamField query="Booking_CoworkerExtraServiceChargePeriod" type="integer">
  Filter by Coworker Extra Service Charge Period.
</ParamField>

<ParamField query="Booking_CoworkerExtraServiceTotalUses" type="integer">
  Filter by Coworker Extra Service Total Uses.
</ParamField>

<ParamField query="Booking_IncludeZoomInvite" type="boolean">
  Filter by include Zoom invite.
</ParamField>

<ParamField query="Booking_ZoomEventData" type="string">
  Filter by Zoom Event Data.
</ParamField>

<ParamField query="Booking_CheckedInAt" type="string">
  Filter by checked in at time.
</ParamField>

<ParamField query="Booking_CancelIfNotPaid" type="boolean">
  Filter by cancel if not paid.
</ParamField>

<ParamField query="Booking_CancelIfNotCheckedIn" type="boolean">
  Filter by cancel if not checked in.
</ParamField>

<ParamField query="Booking_MaxOccupancy" type="integer">
  Filter by maximum occupancy.
</ParamField>

<ParamField query="Booking_LastMinutePriceAdjustment" type="number">
  Filter by Last Minute Price Adjustment.
</ParamField>

<ParamField query="Booking_DynamicPriceAdjustment" type="number">
  Filter by Dynamic Price Adjustment.
</ParamField>

<ParamField query="Booking_PriceFactorLastMinute" type="number">
  Filter by Price Factor Last Minute.
</ParamField>

<ParamField query="Booking_PriceFactorDemand" type="number">
  Filter by Price Factor Demand.
</ParamField>

<ParamField query="Booking_Office365AdminEventId" type="string">
  Filter by Office365Admin Event Id.
</ParamField>

### Range Filters

<ParamField query="from_Booking_ResourceAllocation" type="integer">
  Filter by resource allocation greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_ResourceAllocation" type="integer">
  Filter by resource allocation less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_ResourceNoReturnPolicy" type="integer">
  Filter by resource no return policy greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_ResourceNoReturnPolicy" type="integer">
  Filter by resource no return policy less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_ResourceNoReturnPolicyAllResources" type="integer">
  Filter by resource no return policy all resources greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_ResourceNoReturnPolicyAllResources" type="integer">
  Filter by resource no return policy all resources less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_ResourceNoReturnPolicyAllUsers" type="integer">
  Filter by resource no return policy all users greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_ResourceNoReturnPolicyAllUsers" type="integer">
  Filter by resource no return policy all users less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_ResourceResourceTypeId" type="integer">
  Filter by resource type ID greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_ResourceResourceTypeId" type="integer">
  Filter by resource type ID less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_FromTime" type="string">
  Filter by booking start time greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_Booking_FromTime" type="string">
  Filter by booking start time less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_Booking_ToTime" type="string">
  Filter by booking end time greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_Booking_ToTime" type="string">
  Filter by booking end time less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_Booking_LastNotificationTime" type="string">
  Filter by last notification time greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_Booking_LastNotificationTime" type="string">
  Filter by last notification time less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_Booking_RepeatEvery" type="integer">
  Filter by repeat every N periods. Create-only greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_RepeatEvery" type="integer">
  Filter by repeat every N periods. Create-only less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_RepeatUntil" type="string">
  Filter by repeat until date. Create-only greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_Booking_RepeatUntil" type="string">
  Filter by repeat until date. Create-only less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_Booking_OverridePrice" type="number">
  Filter by admin-set fixed price for the booking, regardless of what extra service (rate) is associated with it greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_OverridePrice" type="number">
  Filter by admin-set fixed price for the booking, regardless of what extra service (rate) is associated with it less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_InvoiceDate" type="string">
  Filter by invoice date greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_Booking_InvoiceDate" type="string">
  Filter by invoice date less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_Booking_BookingNumber" type="integer">
  Filter by booking number greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_BookingNumber" type="integer">
  Filter by booking number less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_KisiKeyId" type="integer">
  Filter by kisi key id greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_KisiKeyId" type="integer">
  Filter by kisi key id less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_FromTimeLocal" type="string">
  Filter by from time local greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_Booking_FromTimeLocal" type="string">
  Filter by from time local less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_Booking_ToTimeLocal" type="string">
  Filter by to time local greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_Booking_ToTimeLocal" type="string">
  Filter by to time local less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_Booking_InvoiceDateLocal" type="string">
  Filter by invoice date local greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_Booking_InvoiceDateLocal" type="string">
  Filter by invoice date local less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_Booking_CoworkerInvoiceId" type="integer">
  Filter by coworker invoice ID greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_CoworkerInvoiceId" type="integer">
  Filter by coworker invoice ID less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_CoworkerExtraServicePrice" type="number">
  Filter by coworker extra service price greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_CoworkerExtraServicePrice" type="number">
  Filter by coworker extra service price less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_CoworkerExtraServiceChargePeriod" type="integer">
  Filter by coworker extra service charge period greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_CoworkerExtraServiceChargePeriod" type="integer">
  Filter by coworker extra service charge period less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_CoworkerExtraServiceTotalUses" type="integer">
  Filter by coworker extra service total uses greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_CoworkerExtraServiceTotalUses" type="integer">
  Filter by coworker extra service total uses less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_CheckedInAt" type="string">
  Filter by checked in at time greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_Booking_CheckedInAt" type="string">
  Filter by checked in at time less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_Booking_MaxOccupancy" type="integer">
  Filter by maximum occupancy greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_MaxOccupancy" type="integer">
  Filter by maximum occupancy less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_LastMinutePriceAdjustment" type="number">
  Filter by last minute price adjustment greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_LastMinutePriceAdjustment" type="number">
  Filter by last minute price adjustment less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_DynamicPriceAdjustment" type="number">
  Filter by dynamic price adjustment greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_DynamicPriceAdjustment" type="number">
  Filter by dynamic price adjustment less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_PriceFactorLastMinute" type="number">
  Filter by price factor last minute greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_PriceFactorLastMinute" type="number">
  Filter by price factor last minute less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_PriceFactorDemand" type="number">
  Filter by price factor demand greater than or equal to this value.
</ParamField>

<ParamField query="to_Booking_PriceFactorDemand" type="number">
  Filter by price factor demand less than or equal to this value.
</ParamField>

<ParamField query="from_Booking_CreatedOn" type="string">
  Filter records created on or after this date. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_Booking_CreatedOn" type="string">
  Filter records created on or before this date. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_Booking_UpdatedOn" type="string">
  Filter records updated on or after this date. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_Booking_UpdatedOn" type="string">
  Filter records updated on or before this date. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

## Code Examples

### Simple listing

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/spaces/bookings?page=1&size=15&orderBy=CreatedOn&dir=0" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/spaces/bookings?' + new URLSearchParams({
      page: 1,
      size: 15,
      orderBy: 'CreatedOn',
      dir: 1 // Ascending
    }),
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://spaces.nexudus.com/api/spaces/bookings',
      params={
          'page': 1,
          'size': 15,
          'orderBy': 'CreatedOn',
          'dir': 0 // Ascending
      },
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

  data = response.json()
  ```
</CodeGroup>

### Filtering by CreatedOn

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/spaces/bookings?Booking_CreatedOn=example-value&orderBy=CreatedOn&dir=0" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/spaces/bookings?' + new URLSearchParams({
      Booking_CreatedOn: 'example-value',
      orderBy: 'CreatedOn',
      dir: 1
    }),
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://spaces.nexudus.com/api/spaces/bookings',
      params={
          'Booking_CreatedOn': 'example-value',
          'orderBy': 'CreatedOn',
          'dir': 0 // Ascending
      },
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

  data = response.json()
  ```
</CodeGroup>

### Range filters

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/spaces/bookings?from_Booking_UpdatedOn=2025-01-01T00:00&to_Booking_UpdatedOn=2025-12-31T23:59&orderBy=UpdatedOn&dir=0" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/spaces/bookings?' + new URLSearchParams({
      from_Booking_UpdatedOn: '2025-01-01T00:00',
      to_Booking_UpdatedOn: '2025-12-31T23:59',
      orderBy: 'UpdatedOn',
      dir: 1 // Descending
     }),
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://spaces.nexudus.com/api/spaces/bookings',
      params={
          'from_Booking_UpdatedOn': '2025-01-01T00:00',
          'to_Booking_UpdatedOn': '2025-12-31T23:59',
          'orderBy': 'UpdatedOn',
          'dir': 1 // Descending
      },
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

  data = response.json()
  ```
</CodeGroup>

## Response

### 200

<ResponseField name="Records" type="Booking[]">
  The list of Booking records matching the query. See the [Get one Booking](/rest-api/spaces/get-bookings-by-id) endpoint for the full list of properties returned for each record.
</ResponseField>

<Warning>
  **Partial records** — The listing endpoint returns a summary representation of each Booking. The following fields are **not populated** in the `Records[]` response: `InternalNotes`, `ChargeNow`, `InvoiceNow`, `InvoiceThisCoworker`, `DoNotUseBookingCredit`, `RepeatBooking`, `Repeats`, `WhichBookingsToUpdate`, `RepeatEvery`, `RepeatUntil`, `RepeatOnMondays`, `RepeatOnTuesdays`, `RepeatOnWednesdays`, `RepeatOnThursdays`, `RepeatOnFridays`, `RepeatOnSaturdays`, `RepeatOnSundays`, `OverridePrice`, `IncludeZoomInvite`.

  To get all fields, fetch the full record using the [Get one Booking](/rest-api/spaces/get-bookings-by-id) endpoint.

  **Important for updates:** When updating a record via `PUT`, always retrieve the full record with a `GET` request first, apply your changes to that complete data, and then send the updated record. Do not use data from a listing response as the base for a `PUT` request, as missing fields may be unintentionally cleared.
</Warning>

<ResponseField name="CurrentPage" type="integer">
  Current page number.
</ResponseField>

<ResponseField name="CurrentPageSize" type="integer">
  Number of records per page.
</ResponseField>

<ResponseField name="CurrentOrderField" type="string">
  The field used for sorting.
</ResponseField>

<ResponseField name="CurrentSortDirection" type="integer">
  The sort direction (`0` = ascending, `1` = descending).
</ResponseField>

<ResponseField name="FirstItem" type="integer">
  Index of the first item on the current page.
</ResponseField>

<ResponseField name="LastItem" type="integer">
  Index of the last item on the current page.
</ResponseField>

<ResponseField name="TotalItems" type="integer">
  Total number of matching records across all pages.
</ResponseField>

<ResponseField name="TotalPages" type="integer">
  Total number of pages.
</ResponseField>

<ResponseField name="HasNextPage" type="boolean">
  Whether there is a next page of results.
</ResponseField>

<ResponseField name="HasPreviousPage" type="boolean">
  Whether there is a previous page of results.
</ResponseField>

```json Example Response theme={null}
{
  "Records": [
    {
      "ResourceId": 0,
      "ResourceName": null,
      "ResourceAllocation": null,
      "ResourceHideInCalendar": null,
      "ResourceNoReturnPolicy": null,
      "ResourceNoReturnPolicyAllResources": null,
      "ResourceNoReturnPolicyAllUsers": null,
      "ResourceResourceTypeId": null,
      "ResourceResourceTypeName": null,
      "FloorPlanDeskId": null,
      "FloorPlanDeskName": null,
      "CoworkerId": null,
      "CoworkerCoworkerType": null,
      "CoworkerFullName": null,
      "CoworkerMobilePhone": null,
      "CoworkerLandLine": null,
      "CoworkerBillingName": null,
      "CoworkerCompanyName": null,
      "CoworkerTeamNames": null,
      "ExtraServiceId": null,
      "ExtraServiceName": null,
      "FromTime": "2025-01-15T10:30:00Z",
      "ToTime": "2025-01-15T10:30:00Z",
      "Notes": null,
      "PurchaseOrder": null,
      "DiscountCode": null,
      "LastNotificationTime": null,
      "GoogleCalendarId": null,
      "GoogleEventId": null,
      "Office365EventId": null,
      "PublicGoogleEventId": null,
      "Tentative": false,
      "Online": false,
      "TeamsAtTheTimeOfBooking": null,
      "TariffAtTheTimeOfBooking": null,
      "RepeatSeriesUniqueId": null,
      "Reminded": false,
      "MrmReminded": false,
      "Invoiced": false,
      "InvoiceDate": null,
      "BookingNumber": null,
      "KisiKeyId": null,
      "StartScheduledJobId": null,
      "EndScheduledJobId": null,
      "Billed": false,
      "FromTimeLocal": null,
      "ToTimeLocal": null,
      "InvoiceDateLocal": null,
      "CoworkerInvoiceId": null,
      "CoworkerInvoiceNumber": null,
      "CoworkerInvoicePaid": false,
      "CoworkerInvoiceDraft": false,
      "CoworkerInvoiceVoid": false,
      "CoworkerInvoiceCreditNote": false,
      "CoworkerExtraServiceIds": null,
      "CoworkerExtraServicePrice": null,
      "CoworkerExtraServiceCurrencyCode": null,
      "CoworkerExtraServiceChargePeriod": null,
      "CoworkerExtraServiceTotalUses": null,
      "ZoomEventData": null,
      "CheckedInAt": null,
      "CancelIfNotPaid": false,
      "CancelIfNotCheckedIn": false,
      "MaxOccupancy": null,
      "LastMinutePriceAdjustment": null,
      "DynamicPriceAdjustment": null,
      "PriceFactorLastMinute": null,
      "PriceFactorDemand": null,
      "Office365AdminEventId": null,
      "Id": 87654321,
      "UpdatedOn": "2025-01-15T10:30:00Z",
      "CreatedOn": "2025-01-10T08:00:00Z",
      "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "UpdatedBy": "admin@example.com",
      "IsNew": false,
      "SystemId": null,
      "ToStringText": "Booking Example",
      "LocalizationDetails": null,
      "CustomFields": null
    }
  ],
  "CurrentPageSize": 15,
  "CurrentPage": 1,
  "CurrentOrderField": "CreatedOn",
  "CurrentSortDirection": 1,
  "FirstItem": 1,
  "HasNextPage": false,
  "HasPreviousPage": false,
  "LastItem": 1,
  "PageNumber": 1,
  "PageSize": 15,
  "TotalItems": 1,
  "TotalPages": 1
}
```
