| name | public-booking-experience |
| description | Use when building the public salon pages, stylist profiles, booking journey, conversion-focused UI, or client-facing scheduling flows. |
Public Booking Experience
Use this skill for the public-facing product surface.
Priorities
- mobile-first conversion
- Spanish-first clarity
- visible policies and real availability
- minimal friction between discovery and reservation
Read first
docs/blueprints/frontend-art-direction.md
docs/blueprints/frontend-design-tokens.md
docs/blueprints/motion-system.md
docs/blueprints/public-page-wireframe.md
docs/blueprints/component-inventory.md
Workflow
- Confirm the flow is public and does not belong in Filament.
- Resolve tenant context server-side using slug or route model binding.
- Keep the public page in
React + TypeScript + Inertia.
- Prefer typed props and payloads.
- Reuse Laravel validations and contracts instead of duplicating logic in the client.
- Coordinate booking UI decisions with booking-domain invariants.
Rules
- do not leak internal ids unnecessarily
- do not fake availability on the client
- do not hide cancellation or deposit policies
- do not build complex pricing or scheduling logic only in React