Blocking Forms
Some documents are critical to operations — without them, a worker cannot legally or safely be assigned to jobs. The isBlocking flag on a template marks it as a blocking form. When a blocking document expires past its grace period, the system prevents the worker from accepting or being assigned to jobs until the renewal is completed.
Blocking vs Non-Blocking
Blocking Templates
Expiry of these documents prevents job assignment:
| Template | Why It Blocks |
|---|---|
| W-9 (Tax ID) | Cannot process payroll without a current W-9 |
| I-9 (Employment Eligibility) | Federal requirement for employment verification |
| Direct Deposit Authorization | Cannot pay the worker without banking details |
| Background Check Consent | Company policy requires a completed background check |
| Vehicle Insurance Proof | Cannot assign driving jobs without valid insurance |
| W-4 Federal Tax Withholding | Cannot process payroll without current withholding elections |
| All 42 State Tax Withholding forms | State compliance requires current withholding |
Non-Blocking Templates
Expiry triggers reminders but does not prevent job assignment:
| Template | Why It Does Not Block |
|---|---|
| Non-Disclosure Agreement | Important but not operationally critical |
| Employee Handbook Acknowledgment | Administrative compliance, not a safety or legal gate |
| Code of Conduct Agreement | Behavioral agreement, not an operational gate |
| Emergency Contact Form | Informational, no legal requirement |
Blocking Scope
Not all blocking is the same. Templates support two blocking scopes:
| Scope | Behavior | Used By |
|---|---|---|
| all | Worker cannot be assigned to any job type | W-9, I-9, Direct Deposit, Background Check, W-4, State W-4s |
| driving | Worker cannot be assigned to jobs that require driving, but can still accept non-driving jobs | Vehicle Use Agreement, Vehicle Insurance Proof |
This distinction is important for field service companies where some jobs require driving company vehicles and others do not. A worker whose Vehicle Insurance Proof has expired can still be assigned to walk-in or office-based jobs.
Blocking Timeline
The blocking process follows a predictable timeline:
| Phase | Duration | Worker Experience |
|---|---|---|
| Pre-expiry reminders | 30, 14, 7, 1 days before expiry | Notification reminders to renew |
| Expiry | Day of expiration | Status changes to "expired," warning banner appears |
| Grace period | Configurable (0-30 days after expiry) | Worker sees warning banner, can still accept jobs |
| Blocked | After grace period ends | Worker cannot accept or be assigned to jobs |
Example Timeline (W-9 with 7-day grace period)
| Date | Event | Worker Experience |
|---|---|---|
| Dec 1 | 30-day reminder | "Your W-9 expires Dec 31. Please renew." |
| Dec 24 | 7-day reminder | "Your W-9 expires in 7 days. Renew now." |
| Dec 31 | Expiry | Banner: "Your W-9 has expired. Renew within 7 days." |
| Jan 1-6 | Grace period | Worker can still accept jobs. Warning visible. |
| Jan 7 | Grace period ends | BLOCKED. Cannot accept or be assigned to jobs. |
What Happens When Blocked
When a worker is blocked due to expired blocking documents:
- Job assignment prevented — The system rejects any attempt to assign the blocked worker to a job
- Marketplace hidden — Blocked workers cannot see or accept Pandora marketplace jobs
- Account banner — A persistent red banner appears: "Complete required forms to continue accepting jobs"
- Dashboard indicator — Admins see the blocked status on the worker's profile
- Forms list highlighted — Expired blocking documents show a red status badge
What Is NOT Affected
- Existing scheduled jobs — Jobs already assigned before blocking are not revoked
- Account access — The worker can still log in and access their account
- Profile editing — The worker can still update their profile and banking data
- Non-blocking documents — The worker can still complete non-blocking forms
- Communication — The worker can still send and receive messages
Admin Override (Temporary Waiver)
Administrators with the contracts.override permission can temporarily waive a blocking requirement for a specific worker. This creates an auditable waiver record:
| Field | Description |
|---|---|
| Worker | The worker whose block is waived |
| Template | Which blocking document is waived |
| Waived By | The admin who approved the waiver |
| Waived At | Timestamp of the waiver |
| Waiver Expires | When the waiver expires (maximum 30 days) |
| Reason | Required justification for the override |
Waivers are temporary and expire automatically. They do not replace the need to complete the document — they provide a short window for the worker to continue accepting jobs while completing the renewal.
Blocking Check Logic
When the system attempts to assign a worker to a job, it runs a single blocking check:
- Query all document instances for the worker with status "expired"
- For each expired instance, check if the template has
isBlocking = true - Check if the grace period has passed (
expiredAt + gracePeriodDays < now) - If any blocking documents are past their grace period, reject the assignment
- For "driving" scope blocks, only reject if the job requires driving
This check runs at assignment time, not on a schedule, ensuring real-time compliance enforcement.
On this page