AR Barbería exposes five public routes that require no authentication. They cover the customer-facing journey from browsing available barbers to submitting a booking, plus a JSON availability API used by the booking form to populate time slots in real time.Documentation 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.
GET /
Returns the homepage view, which lists all active barbers. No parameters. Renders an HTML view — not a JSON endpoint.GET /agendar/{id}
Displays the booking form pre-loaded for the barber identified byid. The form uses GET /api/disponibilidad/{user_id}/{fecha} to fetch available time slots dynamically when the customer selects a date.
The ID of the barber (
users.id where role = 'barber'). Returns a 404 if the barber does not exist.POST /confirmar-cita
Submits a new appointment. This endpoint is rate-limited to 3 requests per minute per IP (throttle:3,1) to prevent booking spam.
Requests that exceed the rate limit receive a
429 Too Many Requests response. The client should wait 60 seconds before retrying.Full name of the customer. Maximum 255 characters.
10-digit phone number with no spaces or punctuation. Must match
/^[0-9]{10}$/.The service being booked. Accepted values:
corte, barba, ambos.Appointment date in
YYYY-MM-DD format. Must be today or a future date.Appointment start time, e.g.
"10:30". Must be a slot returned by the availability endpoint for the chosen barber and date.ID of the barber to book. Must reference an existing user (
users.id).422 with error details.
GET /api/disponibilidad/{user_id}/{fecha}
Returns an array of available time strings for a given barber on a given date. This is the only public JSON endpoint in the application.The barber’s user ID.
The date to check, formatted as
YYYY-MM-DD.Desired appointment duration in minutes. Slots are generated in 30-minute increments; this parameter filters out slots that are too short to fit the requested duration. Defaults to
30.Ordered list of available start times in
HH:MM 24-hour format. Slots in the past are excluded when the requested date is today.GET /servicios
Renders the services and portfolio gallery page. Retrieves allPortfolioImage records ordered by most recently uploaded and passes them to the servicios view.
No parameters. Renders an HTML view — not a JSON endpoint.