Crew scheduling
Plan, publish, and staff shifts for your events. Build a shift calendar, reuse shift templates, deploy shifts in bulk, and let crew claim open work through a claim, approve, and deny workflow with built-in conflict and hours checks.
How scheduling is organized
Shifts always belong to a project, and the scheduling screens are reached through an event. From the schedule area you first pick the event you want to staff, then move into either the manage view (for owners, admins, and members who build and assign shifts) or the view screen (where assigned crew and contractors see their work).
Each shift records a time window, an optional role, an optional location and description, a color, a rate, and its assignment and publication state. A shift can be assigned to one or more people, or left unassigned as an open shift that crew can claim.
The shift calendar
The calendar is the working surface for an event. It lays out every shift across its time window so you can see coverage at a glance, page between weeks, and jump back to the current week with the Today control.
Shifts are color-coded. Each shift carries a color (chosen from a set of muted, theme-aligned swatches, or inherited from its role), and the calendar renders those colors at a readable, saturated level so tiles stay legible even when a pastel swatch was picked. All-day shifts are shown across the whole day rather than at a specific clock time.
Creating shifts
Open the shift form to create a single shift. You set the start and end time (or flip on All Day to span the full day), and you can attach a role, a location, a description, a color, and a pay rate. New shifts start in the pending state.
When creating a fresh shift you can assign more than one person at once. The assignee picker loads the organization's members and groups suggestions by role, so you can quickly find people who match the work. Leave a shift unassigned to publish it as an open shift instead.
- Times: pick a start and end, or toggle All Day for a full-day shift.
- Role: optionally tie the shift to an organization role.
- Rate, location, description, and color are all optional.
- Assign one or several people, or leave it open for crew to claim.
Shift templates
Shift templates capture the parts of a shift you reuse across events, so you do not rebuild the same shift by hand each time. A template is owned by a team and stores a name, an optional role, a color, an optional location, an optional default duration in hours, an open-shift default, and an all-day default.
Admins and members manage templates for their team; contractors can view templates but cannot create or change them. Templates are the source you draw from when deploying shifts into an event.
Deploying shifts from templates
Deploying turns one or more templates into real shifts on an event. You pick the templates, set a single start and end window (or All Day), and optionally choose one contact to assign all of them to. If you leave the assignment empty, the deployed shifts are created as open shifts.
When you deploy a single template that has a default duration, the end time is suggested automatically from the event start plus that duration. As you set the window, the assignment picker can show each crew member's availability for that window and can be filtered to show only available crew. A weekly-hours warning appears if the chosen person would approach or exceed their maximum hours for the week.
Publishing and open shifts
Shifts are drafts until they are published. Publishing is what makes a shift visible to crew and, for open shifts, what makes it claimable. An unpublished shift cannot be claimed.
An open shift is one with no assignee. When an open shift is published, contractors in the organization whose role matches the shift's role are notified that new work is available. Open shifts are surfaced to contractors so they can browse and claim work that fits their roles.
Claim, approve, and deny
Contractors claim published open shifts. Before a claim goes through, Lavori checks for time conflicts against the contractor's existing shifts and checks their weekly hours; a claim that would create an overlap or push them past their maximum hours per week is blocked with a clear message.
What happens next depends on the event's settings. If auto-approve is on for the event (or for the matching role within the event), the claim is confirmed immediately and the shift is locked to that contractor. Otherwise the claim moves to a pending-approval state and the project owner is notified to review it.
The project owner or an organization admin then approves or denies the request. Approving confirms the shift and snapshots the agreed rate; denying releases the shift, clears the assignment, and reopens it for others to claim. Both outcomes notify the contractor. Contractors can also accept a shift assigned directly to them, or release a shift they hold to put it back into the open pool.
- Claim is blocked on a time conflict or when it would exceed weekly hours.
- Auto-approve confirms instantly; otherwise the claim awaits owner or admin review.
- Approve confirms and locks in the rate; deny reopens the shift.
- Contractors can accept a direct assignment or release a held shift.
Assigning crew, reassignment, and conflict detection
Owners, admins, and members assign people directly from the shift form. Assignees must belong to the same organization as the project. When you edit a shift and assign or remove people, the assignment list is synced and the affected crew are notified.
Reassignment is protective of confirmed work. If you reassign a shift that was already confirmed, its status drops back to pending and the previously confirmed rate is cleared, so a new assignee is never silently held to someone else's terms. Removing everyone from a confirmed or pending-approval shift also resets it to pending. Rates cannot be changed on a shift that stays confirmed.
Overlap detection runs as you assign. The shift form checks each selected person for an existing shift that overlaps the new time window and warns you before saving, showing who has the conflict and when. The same overlap logic protects contractor claims so two overlapping commitments are not created by accident.