Calendar — schedule installs 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 also holds calendar — an installer's rail has My Jobs, Schedule and Team Chat, and the calendar opens filtered to their own bookings with the Mine chip already on.
Where it fits
You can reserve an install from a job before it reaches the installation stage. Its promised due date and install appointment are separate, and scheduling does not advance its workflow. A shop location is enough: bay and crew assignment are optional. The full Scheduling workspace also offers an Unscheduled list filtered to the stages your shop considers ready to schedule. See Jobs for the job's schedule editor and department workflow.
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 one or more crew members. 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), plus any appointment a customer books online.
- Follow-ups due in the visible date range — reminders attached to a job. They appear as all-day amber markers titled by type: "Call: …", "Email: …", "Meeting: …" or "Follow-up: …".
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 grid refreshes on its own when someone else on your team changes the schedule. The full live shop-floor view and bay configuration live under Shop → Bays.
Every plan opens the calendar, and so does the 7-day free trial. The one part of Scheduling that is tier-gated is the Capacity planner, which comes with Wraptor Shop.
Screens & navigation
Jobs → Schedule (/jobs)
For tracking work by date, stay in Jobs and choose Schedule. Switch between install dates and promised due dates, then agenda, week or month. Undated jobs remain accessible. Use Set … as my default to save this view to your account, or choose Today, List, Board, Bays (if configured) or Crew as your default instead. Set install start/end or duration and optional crew/bay in the job editor; editing the install does not overwrite its due date.
Customer appointment status Staff track an appointment as Tentative, Communicated or Confirmed. Appointment templates prepare editable drafts in the customer message composer; staff still choose Send. Changing the appointment time returns it to Tentative. A change to only the bay or crew retains its state. The job's handoff history records schedule changes so the office and floor can review the same details.
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 holds three more tabs: Capacity (a week planner, below), Online bookings for incoming customer appointments, and Services & hours, which is shown to anyone holding the settings permission.
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" button that jumps to Day view. Multi-day events stretch across the cells they span and carry a "↳" on continuation days. Today is highlighted. Click anywhere in a day cell to start creating an event on that date, or click the day number to open that day in Day view.
- 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.
The top bar also carries Today, the ‹ › arrows, a Mine chip and the New Event button.
Mine (crew filter) Mine shows only the events you are on the crew for. It is a filter, not a permission — anyone can switch it off to see the whole shop. It starts on for the built-in Production and Installer roles and off for everyone else.
Scheduling → Capacity A one-week planner that weighs booked install hours against what your bays can actually take: summary tiles for Booked, Capacity, Utilization and Room for full wraps, a bar per day with an overbooked badge ("+Nh over") and a banner when any day is over, plus ‹ › week navigation and a This week reset. Capacity is your active bays multiplied by your scheduled open hours; a shop with no bays configured yet is counted as one workspace. A full wrap is figured from your own clocked install median once three installs have been clocked, and from the industry default until then. Below Wraptor Shop the tab is still visible and shows a lock screen instead ("The capacity planner comes with Wraptor Shop").
Shop → Bays (/shop?tab=bays)
This is the permanent bay workspace, titled Bay control center. Stat tiles across the top count bays available, in use, jobs today and week utilized. Each bay card carries its state badge — Available, Scheduled, In progress, Running late or Offline — the current and next job, planned versus actual time, the assigned crew, today's timeline, and this week's booked-versus-open hours. A Needs a bay panel lists scheduled work with no bay assigned. Anyone with the settings permission also creates, edits, recolors, and retires 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 do not dilute the percentage. The panel is hidden until you have at least one active bay.
- 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; when there is nothing waiting it reads "All jobs are scheduled".
On mobile The calendar switches to a simplified agenda: a swipeable week strip across the top (a dot marks days with anything on them), then the selected day's schedule events followed by jobs whose start or due date falls on that day. Tapping an event opens its detail card; tapping a job opens it on the Jobs board. The header carries Today and a New event button.
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 New Schedule Event 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 — tick as many people as you need; the first one selected is the lead), Color, and Description.
- If you pick a job but leave the title blank, the title is auto-built as "Job title - Stage" using your shop's own stage label (for example, "Smith Transit Full Wrap - Installing").
- The Duration buttons (1d–5d) set the end at 5 pm on the last day of the block — 1d ends the same evening, 3d ends two days later — handy for multi-day installs.
- The Job list offers only live work: jobs on hold, parked, or already completed are left out.
- If the job you pick already has bookings, an amber This job is already on the calendar notice lists them with their dates and bays. It warns rather than blocks — multi-visit installs are normal — so check it is not a duplicate before saving.
- Picking an install bay files the event under that bay's location; a job with no bay files under the job's location. Only an event with neither is treated as personal.
- On a job event, anyone you put on the crew is also added to that job's assignees. Everyone on the crew but you gets a bell notification — plus a push alert on any device where they turned push on — reading "You're on the schedule: {event}". You are never pinged about your own change.
- If the booking clashes, the dialog stays open and toasts Couldn't create event with the reason, which names what clashed — "The selected install bay is already booked during this time", "…installer is…", or "…install bay and an assigned installer are…". To double-book on purpose, tick the overlap checkbox in the dialog and save again (see Tips & common pitfalls).
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, crew, color, or description. Save with Save Changes.
- Moving an event to a new time re-pings the crew who stayed on it ("Schedule changed: {event}"), and tells anyone added or removed.
- If the event came from an online booking, moving it emails the customer ("Your appointment was rescheduled — …") and moves the linked job's start and due dates to match the new window.
- 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. The card explains that actual bay time is being tracked 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. A stage that is gated on a signed-off checklist refuses the move and toasts Couldn't move job with the reason.
Deleting an event
- Open the event and click the trash icon, then confirm Delete this event?. Deleting a calendar event does not delete the job it was attached to — only the booking.
- Deleting an event that came from an online booking cancels the booking and emails the customer. If a deposit has already been paid, Wraptor refuses: "This booking has a paid deposit. Refund or reschedule it before cancelling." An unpaid deposit invoice is voided for you.
- A started or completed occurrence cannot be deleted or cancelled. Finish and review it from Shop → Bays so the actual bay history remains intact.
- Jobs that leave the working board release their own time: completing, archiving, parking or deleting a job cancels its upcoming schedule events, so the bay frees up without anyone clearing the calendar by hand. An occurrence with started work is always left as it is.
- Appointments that came from an online booking are treated separately. Completing or parking a job leaves them alone. Archiving or deleting a job also cancels them: the customer is emailed, and an unpaid deposit invoice is voided. A booking whose deposit is already paid is kept and counted for you — cancel it yourself from the calendar once the refund is settled.
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 in the shop's timezone on that date in the chosen bay and creates the event, auto-titled from the job.
- If the bay is already booked during that window, Wraptor blocks it and toasts Couldn't schedule job with the reason — pick a different day or bay.
- Quick-schedule creates the booking with no crew on it, so nobody is pinged. Open the event and add crew when you know who is running it.
- 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 → Shop availability, 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 work on its scheduled occurrence. Wraptor stores the actual start separately from the planned calendar time and toasts "Bay timer started".
- 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. Follow-ups on parked or archived jobs are left off.
- 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.
- Whoever created the follow-up also gets a bell notification on the due morning, plus a push alert where push is on — "Follow-up due today — Job {n}", or "Overdue follow-up on Job {n}" if it slipped.
Switching location
- If your shop has multiple locations, the location picker in the app header filters the calendar, capacity, bay utilization, and unscheduled list to the selected location. The picker appears on paid plans only.
- Personal/PTO events (events with no bay and no job) always show regardless of location.
- A job and an install bay have to be at the same location; pairing them across sites is refused with "Job and install bay must be in the same 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 Couldn't schedule job toast, read the reason, then 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 New Schedule Event dialog opens with that day and hour filled in.
- Optionally select the Job (the title auto-fills), pick an Install Bay, tick the Crew, 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 crew if needed).
- Click Save Changes. If the time changed, the crew who stayed on it is re-pinged; if the booking came in online, the customer is emailed the new time and the job's dates follow it.
- 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. If a sign-off gate or a plan cap blocks the move, the toast says why.
-
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 tick the Crew 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 and no job, the event is treated as personal and shows on the calendar at every location — but it still holds that person's time against other bookings.
-
Check whether the week can take one more install
- Open Scheduling → Capacity.
- Read Booked against Capacity, and the Room for full wraps tile.
- Use ‹ › to look ahead; This week returns you to today.
- Any day with more work scheduled than open bay hours shows an overbooked badge and a red bar.
-
Add or configure an install bay
- Open Shop → Bays and click Add bay.
- Set its Bay name, Color, Location, Description, and Capabilities (comma-separated).
- Edit a bay from the pencil on its card whenever those details change.
- You can change a bay's location only before the bay has schedule history.
- To retire a bay, turn off Bay available for scheduling. Wraptor preserves its history and refuses while current or upcoming work is still assigned to it.
Settings & permissions
Who can use the calendar
The calendar permission controls access to the Calendar, Capacity and Online bookings tabs. It is granted by default to Manager, Designer, Production and Installer — and the shop owner's own account carries the Manager role, which holds every permission. Custom roles can have calendar access added or removed under Shop → Team. A user with settings but not calendar can open Scheduling only to configure Services & hours.
Plan tiers The calendar itself is open on every plan and during the 7-day free trial (no card required). There is no free plan; a shop without a plan lands on the plan picker, and canceling keeps its data. The Capacity planner is the one Scheduling feature that needs a tier: it comes with Wraptor Shop, and lower tiers see a lock in the tab.
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. Settings → Locations shows a bay count per site but does not manage bays. Equipment such as printers and plotters stays under Settings.
Locations Wraptor Starter runs one location. Wraptor Shop and Wraptor Fleet each include one and add more at $99/mo per extra location. Personal events with no bay and no job always appear regardless of the chosen 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 in your shop's timezone. 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. An event cannot overlap another live event using the same install bay or any of the same crew members, lead and additional assignees alike — unless you tick Allow overlapping bookings. That checkbox sits in the new-event and edit dialogs, Quick-schedule, and the job card's and new job's install fields; it starts off and applies to that one save. Every bay, including one you named "Outside", holds one booking at a time otherwise. For outside or off-site work you don't want to track by bay, leave the bay empty (None on the calendar, No bay · use job location on the job card) — then only the installers are checked. If switching bays still says booked, read the message: it is the installer who is busy.
- Every scheduling path checks for a clash. Creating or editing an event checks the bay and every crew member on it. Quick-schedule and the job card's bay picker check the bay, because neither attaches crew. Customer self-service rescheduling re-reads live availability and only lands on a bay that is genuinely free. Setup and cleanup buffers count in these overlaps, but only around appointments that came from an online booking — manual events carry no buffer.
- A duplicate visit is a warning, not a block. The amber "This job is already on the calendar" notice exists because multi-visit work is legitimate. Read the dates it lists before saving.
- 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.
- Capacity and Bay Utilization count differently, on purpose. Capacity adds every scheduled block up, so parallel crews and after-hours work both count — that is what makes an overbooked day visible. Bay Utilization instead clips each booking to the shop's open hours and merges overlaps, so a bay row can never read over 100%.
- 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, finishing, parking, archiving or deleting a job releases its upcoming schedule 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 or capacity.
- Personal events ignore the location filter. Events with no bay and no job are treated as personal/PTO and appear at every location, by design.
- Check the Mine chip before you believe an empty week. Production and Installer logins open with Mine on, which hides everyone else's bookings and every follow-up you did not create. The chip resets to the role default each time you open the page.
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.
- Online bookings — customer-booked appointments land on this calendar, and moving or cancelling them emails the customer.
- Proofs — a job should be design-approved before it is scheduled for install.
- My Jobs — what an installer sees; their Schedule link opens this same calendar filtered to Mine.
- Team — the Crew picker lists your active team members; assignments and roles are managed there.
- Settings — equipment, locations and global shop configuration; bay management 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, production staff and installers use Scheduling.