Experiences API
Module-gated
All endpoints in this section require the supplier to have the Experiences
module enabled. Calls return 403 module_disabled
when it is off. Check GET /supplier/modules
before relying on these endpoints.
The Experiences API allows you to manage tours, activities, and classes - scheduled events that customers can book.
Resourcesโ
| Resource | Description |
|---|---|
| Experiences | Create and manage tours, activities, and classes |
| Availability | Check schedule availability and capacity |
| Categories | Organize experiences into categories |
Common Workflowsโ
Display Experiences on Your Websiteโ
- List experiences -
GET /v1/experiencesto fetch your offerings - Get schedules -
GET /v1/experiences/{id}/schedulesto show available times - Check availability -
POST /v1/availability/experiencesbefore booking
Manage Your Tours & Activitiesโ
- Create experience -
POST /v1/experiencesto add a new tour or activity - Set up schedules -
POST /v1/experiences/{id}/schedulesto define when it runs - Configure pricing -
POST /v1/experiences/{id}/pricingwith rate categories
Handle Different Ticket Typesโ
- Create rate categories - Adults, Children, Seniors, etc.
- Set category pricing - Different prices per category
- Track capacity - Per-schedule participant limits
Sell One Experience More Than One Wayโ
- Read the options -
GET /v1/experiences/{id}/booking-optionsfor the ways it is sold - Add another way -
POST /v1/experiences/{id}/booking-options, for example a private session beside the group one - Name it on the booking - send
booking_option_idon the experience line so the right prices apply
See Booking options.
Key Conceptsโ
Experiences vs Productsโ
| Experiences | Products |
|---|---|
| Scheduled at specific times | Rented for date ranges |
| Fixed capacity per slot | Inventory-based availability |
| Participants book slots | Customers rent quantities |
| Tours, classes, activities | Equipment, gear, vehicles |
Schedulesโ
Schedules define when an experience runs:
- Date and time - When the experience starts
- Duration - How long it lasts
- Capacity - Maximum participants
- Staff assignment - Who runs it (optional)
Rate Categoriesโ
Rate categories allow different pricing for different participant types:
{
"rate_categories": [
{ "name": "Adult", "price": 75.00 },
{ "name": "Child (5-12)", "price": 45.00 },
{ "name": "Senior (65+)", "price": 60.00 }
]
}
Quick Examplesโ
List Active Experiencesโ
curl "https://app.equipdash.com/api/v1/experiences?status=active" \
-H "Authorization: Bearer YOUR_API_KEY"
Get Experience Schedulesโ
curl "https://app.equipdash.com/api/v1/experiences/3/schedules?start_date=2026-02-01&end_date=2026-02-28" \
-H "Authorization: Bearer YOUR_API_KEY"
Check Experience Availabilityโ
curl -X POST "https://app.equipdash.com/api/v1/availability/experiences" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"experience_id": 3,
"schedule_id": 78,
"quantity": 4
}'
Required Scopesโ
| Scope | Operations |
|---|---|
experiences:read | List, get experiences, read the ways they are sold, check availability |
experiences:write | Create, update, delete experiences and schedules, and manage the ways they are sold |