{"name":"Philosophy Beauty API","base":"http://localhost:4000/api","auth":"Bearer token from POST /api/auth/login","bootstrap":{"owner":{"email":"admin@philosophybeauty.ae","password":"salon123"},"manager":{"email":"manager@philosophybeauty.ae","password":"salon123"},"worker":{"email":"layla@philosophybeauty.ae","password":"salon123"}},"endpoints":{"auth":[{"method":"POST","path":"/api/auth/login","body":{"email":"string","password":"string"}},{"method":"DELETE","path":"/api/auth/logout"},{"method":"GET","path":"/api/auth/me"},{"method":"GET","path":"/api/workspace"},{"method":"GET","path":"/api/branding"}],"users":[{"method":"GET","path":"/api/users"},{"method":"POST","path":"/api/users","body":{"name":"string","email":"string","password":"string","role":"Owner|Manager|Worker","staffId":"string?"}},{"method":"GET","path":"/api/users/:id"},{"method":"PUT","path":"/api/users/:id"},{"method":"DELETE","path":"/api/users/:id"}],"notifications":[{"method":"GET","path":"/api/notifications?limit=30&unread=1"},{"method":"POST","path":"/api/notifications/:id/read"},{"method":"POST","path":"/api/notifications/read-all"}],"bookings":[{"method":"GET","path":"/api/bookings?quick=today|upcoming|past&status=&payment=&staffId=&from=&to="},{"method":"GET","path":"/api/bookings/slots?staffId=&date=YYYY-MM-DD&duration=60"},{"method":"GET","path":"/api/bookings/:id"},{"method":"POST","path":"/api/bookings"},{"method":"PUT","path":"/api/bookings/:id"},{"method":"POST","path":"/api/bookings/:id/status","body":{"status":"confirmed|in_progress|completed|cancelled|no_show"}},{"method":"DELETE","path":"/api/bookings/:id"}],"catalog":[{"method":"GET","path":"/api/clients"},{"method":"POST","path":"/api/clients"},{"method":"PUT","path":"/api/clients/:id"},{"method":"DELETE","path":"/api/clients/:id"},{"method":"GET","path":"/api/staff?status=available|on_duty|on_leave|off"},{"method":"POST","path":"/api/staff","body":{"name":"string","phone":"string","email":"string","role":"string?","skills":["Hair|Skin|Nails|Body|Makeup"],"status":"available|on_duty|on_leave|off?","areas":["string?"]}},{"method":"GET","path":"/api/staff/:id"},{"method":"PUT","path":"/api/staff/:id","body":{"name":"string?","phone":"string?","email":"string?","role":"string?","skills":["string?"],"status":"string?","areas":["string?"]}},{"method":"GET","path":"/api/services"},{"method":"POST","path":"/api/services"},{"method":"PUT","path":"/api/services/:id"},{"method":"DELETE","path":"/api/services/:id"}],"operations":[{"method":"GET","path":"/api/schedule?from=YYYY-MM-DD&to=YYYY-MM-DD"},{"method":"GET","path":"/api/schedule/today?date=YYYY-MM-DD"},{"method":"GET","path":"/api/dashboard?range=7d|30d|90d|12m"},{"method":"GET","path":"/api/settings"},{"method":"PUT","path":"/api/settings"},{"method":"POST","path":"/api/settings/reset-demo"}],"worker":[{"method":"POST","path":"/api/worker/auth/login","body":{"email":"string","password":"string"}},{"method":"DELETE","path":"/api/worker/auth/logout"},{"method":"GET","path":"/api/worker/me"},{"method":"GET","path":"/api/worker/schedule?date=YYYY-MM-DD"},{"method":"GET","path":"/api/worker/catalog"},{"method":"GET","path":"/api/worker/bookings/:id"},{"method":"POST","path":"/api/worker/bookings/:id/start"},{"method":"POST","path":"/api/worker/bookings/:id/complete"},{"method":"POST","path":"/api/worker/bookings/:id/no-show"},{"method":"POST","path":"/api/worker/bookings/:id/notes"},{"method":"POST","path":"/api/worker/bookings/:id/extras"},{"method":"DELETE","path":"/api/worker/bookings/:id/extras/:extraId"},{"method":"POST","path":"/api/worker/bookings/:id/payments","body":{"amount":"number","method":"cash|card|upi|online"}}]}}