Skip to main content

Waitlist API

The Waitlist API allows customers to express interest when experiences are sold out or rental products are unavailable for their desired dates. When availability opens up, customers can be notified automatically or manually.

What is a Waitlist Entry?โ€‹

A waitlist entry records a customer's interest in an item that is currently unavailable. It tracks:

  • Customer information: Name, email, phone
  • Item details: Which experience schedule or rental product they want
  • Desired dates: For rentals, the preferred pickup/return period
  • Status: Current state in the waitlist lifecycle
  • Notifications: When and whether they were notified of availability

Waitlist Typesโ€‹

TypeDescriptionRequired Fields
experienceCustomer wants a sold-out experience sessionexperience_id, schedule_id
rentalCustomer wants an unavailable rental productproduct_id, optionally variation_id, desired_start_at, desired_end_at

Status Flowโ€‹

waiting โ†’ notified โ†’ booked
โ†˜ cancelled
StatusDescription
waitingCustomer is on the waitlist, awaiting availability
notifiedCustomer has been notified that availability opened up
bookedCustomer completed a booking after being notified
cancelledEntry was cancelled by the customer or staff

API Endpointsโ€‹

MethodEndpointDescriptionScope Required
GET/v1/waitlistList waitlist entries with filteringwaitlist:read
GET/v1/waitlist/{id}Get a single waitlist entrywaitlist:read
POST/v1/waitlistCreate a new waitlist entrywaitlist:write
PATCH/v1/waitlist/{id}Update a waitlist entrywaitlist:write
DELETE/v1/waitlist/{id}Delete a waitlist entrywaitlist:write
POST/v1/waitlist/{id}/notifySend availability notificationwaitlist:write

Plan Requirementโ€‹

The Waitlist feature requires the Pro plan. API requests to waitlist endpoints will return a 403 error with code plan_feature_required if the supplier is not on a Pro plan or trial.

Common Use Casesโ€‹

Adding a customer to the waitlistโ€‹

When a customer wants an experience that is sold out:

curl -X POST "https://app.equipdash.com/api/v1/waitlist" \
-H "Authorization: Bearer eqd_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"type": "experience",
"name": "Jane Smith",
"email": "jane@example.com",
"experience_id": 42,
"schedule_id": 156,
"quantity": 2
}'

Notifying a customer when availability opensโ€‹

curl -X POST "https://app.equipdash.com/api/v1/waitlist/789/notify" \
-H "Authorization: Bearer eqd_live_your_api_key"