Skip to main content

Scheduling API

Authenticated Endpoints

MethodEndpointDescription
GET/scheduling/formsList booking forms
GET/scheduling/bookingsList bookings (query: status, page, limit)
GET/scheduling/forms/:formId/slots?date=YYYY-MM-DDGet available time slots
GET/scheduling/forms/:formId/available-dates?year=&month=Get available dates for month
PUT/scheduling/forms/:formId/availabilitySave form-level availability
GET/scheduling/my-availabilityGet personal availability
PUT/scheduling/my-availabilitySave personal availability
GET/scheduling/users/:userId/availabilityGet another user's availability

Public Endpoints (No Auth)

MethodEndpointDescription
GET/scheduling/public/:tenantSlug/:tokenGet public booking page
GET/scheduling/public/:tenantSlug/:token/dates?year=&month=Available dates
GET/scheduling/public/:tenantSlug/:token/slots?date=Available time slots
POST/scheduling/public/:tenantSlug/:token/bookCreate booking
POST/scheduling/public/cancel/:cancelTokenCancel booking

Booking Object

{
"id": "uuid",
"formId": "uuid",
"formName": "Sales Demo",
"hostUserId": "uuid",
"inviteeName": "Jane Smith",
"inviteeEmail": "jane@example.com",
"inviteePhone": "+1234567890",
"inviteeNotes": "Interested in enterprise plan",
"startTime": "2026-03-20T10:00:00Z",
"endTime": "2026-03-20T10:30:00Z",
"timezone": "America/New_York",
"status": "confirmed",
"locationType": "video",
"locationValue": "https://meet.google.com/abc-def",
"cancelToken": "cancel-token-uuid",
"crmLeadId": "uuid",
"crmTaskId": "uuid",
"createdAt": "2026-03-19T..."
}

Availability Window

{
"dayOfWeek": 1,
"startTime": "09:00",
"endTime": "17:00",
"isActive": true
}

Day of week: 0 = Sunday, 1 = Monday, ..., 6 = Saturday

Meeting Configuration

{
"durationMinutes": 30,
"bufferBefore": 0,
"bufferAfter": 15,
"maxDaysAhead": 30,
"minNoticeHours": 2,
"locationType": "video",
"locationValue": "Google Meet",
"confirmationMessage": "Your meeting is confirmed!",
"crmAction": "create_lead",
"timezone": "Asia/Karachi",
"availabilityMode": "user",
"teamUserIds": []
}