API reference
Forty-plus endpoints, fully documented.
Namespaced under /wp-json/schedularity/v1. Cookie or application-password auth, capability-checked, rate-limited on public routes.
Endpoints
The surface area.
Nineteen of the most-used routes. The full list ships in the plugin's own docs screen.
GET
/bookingsList bookings with filters for date, staff, service, status.POST
/bookingsCreate a booking. Validates availability and holds the slot.PATCH
/bookings/{id}Reschedule, reassign staff or change status.DELETE
/bookings/{id}Cancel a booking and trigger the waitlist promotion.GET
/availabilityOpen slots for a service, staff member and date range.GET
/customersSearch and page through customer records.POST
/customersCreate a customer with custom intake fields.GET
/servicesServices with durations, prices, buffers and capacity.GET
/staffStaff, their services, schedules and commission rules.POST
/payments/intentOpen a payment intent on the configured gateway.POST
/payments/{id}/refundFull or partial refund, synced to the gateway.GET
/eventsEvents with tiers, remaining inventory and session dates.POST
/tickets/{id}/checkinValidate a QR code and log the arrival.GET
/seatmaps/{id}Seat map geometry, tiers and per-seat status.GET
/tablesTables, covers, turn times and reservation state.GET
/membershipsPlans, allowances and renewal dates.POST
/notifications/sendSend or schedule on a channel, honouring the fallback chain.GET
/reports/revenueRevenue by day, service, staff or location.GET
/auditAppend-only audit entries, filterable by actor and object.Hooks & webhooks
React to anything.
WordPress actions
schedularity/booking/createdFires after a booking is persisted and the slot is committed.schedularity/booking/cancelledFires before the waitlist promotion runs.schedularity/payment/succeededGateway confirmed. Carries the transaction object.schedularity/ticket/scannedQR validated at the door. Rejects duplicates upstream.schedularity/reminder/failedA channel failed; the fallback chain is about to advance.schedularity/customer/updatedAny profile or intake-field change, with the diff.Example
// Sync every new booking to your CRM. add_action( 'schedularity/booking/created', function ( $booking ) { HubSpot::sync( $booking->customer()->to_array() ); schedularity() ->notifications() ->schedule( 'whatsapp', $booking, -24 ); });
Webhooks are HMAC-signed. Verify the
X-Schedularity-Signature header before trusting a payload.Build on top of it.
PSR-4, repository pattern, strict types. The API is the same one our own admin SPA uses.