AR Barbería provides three JSON endpoints: one public availability endpoint used by the customer booking flow and two authenticated staff endpoints for schedule inspection and appointment listing. All responses useDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/OswalSnow/AR-Barber/llms.txt
Use this file to discover all available pages before exploring further.
Content-Type: application/json. The public endpoint requires no credentials; the staff endpoints require a valid Laravel Breeze session cookie.
GET /api/disponibilidad/{user_id}/{fecha}
Returns the list of available appointment start times for a specific barber on a specific date. This is the primary endpoint consumed by the booking form’s time-slot picker. Authentication: None required.Path parameters
The ID of the barber (
users.id where role = 'barber').The date to check in
YYYY-MM-DD format, e.g. 2026-06-15.Query parameters
Desired appointment duration in minutes. The endpoint generates slots in 30-minute increments and excludes any slot that cannot fully accommodate this duration before the end of the workday. Defaults to
30.Response
An ordered array of available start times in
HH:MM 24-hour format. Returns an empty array when:- The barber has no workday record configured for
fecha. - The workday is marked as closed (
is_open = false). - All slots within the workday are occupied by existing appointments.
- The requested date is today and all remaining slots are in the past.
Slot generation logic
Slots are produced in 30-minute increments betweenstart_time and end_time as configured on the barber’s workday record. For today’s date, slots whose start time is earlier than the current time are excluded. Any slot that overlaps with an existing appointment is also excluded.
Example request
Use
duration=60 when the customer selects the ambos (haircut + beard) service, as it typically takes a full hour. Pass duration=30 for corte or barba individually.GET /staff/availability
Returns the complete slot grid for a barber on a given date, including both available and occupied slots. Intended for staff dashboards where a barber needs to see their entire schedule, not just the free slots. Authentication: Requires an authenticated session (auth middleware). Include the laravel_session cookie obtained after logging in via POST /login.
Query parameters
The ID of the barber whose schedule to retrieve.
The date to inspect in
YYYY-MM-DD format.Response
Array of slot objects spanning the full workday.
Example request
GET /staff/appointments
Returns all appointments for the authenticated barber’s schedule on a given date. Used by staff to review and manage their day’s bookings. Authentication: Requires an authenticated session (auth middleware).
Query parameters
The date to query in
YYYY-MM-DD format. Defaults to today’s date when omitted.Response
Array of Appointment objects. Returns an empty array when no appointments exist for the given date.