The reservations endpoint returns booking data for any listing in your portfolio. Use it to build reporting dashboards, track occupancy, reconcile revenue, or sync bookings to an external system.
Pull reservations for a listing
curl "https://api.usewheelhouse.com/ss_api/v1/listings/12345678/reservations?channel=airbnb&per_page=50" \
-H "X-Integration-Api-Key: your_api_key_here"
Reading the response
Each reservation object contains:
{
"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"
}
Key fields:
start_date/end_date— check-in and check-out dates (YYYY-MM-DD)booked_at— when the booking was made (ISO 8601 timestamp)status— booking status:Accepted,Declined,Expired,Canceled,Pending,Ignoredtotal_price— full amount charged to the guestnightly_subtotal— nightly rate portion only, before taxes and extrassource_name— the platform the booking came throughconfirmation_code— the booking reference code
Filtering by date range
Filter reservations by stay date (default) or by when they were booked:
# Reservations with stays between April 1–30
curl "https://api.usewheelhouse.com/ss_api/v1/listings/12345678/reservations?channel=airbnb&start_date=2026-04-01&end_date=2026-04-30&date_filter_type=stay_date" \
-H "X-Integration-Api-Key: your_api_key_here"
# Bookings made between March 1–31 (regardless of stay date)
curl "https://api.usewheelhouse.com/ss_api/v1/listings/12345678/reservations?channel=airbnb&start_date=2026-03-01&end_date=2026-03-31&date_filter_type=booked_at" \
-H "X-Integration-Api-Key: your_api_key_here"
date_filter_type defaults to stay_date if not specified.
Pull reservations across your portfolio
Loop through all your listings to collect reservations in bulk:
import requests
API_KEY = "your_api_key_here"
BASE_URL = "https://api.usewheelhouse.com/ss_api/v1"
headers = {"X-Integration-Api-Key": API_KEY}
listings_resp = requests.get(f"{BASE_URL}/listings?exclude_inactive=true", headers=headers)
listings = listings_resp.json()
for listing in listings:
listing_id = listing["id"]
channel = listing["channel"]
res_resp = requests.get(
f"{BASE_URL}/listings/{listing_id}/reservations",
headers=headers,
params={"channel": channel, "per_page": 50}
)
reservations = res_resp.json()
for res in reservations:
print(f"{listing['name']}: {res['confirmation_code']} | {res['start_date']} → {res['end_date']} | ${res['total_price']}")
Pagination
Use per_page, page, and offset to page through large result sets — same pattern as the listings endpoint. See Pagination: using per_page, page, and offset for details.
Next steps
How to monitor listing performance (KPIs)