Skip to main content

Reservations: Query Booking Data

Written by Ryo

The reservations endpoint returns booking data for a listing — check-in and check-out dates, pricing breakdown, guest count, booking source, and more. Use it to build reporting dashboards, reconcile revenue, or sync bookings to an external system.


GET /listings/:listing_id/reservations

Retrieve reservations for a listing.

curl "https://api.usewheelhouse.com/ss_api/v1/listings/12345678/reservations?channel=airbnb" \
-H "X-Integration-Api-Key: your_api_key_here"

Parameters

  • listing_id (string, path, required)

  • channel (string, query, required) — the channel name for this listing

  • start_date (string, optional) — filter start date (YYYY-MM-DD); behavior depends on date_filter_type

  • end_date (string, optional) — filter end date (YYYY-MM-DD); behavior depends on date_filter_type

  • date_filter_type (string, optional, default: stay_date) — controls which date field is used for filtering:

    • stay_date — returns reservations whose stay period overlaps the date range

  • booked_at — returns reservations booked within the date range

  • per_page (integer, optional, default: 50) — number of results per page (max 100)

  • page (integer, optional) — page number

  • offset (integer, optional) — number of items to skip; alternative to page

Response

Returns a flat array of reservation objects:

[
{
"id": "res-001",
"status": "Accepted",
"start_date": "2026-04-05",
"end_date": "2026-04-10",
"booked_at": "2026-03-01T15:30:00Z",
"num_guests": 4,
"currency": "USD",
"total_price": 1250.00,
"nightly_subtotal": 1100.00,
"extra_guest": 50.00,
"security_deposit": 0.00,
"extras": 0.00,
"taxes": 100.00,
"confirmation_code": "HM4X7K",
"source_name": "Airbnb",
"comments": "Family vacation",
"created_at": "2026-03-01T15:30:00Z",
"updated_at": "2026-03-01T15:31:00Z"
}
]

Response fields

  • id — the reservation's unique ID

  • status — booking status; known values: Accepted, Declined, Expired, Canceled, Pending, Ignored

  • start_date / end_date — check-in and check-out dates (YYYY-MM-DD)

  • booked_at — when the booking was made (ISO 8601)

  • num_guests — number of guests

  • currency — ISO-4217 currency code for all price fields

  • total_price — full amount charged to the guest

  • nightly_subtotal — sum of nightly room prices only (the "Revenue" metric in Wheelhouse — rent excluding fees and taxes). To get Revenue + Fees: total_price − taxes. To get ADR: divide by number of nights.

  • extra_guest — extra guest fee amount

  • security_deposit — security deposit amount

  • extras — additional extras charges

  • taxes — tax amount

  • confirmation_code — booking reference code from the channel

  • source_name — the booking platform (e.g. "Airbnb")

  • comments — notes left by the guest at booking

  • created_at / updated_at — when the reservation was created/updated in Wheelhouse


Deriving pickup metrics

Use date_filter_type=booked_at to filter by when reservations were booked rather than when guests stay:

  • Pickup (Booked Nights) — sum end_date − start_date (in days) across the returned reservations

  • Pickup (Bookings) — count the number of reservation records returned

bash
# All reservations booked in June 2026
curl "https://api.usewheelhouse.com/ss_api/v1/listings/12345678/reservations?channel=airbnb&start_date=2026-06-01&end_date=2026-06-30&date_filter_type=booked_at" \
-H "X-Integration-Api-Key: your_api_key_here"

Related

How to pull reservation data

Pagination: using per_page, page, and offset

Did this answer your question?