AR Barbería controls booking availability at the individual day level. Each barber has independent Workday records that define whether they are working on a given date and, if so, during which hours. Until a barber’s workday is explicitly opened for a date, that date shows no available slots to customers. This model gives staff full control over scheduling without requiring a fixed weekly template.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.
How workday records work
A Workday record stores four pieces of information: thebarber_id, the day (date), an is_open flag, and start_time/end_time values. The staff panel writes these records through POST /staff/workdays/set, which uses updateOrCreate internally — so running the same request twice updates the existing record rather than creating a duplicate.
Slots displayed to customers are calculated at query time in 30-minute increments between start_time and end_time. For example, a workday from 09:00 to 13:00 produces eight slots: 09:00, 09:30, 10:00, 10:30, 11:00, 11:30, 12:00, and 12:30.
If no Workday record exists for a given date and barber, the booking form treats that date as unavailable and hides it entirely from customers.
Opening a workday
Select the barber tab
In the staff panel at
/dashboard, click the tab for the barber whose workday you want to configure.Set shift hours
Enter the shift start time and end time using the time inputs in the workday controls section.
Closing a workday
Select the barber tab and date
Navigate to the relevant barber tab and select the date you want to close.
Updating an already-open workday
BecausesetWorkday uses updateOrCreate, you can safely re-submit the form for a date that already has a Workday record. For example, to extend a shift from 13:00 to 15:00, simply update the end time and click ABRIR DÍA again. The record is updated in place and new slots become available without affecting existing appointments.
POST /staff/workdays/set
The ID of the barber whose workday is being set. Must be a valid user ID with
role = 'barber'.The date to configure, in
YYYY-MM-DD format.Set to
true to open the workday and make slots available, or false to close it and hide all slots.Shift start time in
HH:MM (24-hour) format. Required when is_open is true.Shift end time in
HH:MM (24-hour) format. Must be after start_time. Required when is_open is true.Checking availability
You can query a barber’s generated slots for any date using theGET /staff/availability endpoint. This is the same data source used by the customer-facing booking form.
slots array represents a 30-minute window. A slot with status: "occupied" has a confirmed appointment and cannot be booked again.