Calendar — schedule installs, book bays, and see your week at a glance
Who it's for
The owner or manager uses the calendar to plan the week: deciding which job goes into which install bay on which day, spotting double-bookings before they happen, and watching how busy each bay is. Design and production staff with the calendar permission can open it to see what is booked, which bay and crew are assigned, and what is still waiting to be scheduled. The built-in Installer role stays focused on assigned work and does not receive shop-wide Scheduling access by default.
Where it fits
The calendar sits in the middle of the job lifecycle, right after a job is Approved and heading into Scheduled, Production, and Installing. A job is created and quoted on the Jobs board, the design is signed off in Proofs, and then it lands on the calendar to claim a bay and a day. See workflow-map.md for the full lifecycle and personas.md for how each role uses it.
Overview
The calendar is where shop work gets a time and a place. Each booking is a schedule event — a block of time, optionally tied to a job, an install bay, and a team member. You can create a free-standing event (for example, time off or a meeting) or attach the event to a job so the calendar and the job stay in sync.
Two things show up on the calendar automatically:
- Schedule events you create (install appointments, bay bookings, personal/PTO blocks).
- Follow-ups due in the visible date range — these are reminders attached to a job (a call, an email, a meeting). They appear as all-day amber markers so nothing slips through the cracks.
Alongside the calendar grid, two side panels keep you organized: a Bay Utilization panel showing how booked each bay is this week against the hours the shop is actually open, and an Unscheduled panel listing jobs that are ready to schedule but don't have a booking yet. The full live shop-floor view and bay configuration live under Shop → Bays.
The calendar unlocks with the card-backed Solo or Pro trial and either paid membership. There is no separate calendar add-on to buy.
Screens & navigation
Scheduling → Calendar (/scheduling)
Open Scheduling in the main navigation; Calendar is its first tab. The page has the calendar grid on the left and the two helper panels on the right (they stack below the grid on smaller screens). The same hub also holds Online bookings for incoming customer appointments and Services & hours for owners and managers who can configure booking availability.
The grid has three views, switched with the Month / Week / Day toggle in the top bar:
- Month view — the classic month grid. Each day cell shows up to three events; days with more show a "+N more" note. Multi-day events stretch across the cells they span. Today is highlighted. Click any day to start creating an event on that date.
- Week view — a seven-day timeline from 6 am to 8 pm, one column per day. Events are positioned by their start and end time. A red line marks the current time on today's column. Click any empty time slot to create an event at that hour.
- Day view — a single day broken into columns by install bay, plus an "Unassigned" column for events with no bay. This is the best view for seeing which bay is free at a given hour. Click a slot under a bay to create an event already assigned to that bay.
Shop → Bays (/shop?tab=bays)
This is the permanent bay workspace. It shows which bays are available, due now, in use, running late, or offline; the current and next job in each bay; planned versus actual time; the assigned crew; today's timeline; weekly booked hours; and scheduled work that still needs a bay. Owners and managers also create, edit, recolor, and retire bays here. A bay can move to another location only before it has schedule history, so old work always stays attributed to the location where it happened.
Jobs → Bays view The Jobs page includes a Bays view alongside List, Board, and Crew. It groups each active job under the bay for its in-progress or nearest upcoming schedule occurrence. Jobs with no valid bay appear in Unscheduled. A job with several visits appears once, with its additional visits noted.
Side panels (right of the grid)
- Bay Utilization — a small bar chart, one row per active bay, showing the percentage of configured open hours that are booked this week, the hours booked, and the event count. Closed nights and days no longer dilute the percentage.
- Unscheduled — a list of jobs that are ready to schedule (in a schedulable stage, not on hold) but have no calendar event yet, sorted by priority then due date. Each card has a one-click Schedule action.
On mobile The calendar switches to a simplified agenda: a swipeable week strip across the top and a day-by-day list of jobs that have a start or due date on the selected day. Tapping a job opens it on the Jobs board.
Capabilities
Creating events
- Click New Event in the top bar, or click any day (month view) or time slot (week/day view) to open the create dialog pre-filled with that date/time.
- Fields: Title (optional — leave blank to auto-fill from the linked job), Duration quick-picker (1–5 days), Start and End date-time, Job (optional), Install Bay (optional), Crew (optional — the first selected person is the lead, with any additional people stored as assignees), Color, and Description.
- If you pick a job but leave the title blank, the title is auto-built as "Job title - Stage" (for example, "Smith Transit Full Wrap - Installing").
- The Duration buttons (1d–5d) set the end date that many days out at 5 pm — handy for multi-day installs.
- Picking an install bay automatically files the event under that bay's location.
Editing an event
- Click any event to open its detail card. It shows the time, the linked job (with a link to open the job and a quick status dropdown), the bay, every assigned crew member, and the description.
- Click the pencil icon to edit any field — title, time, job, bay, lead and additional crew, color, or description.
- Once bay work has been started or finished, the occurrence becomes an operational record and can no longer be moved or edited from the calendar. Its detail card shows the actual start/finish and links to Shop → Bays.
- From the linked-job section you can change the job's workflow status right on the calendar without opening the Jobs board.
Deleting an event
- Open the event and click the trash icon, then confirm. Deleting a calendar event does not delete the job it was attached to — only the booking.
- A started or completed occurrence cannot be deleted or cancelled. Finish and review it from Shop → Bays so the actual bay history remains intact.
Scheduling an unscheduled job (quick-schedule)
- In the Unscheduled panel, click Schedule on a job card.
- Pick a bay and a date, then click Schedule. Wraptor books an 8-hour block starting at 8 am on that date in the chosen bay and creates the event, auto-titled from the job.
- If the bay or any crew member assigned to the event is already booked during that window, Wraptor blocks the booking — pick a different day, bay, or crew assignment.
- Once scheduled, the job drops off the Unscheduled list.
Reading bay utilization
- The Bay Utilization panel always reflects the current week (Sunday–Saturday), regardless of which date you are viewing in the grid. Its denominator comes from the open hours configured under Scheduling → Services & hours, so the percentage measures usable shop time instead of all 168 clock hours.
Tracking actual bay work
- Open Shop → Bays when a vehicle enters a bay and click Start on its scheduled occurrence. Wraptor stores the actual start separately from the planned calendar time.
- Click Finish when the bay is released. The workspace records the actual finish and duration without silently changing the job's workflow stage.
- An in-progress event that passes its planned end is marked Running late, making overruns visible before they push the next job.
- If today's planned window ends before anyone clicks Start, the job stays pinned as Start overdue with its delay and Start action visible; the bay does not falsely return to Available.
Working with follow-ups
- Follow-ups created on a job (a reminder to call, email, or meet) appear on the calendar as all-day amber items on their due date.
- Open a follow-up to read its note, mark it complete (green check), or delete it. Completing or deleting it here updates the job too.
Switching location
- If your shop has multiple locations, the location picker in the app header filters the calendar, bay utilization, and unscheduled list to the selected location. Personal/PTO events (events with no bay and no location) always show regardless of location.
Step-by-step tasks
-
Book an install for a job (from the Unscheduled list)
- Open Scheduling → Calendar. Look at the Unscheduled panel on the right.
- Find the job you want to schedule and click Schedule.
- Choose the install bay and the date.
- Click Schedule. Wraptor creates an 8-hour booking starting at 8 am for that job in that bay.
- If you see a "Bay is already booked" message, pick a different date or bay and try again.
-
Create a custom event with a specific time
- Switch to Week or Day view.
- Click the empty time slot where the work should start. The create dialog opens with that day and hour filled in.
- Optionally select the Job (the title auto-fills), pick an Install Bay and Installer, and set a Color.
- Adjust the Start and End times, or use the Duration buttons for a multi-day block.
- Click Create Event.
-
Move or reschedule an existing booking
- Click the event on the grid to open its detail card.
- Click the pencil icon to edit.
- Change the Start / End times (and the bay or installer if needed).
- Click Save Changes.
- If work has already started, the edit controls are replaced by the actual-time summary. That occurrence is locked; create a new occurrence for any additional work instead.
-
Advance a job's stage from the calendar
- Click an event that is linked to a job.
- In the Job section of the detail card, use the Status dropdown to pick the new workflow stage.
- The job's status updates immediately — no need to open the Jobs board.
-
Block out time off (PTO) or a non-job event
- Click New Event.
- Enter a Title (e.g., "Mike — vacation"), leave Job and Install Bay as "None," and optionally choose the Installer it applies to.
- Set the start and end (use the Duration buttons for multi-day time off).
- Click Create Event. Because there is no bay, the event is treated as personal and shows on the calendar at every location.
-
Add or configure an install bay
- Open Shop → Bays and click Add bay.
- Set its name, color, location, description, and capability tags.
- Edit a bay from its card whenever those details change.
- You can change a bay's location only before the bay has schedule history.
- To retire a bay, set it to Inactive. Wraptor preserves its history and prevents retirement while future or in-progress work is still assigned to it.
Settings & permissions
Who can use the calendar
The calendar permission controls access to the Calendar and Online bookings tabs. It is granted by default to Manager, Designer, and Production roles; the built-in Installer role does not receive it. Owners and managers have every permission. Custom roles can have calendar access added or removed in Settings → Team. A user with settings but not calendar can open Scheduling only to configure Services & hours.
Plan tiers
The calendar has no separate add-on once the paid workflow is active; access is controlled by the user's role and calendar permission. It unlocks during the card-backed Solo or Pro trial and with paid membership. Wraptor Free starts in Leads and can use its included active job and quote, while the Calendar screen shows the paid-feature lock.
Install bays live in the Shop hub Install bays are created and edited under Shop → Bays, each tied to a location. The calendar reads active bays but remains focused on time and scheduling. Equipment such as printers and plotters stays under Settings.
Locations Pro includes one location and can add more as metered add-ons. Once a Pro shop has multiple locations, it can filter the calendar by location using the header location picker. Personal events with no bay always appear regardless of the chosen location. Free and Solo each remain at one location.
Tips & common pitfalls
- Quick-schedule always books 8 am to 4 pm. The one-click Schedule action on the Unscheduled panel creates a fixed 8-hour block starting at 8 am. If the install is shorter, longer, or at a different time, schedule it and then edit the event, or create the event directly in Day/Week view with the exact times.
- Conflict checks cover the whole assigned crew. A capacity-blocking event cannot overlap another active event using the same install bay or any of the same crew members, including the lead and additional assignees.
- Every scheduling path enforces conflicts. New events, edits and moves, quick-scheduling, and customer self-service rescheduling all use the same bay-and-crew checks. Online-booking setup and cleanup buffers are included when Wraptor evaluates those overlaps.
- Actual work is permanent history. Starting an occurrence locks it against calendar edits, deletion, cancellation, and customer self-service rescheduling. This keeps planned-versus-actual reporting trustworthy.
- A bay's location is historical data. Once a bay has any schedule history, its location cannot be changed. Create a new bay at the new site and retire the old one instead.
- Bay Utilization is always "this week." It does not follow the date you are browsing. The percentage uses configured open hours, so make sure Scheduling → Services & hours reflects the shop's real working week.
- The time grid runs 6 am–8 pm. Week and Day views only render that window. An event that starts before 6 am or ends after 8 pm is clipped to the visible range on the grid (the full times are still stored and shown in the event detail).
- Deleting an event keeps the job. Removing a booking never deletes the underlying job — it just frees up the time. Conversely, deleting a job removes its calendar events.
- Follow-ups are reminders, not bookings. The amber all-day items are job follow-ups (call/email/meeting). They do not occupy a bay and do not count toward utilization.
- Personal events ignore the location filter. Events with no bay are treated as personal/PTO and appear at every location, by design.
Related modules
- Jobs — events link back to a job; you can change a job's stage from the event card, and the Bays view groups work by its current or next scheduled occurrence.
- Proofs — a job should be design-approved before it is scheduled for install.
- Team — the Crew picker lists your active team members; assignments and roles are managed there.
- Settings — equipment and global shop configuration; bay management now lives in Shop → Bays.
- Equipment — separate from install bays; covers machines, tools, and maintenance, not scheduling.
- Workflow map — where scheduling fits in the lead-to-completion flow.
- Personas — how owners and production staff use Scheduling, and how installers stay focused on assigned work.