Vexar API

Staff

Multi-staff booking lets each team member (a site operator) be bookable with their own services, schedule and exceptions. The staff_selection_mode setting controls whether visitors pick a staff member: hidden, optional, required or auto. All endpoints require authentication; {id} is the operator id.

GET /api/v1/my-profile/staff Auth

List staff members with their assigned services.

Response
{
  "success": true,
  "staff": [
    { "id": 4, "name": "Alex", "display_name": "Alex", "job_title": "Barber", "is_bookable": true, "color": "#3390EC", "services": [ … ] }
  ]
}
PUT /api/v1/my-profile/staff/{id} Auth

Update a staff member’s booking settings.

Request body
{
  "is_bookable": true,
  "display_name": "Alex",
  "job_title": "Barber",
  "avatar_url": "https://…",
  "color": "#3390EC",
  "can_view_all_bookings": false
}
Response
{ "success": true }
GET /api/v1/my-profile/staff/{id}/services Auth

List services assigned to a staff member.

Response
{ "success": true, "services": [ { "id": 8, "name": "Haircut" } ] }
PUT /api/v1/my-profile/staff/{id}/services Auth

Replace the set of services a staff member offers (array of service ids).

Request body
{ "services": [8, 12, 15] }
Response
{ "success": true }
GET /api/v1/my-profile/staff/{id}/schedule Auth

Get a staff member’s weekly schedule.

Response
{ "success": true, "schedule": [ { "day_of_week": 1, "start_time": "09:00", "end_time": "18:00", "is_available": true } ] }
PUT /api/v1/my-profile/staff/{id}/schedule Auth

Replace a staff member’s weekly schedule (same shape as the profile schedule).

Request body
{ "days": [ { "day_of_week": 1, "start_time": "09:00", "end_time": "18:00", "is_available": true } ] }
Response
{ "success": true }
GET /api/v1/my-profile/staff/{id}/overrides Auth

List a staff member’s schedule exceptions. Optional from/to.

Response
{ "success": true, "overrides": [ … ] }
POST /api/v1/my-profile/staff/{id}/overrides Auth

Add a schedule exception for a staff member.

Request body
{ "override_date": "2026-07-01", "is_available": false, "reason": "Vacation" }
Response
{ "success": true, "id": 9 }
DELETE /api/v1/my-profile/staff/{id}/overrides/{oid} Auth

Remove a staff member’s schedule exception.

Response
{ "success": true }
PUT /api/v1/my-profile/staff-settings Auth

Set how visitors choose a staff member.

Request body
{ "staff_selection_mode": "optional" }
Response
{ "success": true }