# Salon booking day worksheet Companion guide: https://www.overskill.com/learn/plan-a-salon-booking-day Use this as an editable planning record. The filled example is fictional. Expected starts are a calculation, not proof that a booking app has passed testing. ## 1. Set the scope Business/location: Date: Business timezone: Staff working hours: Start grid (for example, every 15 minutes): Must cleanup finish before a break or closing? Can a staff member handle only one service at a time? Shared rooms/equipment, processing time or assistant handoffs to model separately: ## 2. List services and eligibility | Service | Customer minutes | Cleanup minutes | Occupied minutes | Eligible people | | --- | --- | --- | --- | --- | | Example cut | 30 | 15 | 45 | Ada, Mo | | Example restyle | 60 | 15 | 75 | Ada | | Example beard tidy | 15 | 0 | 15 | Mo | | Your service | | | | | Replace every example. Zero cleanup is an example input, not a recommendation. ## 3. Record unavailable periods Filled sample: both people work 9:00 AM–1:00 PM; all times use the same business timezone; starts are every 15 minutes; occupied time must fit within a free window. | Person | From | Until free again | Reason | | --- | --- | --- | --- | | Ada | 9:00 AM | 9:45 AM | Existing cut, including cleanup | | Ada | 11:00 AM | 11:30 AM | Break | | Mo | 9:30 AM | 10:15 AM | Existing cut, including cleanup | | Mo | Noon | 12:30 PM | Break | | Your person | | | | Your free windows after subtracting these periods: ## 4. Calculate expected starts For each eligible person and service, keep a grid start only when the whole occupied period fits in a free window. Equality at the boundary is allowed: finishing at 11:00 fits before an 11:00 break; starting at 11:30 fits after it. Filled original answer (times before noon are AM, times from noon are PM): | Service | Person | Valid starts | | --- | --- | --- | | Cut | Ada | 9:45, 10:00, 10:15, 11:30, 11:45, noon, 12:15 | | Cut | Mo | 10:15, 10:30, 10:45, 11:00, 11:15 | | Restyle | Ada | 9:45, 11:30, 11:45 | | Restyle | Mo | None: not eligible | | Beard tidy | Ada | None: not eligible | | Beard tidy | Mo | 9:00, 9:15, 10:15, 10:30, 10:45, 11:00, 11:15, 11:30, 11:45, 12:30, 12:45 | These are alternative starts, not total sellable appointments. Recalculate after any booking or schedule change. Any-staff availability is the union of eligible people's starts; confirmation must assign and reserve one named person. | Your service | Person | Expected starts | App's displayed starts | Differences | | --- | --- | --- | --- | --- | | | | | Unverified | | ## 5. Explain rejected starts Filled example: Ada's 10:30 cut ends for the customer at 11:00 but occupies her until 11:15. Her 11:00 break means that start is invalid. | Requested service/person/start | Fits or fails? | Reason | | --- | --- | --- | | | | | ## 6. Change one input Variation A: from the original sample, cancel Mo's 9:30 appointment and release its block immediately. His cut starts become 9:00, 9:15, 9:30, 9:45, 10:00, 10:15, 10:30, 10:45, 11:00 and 11:15. No afternoon cut fits. He remains ineligible for restyles. Variation B: restore the original sample, then add 15 minutes of cleanup to the beard tidy. Its 30-minute occupied period fits for Mo at 9:00, 10:15, 10:30, 10:45, 11:00, 11:15, 11:30 and 12:30. The old 9:15 and 12:45 starts fail, as does 11:45 because cleanup runs into the noon break. Your changed input: Expected change: Observed result and date: Evidence link: Remaining differences and owner: ## 7. Move from planning to testing Schedule reviewed by: Business policy decisions still open: Build brief / sample app: Use https://www.overskill.com/learn/build-a-service-booking-app for concurrency, save-and-return, cancellation, private access and confirmation checks. Record each as passed, failed or unverified after an actual test in your own copy.