Business Calendar
What this screen is for
Shows a business's appointments hour by hour on a grid. The panel has three views — day, week and month; mobile has a day view with a swipeable week strip above it, and the month opens as a separate screen (Month View). Both read the same appointment, working-hours and blocked-time data.
When you would use this
A business owner comes to this screen to see today's or a specific day's hour-by-hour schedule, to close off an open hour, or to see one staff member's schedule on its own.
Who sees it
Only the user matching the company document's owner field can open this screen.
Where it lives
The screen exists in both the mobile app and the web panel; appointment data comes from the same query on both. How many views there are, and what tapping an appointment opens, differ between the two surfaces — see below.
What you can do here
Day view
Lays out the selected day's appointments in hour order on a grid; each appointment takes up space for its own duration.
Week view
Shows all seven days of the week side by side on the same hourly grid.
On the panel this is a full view, one of three equal options (day/week/month). Mobile has no equivalent — instead, above the day view there's a swipeable strip marking, with a dot, which days that week have an appointment.
Month view
Shows how appointments are spread across the month.
On the panel this is one of the three views, opening inline on the same page. On mobile it is a separate screen (Month View); tapping a day there closes it and returns to the day view.
Jump to today
One tap or click aligns the grid to today and the current hour.
Turn an open hour into blocked time
Tapping or clicking an open hour on the grid opens the blocked-time form to close that hour off.
On the panel the form opens pre-filled with that date and a one-hour range; it's only a suggestion and can still be changed before saving. On mobile the form opens empty — the date and hour are entered by hand.
Filter by staff and service
With staff mode on, the grid can be narrowed to one person's or one service's appointments; the filter runs over appointments already loaded rather than sending a new query.
Select an appointment
An appointment card on the grid can be selected.
On the panel this opens a dialog offering every action the appointment supports — approve, decline, cancel, edit, reschedule and open a ticket — the same actions as on the Business Appointments screen. On mobile these actions aren't offered from this screen; the business goes to the Business Appointments screen to approve, decline or cancel an appointment.
What the server accepts and refuses
The drawn window is computed in the business's own timezone
Day, week and month boundaries are computed in the business's own timezone, not the device's; the same appointment always shows at the same hour on the phone and in the panel.
Tapping an open hour doesn't create an appointment
An open hour only opens the blocked-time form — the server refuses an owner booking their own company outright, so there's no way to enter an appointment for a customer from the calendar.
The staff filter only narrows appointments
Narrowing to one person only shows appointments whose staffId field matches them; blocked times live in a staff-less collection, so this filter never touches them.
The staff filter only appears for businesses with staff mode on
If a business has never turned staff mode on, its appointments carry no staffId field either; in that case the filter isn't drawn at all, not even as a hidden option.