{"name":"Ava Booker API","description":"Booking and scheduling API integration with Booker for Ava voice assistant - SandSpa","version":"1.0.1","deployed":"2026-05-01T20:15:50.729Z","status":"Production Ready with Booker API Integration","endpoints":{"booking":{"POST /api/create-booking":"Create new appointment booking (Main endpoint - Merchant v4.1)"},"customer":{"POST /api/client-lookup":"Find existing clients by phone number","POST /api/customer-history":"Look up customer visit history and preferences","POST /api/backfill-customer-appointments":"Backfill a single customer’s Booker appointments into Supabase (supports dry_run)"},"availability":{"POST /api/check-schedule":"Check staff schedule availability","POST /api/check-availability":"Check treatment availability","POST /api/check-schedule-all":"Check schedule across all locations (multi-location)"},"services":{"GET /api/services":"Get available services and treatment IDs","POST /api/treatments":"Get available treatments from Booker API","GET /api/treatments/all-locations":"Get treatments for all Sand Spa locations"},"specials":{"GET /api/specials":"Get Booker specials (discounts) for all locations","GET /api/specials/:locationId":"Get Booker specials for a specific location"},"staff":{"GET /api/staff":"Get staff/employees from Booker API (optional: include_groups=true)","GET /api/staff/:employee_id":"Get specific staff member by ID"},"schedule":{"GET /api/schedule":"Get weekly schedule for a location","GET /api/schedule/default":"Get default business hours for a location"},"appointments":{"GET /api/appointments":"Get appointments for a location and date range","GET /api/appointments/customer/:customer_id":"Get appointments for a specific customer","GET /api/appointments/:appointment_id":"Get a specific appointment by ID"},"sync":{"POST /api/sync-appointments":"Sync Booker appointments to Ava database (supports dry_run mode)","POST /api/auto-sync/start":"Start automated forward sync (today+6 days, every 5 min) - LOCAL ONLY","POST /api/auto-sync/stop":"Stop automated forward sync - LOCAL ONLY","GET /api/auto-sync/status":"Get auto-sync service status","POST /api/historical-sync/start":"Start historical backfill sync (1 day at a time, every 5 min) - LOCAL ONLY","POST /api/historical-sync/stop":"Stop historical backfill sync - LOCAL ONLY","POST /api/historical-sync/reset":"Reset historical sync to start from today","GET /api/historical-sync/status":"Get historical sync service status","GET /api/historical-sync/runner":"Get long-running backfill runner status","POST /api/historical-sync/runner":"Start long-running backfill runner","DELETE /api/historical-sync/runner":"Stop long-running backfill runner"},"cron":{"GET /api/cron/auto-sync/polish-highland":"Vercel cron: sync Polish Highland (every 5 min, 0-minute offset)","GET /api/cron/auto-sync/sand-spa-mb":"Vercel cron: sync Sand Spa MB (every 5 min, 1-minute offset)","GET /api/cron/auto-sync/sand-spa-hb":"Vercel cron: sync Sand Spa HB (every 5 min, 2-minute offset)","GET /api/cron/auto-sync/polish-newport":"Vercel cron: sync Polish Newport (every 5 min, 3-minute offset)","GET /api/cron/auto-sync/polish-weho":"Vercel cron: sync Polish WeHo (every 5 min, 4-minute offset)","GET /api/cron/auto-sync/sand-spa-dtmb":"Vercel cron: sync Sand Spa DTMB (every 5 min, 5-minute offset)","GET /api/cron/auto-sync/polish-dtmb":"Vercel cron: sync Polish DTMB (every 5 min, 6-minute offset)","GET /api/cron/auto-sync/polish-rh":"Vercel cron: sync Polish RH (every 5 min, 7-minute offset)","GET /api/cron/auto-sync-all":"Sync all locations in one call (LOCAL ONLY - too slow for Vercel)","GET /api/cron/historical-sync":"Vercel cron: sync 1 historical day (runs every 10 min)","GET /api/cron/service-sync":"Vercel cron: sync service catalog + location mappings (daily)","GET /api/cron/staff-specialties-sync":"Vercel cron: sync staff specialties from Booker (nightly)","GET /api/cron/staff-schedule-sync":"Vercel cron: sync staff schedules from Booker (nightly)","GET /api/cron/staff-sync":"Vercel cron: sync staff list from Booker (nightly)","GET /api/cron-push-to-booker":"Vercel cron: push Ava appointments to Booker (runs every 5 min)"},"ava_simplified":{"GET /api/ava/services":"Get all services in simplified format for Ava SMS agent","GET /api/ava/services/search?query=pedicure":"Search for services by name (for Ava SMS)"},"locations":{"GET /api/locations/active":"Get all active locations with details","GET /api/locations/:location_id":"Get specific location details with services and staff"},"system":{"POST /api/webhook":"Handle Booker webhook notifications","POST /api/context/update":"Update authentication context (brand to location)","GET /api/context/info":"Get current authentication context information","POST /api/context/test":"Test authentication with current context","GET /health":"Health check endpoint"}},"booker_integration":{"environment":"production","brand_id":"953","brand_name":"SandSpa","location_id":"26787","account":"spaladoc"},"documentation":"See API_REFERENCE.md for complete documentation"}