Staff Hours
What this screen is for
Decides, for all seven days of the week, whether a staff member follows the business's general hours or has a separate weekly schedule of their own. Choosing their own schedule opens the same seven-day editor as the business's own working-hours screen.
When you would use this
A business owner comes to this screen when a staff member starts working a schedule different from the business's general hours — a part-time shift, a different day off — or when that different schedule itself changes.
Who sees it
Only the user matching the owner field on the company document can open this screen; nobody else can change a staff member's hours.
Where it lives
The screen exists in both the mobile app and the web panel; both share the same seven-day editor as the business's own working-hours screen, scoped to a single staff member. In the panel, with 'use the business's hours' on, the choice is written immediately with its own separate save button; turning it off switches to the seven-day form. On mobile a single save button always sits at the bottom of the screen and writes either an empty value or the edited week, depending on the switch's current state.
What you can do here
Use the business's hours switch
While on, the staff member follows the business's current weekly hours; turning it off reveals the seven-day editor below, pre-filled from the staff member's own hours if they already have some, otherwise from the business's current week — never blank.
Day open/closed and time ranges
Each day can be switched open or closed on its own; an open day can carry more than one time range.
Save
Before saving, every day marked open is checked for valid, non-overlapping ranges; if any day fails, saving is blocked and nothing is written.
What the server accepts and refuses
The server only verifies ownership, not the hours' validity
The Firestore rule opens writes to a staff member's workingHours field only to the business owner; a range's start coming before its end, or same-day ranges not overlapping, is checked only by the client's own form.
The field is either entirely empty or defines the whole week
While workingHours is empty, the staff member inherits the business's hours; once filled in, it defines the entire week, and a day it does not mention or marks closed counts as a day the staff member does not work, even if the business is open that day — it never falls back to the business's hours day by day.
Personal hours replace the business's hours, they do not merge with them
When deciding whether an appointment fits this staff member, their own hours are used alone if they have any — never compared against or combined with the business's hours.