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:

TemplateWhy 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 AuthorizationCannot pay the worker without banking details
Background Check ConsentCompany policy requires a completed background check
Vehicle Insurance ProofCannot assign driving jobs without valid insurance
W-4 Federal Tax WithholdingCannot process payroll without current withholding elections
All 42 State Tax Withholding formsState compliance requires current withholding

Non-Blocking Templates

Expiry triggers reminders but does not prevent job assignment:

TemplateWhy It Does Not Block
Non-Disclosure AgreementImportant but not operationally critical
Employee Handbook AcknowledgmentAdministrative compliance, not a safety or legal gate
Code of Conduct AgreementBehavioral agreement, not an operational gate
Emergency Contact FormInformational, no legal requirement

Blocking Scope

Not all blocking is the same. Templates support two blocking scopes:

ScopeBehaviorUsed By
allWorker cannot be assigned to any job typeW-9, I-9, Direct Deposit, Background Check, W-4, State W-4s
drivingWorker cannot be assigned to jobs that require driving, but can still accept non-driving jobsVehicle 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:

PhaseDurationWorker Experience
Pre-expiry reminders30, 14, 7, 1 days before expiryNotification reminders to renew
ExpiryDay of expirationStatus changes to "expired," warning banner appears
Grace periodConfigurable (0-30 days after expiry)Worker sees warning banner, can still accept jobs
BlockedAfter grace period endsWorker cannot accept or be assigned to jobs

Example Timeline (W-9 with 7-day grace period)

DateEventWorker Experience
Dec 130-day reminder"Your W-9 expires Dec 31. Please renew."
Dec 247-day reminder"Your W-9 expires in 7 days. Renew now."
Dec 31ExpiryBanner: "Your W-9 has expired. Renew within 7 days."
Jan 1-6Grace periodWorker can still accept jobs. Warning visible.
Jan 7Grace period endsBLOCKED. Cannot accept or be assigned to jobs.

What Happens When Blocked

When a worker is blocked due to expired blocking documents:

  1. Job assignment prevented — The system rejects any attempt to assign the blocked worker to a job
  2. Marketplace hidden — Blocked workers cannot see or accept Pandora marketplace jobs
  3. Account banner — A persistent red banner appears: "Complete required forms to continue accepting jobs"
  4. Dashboard indicator — Admins see the blocked status on the worker's profile
  5. 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:

FieldDescription
WorkerThe worker whose block is waived
TemplateWhich blocking document is waived
Waived ByThe admin who approved the waiver
Waived AtTimestamp of the waiver
Waiver ExpiresWhen the waiver expires (maximum 30 days)
ReasonRequired 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:

  1. Query all document instances for the worker with status "expired"
  2. For each expired instance, check if the template has isBlocking = true
  3. Check if the grace period has passed (expiredAt + gracePeriodDays < now)
  4. If any blocking documents are past their grace period, reject the assignment
  5. 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.