Skip to main content

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.

The staff panel is the central workspace for barbers at AR Barbería. After logging in, authenticated staff are redirected to /dashboard, where they can review their daily schedule, control which time slots are open for booking, cancel existing appointments, and manage their portfolio of work photos. All actions in the panel take effect immediately and are reflected to customers in real time.

Accessing the staff panel

AR Barbería uses Laravel Breeze for authentication. Staff log in with their email and password, then are redirected to /dashboard.
1

Navigate to the login page

Open /login in your browser. Enter your email address and password, then submit the form.
2

Verify your account

Your account must have role = 'barber' and is_active = true set by an administrator before you can access staff features.
3

Access the dashboard

After a successful login you are redirected to /dashboard. Bookmark this URL for quick access in future sessions.
The /dashboard route requires both the auth and verified middleware. If your email address has not been verified, Laravel will prompt you to verify it before granting access.

Dashboard sections

The dashboard is organised into several distinct areas. Use the barber tabs at the top to switch context between staff members.

Barber tabs

One tab per barber with role = 'barber'. Selecting a tab scopes the slot grid and appointments table to that barber.

Date picker

A date/time picker that controls which day is loaded for workday management and appointment viewing.

Workday controls

The ABRIR DÍA and CERRAR DÍA buttons open or close the selected barber’s workday for the chosen date, along with start and end time inputs.

Slot grid

A visual grid showing every 30-minute slot for the selected barber and date. Colour-coded to show availability at a glance.

Appointments table

A list of all bookings for the selected date, with controls to cancel individual appointments.

Portfolio upload

A file input and upload button for adding haircut photos to the barber’s public portfolio.

Slot grid colours

The slot grid gives an instant visual summary of a barber’s day.
ColourMeaning
BlueThe slot is available and can be booked by customers.
RedThe slot is occupied — a confirmed appointment already exists.
Slots are generated in 30-minute increments between the workday start_time and end_time. If no workday record exists for the selected date, no slots are shown and the day is hidden from the customer-facing booking form.

Appointments table columns

ColumnDescription
HoraAppointment time (HH:MM format).
ServicioThe service booked (e.g., corte, arreglo de barba).
ClienteCustomer name.
TelCustomer phone number.
AcciónA cancel button that removes the appointment.

Cancelling an appointment

Each row in the appointments table includes an Acción cancel button. Clicking it sends a DELETE request to /staff/appointments/{id}.
DELETE /staff/appointments/{id}
Authorization: session cookie (auth middleware)
The appointment record is soft-deleted via Laravel’s SoftDeletes trait, meaning it is removed from the active schedule but remains in the database for record-keeping. The slot immediately returns to available (blue) in the grid.
Cancelling an appointment is immediate. There is no confirmation dialog, and the customer is not automatically notified. Inform the customer separately before cancelling their booking.

Refreshing dashboard data

The Refrescar button manually reloads the slot grid and appointments table for the currently selected barber and date. Use it after making workday changes or after another staff member updates the schedule from a different browser session.

Build docs developers (and LLMs) love