Loading...
Help Center / Getting Started / Shift Marketplace App Overview

Shift Marketplace App Overview

Shift Marketplace App Overview

Give every shift a second chance to be filled β€” let employees list, trade, claim, and offer shifts on a self-service marketplace with smart approval workflows.


What Is Shift Marketplace?

Shift Marketplace is the peer-to-peer exchange where employees can post shifts they can no longer work, browse available open shifts, and pick up extra hours β€” all without calling a manager. It supports direct pickups, bilateral shift trades, and one-to-one direct offers, so coverage gaps get filled by the people closest to the work. Behind the scenes, configurable approval workflows, eligibility checks, and an AI-powered Coverage Autopilot keep managers in control while giving frontline staff the flexibility they need.

Core Value Proposition:

  • 🎯 Self-Service Coverage β€” Employees list, claim, and trade shifts without manager phone calls
  • πŸ”„ Bilateral Trades β€” Swap shifts with a colleague in a single audited transaction
  • πŸ€– Coverage Autopilot β€” AI monitors at-risk shifts and auto-sends offers to eligible workers
  • πŸ”’ Smart Approvals β€” Auto-approve trusted claims, escalate the rest to the right manager

At a Glance

πŸ“‹ Listing Types βœ… Approval Modes πŸ”” Notification Channels πŸ‘₯ Swap Scopes
3 (Pickup, Trade Only, Both) 3 (Auto, Manager, Smart) 3 (In-App, Email, SMS) 3 (Same Group, Same Location, Any)

Perfect For:

  • πŸ₯ Healthcare & Nursing β€” Fill critical coverage gaps with role-aware eligibility checks
  • 🏭 Manufacturing & Warehouses β€” Let shift workers pick up open slots at their location
  • πŸ›’ Retail & Hospitality β€” Bilateral trades so part-timers can swap weekend vs. weekday shifts
  • πŸ—οΈ Field Services β€” Direct offers let supervisors hand shifts to specific qualified workers

How It Works

Shift Listing & Claim Flow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      SHIFT MARKETPLACE FLOW                             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ EMPLOYEE │──▢│ LIST SHIFT   │──▢│ TYPE SELECT  │──▢│ PUBLISHED  β”‚  β”‚
β”‚  β”‚ Can't    β”‚   β”‚ Pick shift   β”‚   β”‚ Pickup /     β”‚   β”‚ Visible in β”‚  β”‚
β”‚  β”‚ Work     β”‚   β”‚ from upcomingβ”‚   β”‚ Trade / Both β”‚   β”‚ Marketplaceβ”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                              β”‚         β”‚
β”‚                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β”‚                    β–Ό                                                    β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚                    MARKETPLACE BOARD                              β”‚  β”‚
β”‚  β”‚                                                                   β”‚  β”‚
β”‚  β”‚  β”Œβ”€ Pickup ──┐  β”Œβ”€ Trade ────┐  β”Œβ”€ Direct ───┐  β”Œβ”€ Open ────┐  β”‚  β”‚
β”‚  β”‚  β”‚ Claim     β”‚  β”‚ Apply with β”‚  β”‚ Offer to a β”‚  β”‚ Mgmt-     β”‚  β”‚  β”‚
β”‚  β”‚  β”‚ instantly β”‚  β”‚ offered    β”‚  β”‚ specific   β”‚  β”‚ created   β”‚  β”‚  β”‚
β”‚  β”‚  β”‚ (if       β”‚  β”‚ shift      β”‚  β”‚ colleague  β”‚  β”‚ open      β”‚  β”‚  β”‚
β”‚  β”‚  β”‚ eligible) β”‚  β”‚            β”‚  β”‚            β”‚  β”‚ shifts    β”‚  β”‚  β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β”‚  β”‚
β”‚  β”‚        β”‚              β”‚               β”‚               β”‚         β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚           β–Ό              β–Ό               β–Ό               β–Ό            β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚                   APPROVAL ENGINE                                β”‚  β”‚
β”‚  β”‚                                                                   β”‚  β”‚
β”‚  β”‚   Auto-Approve?─────┬──── YES ──▢ Instant Transfer               β”‚  β”‚
β”‚  β”‚                     β”‚                                             β”‚  β”‚
β”‚  β”‚                     └──── NO ───▢ Pending Manager Review          β”‚  β”‚
β”‚  β”‚                                     β”‚                             β”‚  β”‚
β”‚  β”‚                           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                  β”‚  β”‚
β”‚  β”‚                           β–Ό                    β–Ό                  β”‚  β”‚
β”‚  β”‚                      Approved             Rejected                β”‚  β”‚
β”‚  β”‚                       β”‚                                           β”‚  β”‚
β”‚  β”‚                       β–Ό                                           β”‚  β”‚
β”‚  β”‚               Shift Assignment Transfer                           β”‚  β”‚
β”‚  β”‚               + Audit Log Entry                                   β”‚  β”‚
β”‚  β”‚               + Notifications Sent                                β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Bilateral Trade Flow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    SHIFT TRADE WORKFLOW                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                  β”‚
β”‚  EMPLOYEE A (Lister)              EMPLOYEE B (Applicant)        β”‚
β”‚  ─────────────────                ──────────────────────        β”‚
β”‚                                                                  β”‚
β”‚  1. Lists shift as                                               β”‚
β”‚     "trade_only" or "both"                                       β”‚
β”‚         β”‚                                                        β”‚
β”‚         β–Ό                                                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                  2. Sees listing in            β”‚
β”‚  β”‚ Shift listed β”‚ ──notification──▢  marketplace                β”‚
β”‚  β”‚ on market   β”‚                      β”‚                          β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                      β–Ό                          β”‚
β”‚                                  3. Applies with their           β”‚
β”‚                                     own shift offered            β”‚
β”‚         ◀──notification──────         β”‚                          β”‚
β”‚         β”‚                             β”‚                          β”‚
β”‚         β–Ό                             β”‚                          β”‚
β”‚  4. Reviews application               β”‚                          β”‚
β”‚     + offered shift                   β”‚                          β”‚
β”‚         β”‚                             β”‚                          β”‚
β”‚    β”Œβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”                        β”‚                          β”‚
β”‚    β–Ό         β–Ό                        β”‚                          β”‚
β”‚  Accept    Reject                     β”‚                          β”‚
β”‚    β”‚         β”‚                        β”‚                          β”‚
β”‚    β”‚         └──▢ B notified          β”‚                          β”‚
β”‚    β–Ό                                  β”‚                          β”‚
β”‚  5. ATOMIC SWAP                       β”‚                          β”‚
β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚                          β”‚
β”‚    β”‚ A's shift ──▢ assigned to B β”‚    β”‚                          β”‚
β”‚    β”‚ B's shift ──▢ assigned to A β”‚    β”‚                          β”‚
β”‚    β”‚ Audit log entries created   β”‚    β”‚                          β”‚
β”‚    β”‚ Coverage status updated     β”‚    β”‚                          β”‚
β”‚    β”‚ All other applicants        β”‚    β”‚                          β”‚
β”‚    β”‚   auto-rejected             β”‚    β”‚                          β”‚
β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚                          β”‚
β”‚                                                                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Integration with Scheduling Ecosystem

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   CONNECTED SYSTEMS                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ Scheduling  │─────▢│  SHIFT           │◀─────│ MangoScoreβ”‚  β”‚
β”‚  β”‚ Teams       β”‚      β”‚  MARKETPLACE     β”‚      β”‚ (Trust)   β”‚  β”‚
β”‚  β”‚ (Groups)    β”‚      β”‚                  β”‚      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”‚  β”‚ Eligibilityβ”‚  │◀─────│ Skills &  β”‚  β”‚
β”‚  β”‚ Shift       │─────▢│  β”‚ Engine     β”‚  β”‚      β”‚ Certs     β”‚  β”‚
β”‚  β”‚ Scheduler   β”‚      β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”‚  β”‚ Approval   β”‚  │─────▢│ In-App /  β”‚  β”‚
β”‚  β”‚ Compliance  │─────▢│  β”‚ Workflows  β”‚  β”‚      β”‚ Email /   β”‚  β”‚
β”‚  β”‚ Rules       β”‚      β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚      β”‚ SMS       β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                               β”‚                                  β”‚
β”‚                               β–Ό                                  β”‚
β”‚                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                            β”‚
β”‚                        β”‚ Audit Log  β”‚                            β”‚
β”‚                        β”‚ + Metrics  β”‚                            β”‚
β”‚                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                            β”‚
β”‚                                                                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Features

πŸ“‹ Shift Listings

Employees list shifts they can no longer work, choosing how they want coverage filled.

Capability Details
Listing types pickup (anyone can claim), trade_only (must offer a shift in return), both (either option)
Eligibility filters Same scheduling group, same location, or any β€” driven by the group’s swap_scope setting
Role checks Listing respects shift role requirements; only qualified users see the listing
Conflict detection System prevents users from claiming shifts that overlap with their existing schedule
Multi-slot support Multiple employees assigned to the same shift can each list their own slot independently
Auto-close Listings for past shifts are automatically filtered from the marketplace
Close / Cancel Listing owner can close an open listing at any time to remove it from the marketplace

πŸ”„ Bilateral Shift Trades

When a listing is set to trade_only or both, applicants must offer one of their own shifts in exchange.

Capability Details
Trade applications Applicant selects a future shift they own to offer in the trade
Two-way transfer On approval, the system swaps both shift assignments in a single atomic transaction
Conflict validation Before accepting, the system checks both parties for scheduling conflicts with their new shifts
Offered shift validation Offered shift must be in the future, in the same business, and different from the listed shift
Accept / Reject / Withdraw Listing owner can accept or reject; applicant can withdraw before a decision
Auto-reject others When one application is accepted, all other pending applications are automatically rejected

🀝 Direct Shift Offers

Send a shift directly to a specific colleague β€” no public listing required.

Capability Details
Person-to-person Select any colleague in the same business to receive the offer
Expiration Offers expire after a configurable period (default: 7 days)
Notes Sender can attach a personal note explaining why they’re offering
Accept / Decline / Cancel Recipient can accept or decline; sender can cancel before acceptance
Assignment transfer On acceptance, the shift assignment moves to the recipient with full audit trail
Compliance validation Before acceptance, the system validates daily/weekly hour limits, rest periods, overlapping shifts, and leave conflicts
Pending offers badge Sidebar badge shows count of pending received offers

βœ… Smart Approval Workflows

Three configurable approval modes control how shift claims are processed.

Mode Behavior
Auto-Approve All claims are approved instantly β€” shift transfers immediately
Manager Approval Every claim requires explicit manager sign-off before transfer
Smart Approval (default) Claims are auto-approved when any condition is met: 48+ hours advance notice, trusted employee (3+ months tenure + reliable MangoScore), same-day same-location shift, or covering a critical role within 24 hours. Otherwise, routes to manager.

Approval Authority Options:

Authority Who Can Approve
any_manager Any user with shift management permissions (default)
reporting_manager Only the claiming employee’s direct manager (up to 3 levels)
location_manager Only managers assigned to the shift’s location (includes ancestor locations)
scheduling_group_manager Only managers of the shift’s scheduling team
both Reporting manager OR location manager OR scheduling group manager

πŸ€– Coverage Autopilot

AI-powered monitoring that proactively fills at-risk shifts β€” available to managers and above.

Capability Details
At-risk detection Scans for shifts needing coverage within the next 7 days
Auto-offer Sends shift offers to eligible employees using the Opportunity Detector engine
Manual send Managers can trigger offers for a specific shift with one click
Escalation Escalates unfilled shifts to the responsible location manager
Priority levels Critical (≀4 hrs), High (≀24 hrs), Medium (>24 hrs)
Run now Admins can trigger a full detection cycle on demand
Summary stats Dashboard shows at-risk count, offers sent today, escalations, and success rate
Activity log Recent autonomous actions displayed for visibility into what the system is doing

πŸ”” Multi-Channel Notifications

Marketplace events trigger notifications across three channels, all configurable per business.

Event Recipients Channels
New listing created Eligible employees (filtered by role, skill, location, availability) In-App, Email, SMS
Shift claimed Listing owner + managers In-App, Email, SMS
Application received Listing owner In-App, Email, SMS
Application accepted/rejected Applicant In-App, Email, SMS
Open shift available Eligible employees In-App, Email, SMS
Urgent open shift Eligible employees (high priority) In-App, Email, SMS
Pending claim (needs approval) Responsible managers In-App, Email
Claim approved/rejected Claiming employee In-App, Email, SMS
Direct offer sent Offer recipient In-App
Direct offer accepted/declined Offer sender In-App

Notification Intelligence:

  • Eligibility-based targeting respects role, skill, location, availability, and conflict checks
  • Primary location users are notified first when location prioritization is enabled
  • Deduplication prevents the same user from receiving duplicate notifications within 24 hours
  • Quiet hours configuration prevents off-hours notifications
  • Frequency control supports immediate or batched delivery

πŸ“Š Marketplace Dashboard

A unified home screen showing everything an employee needs to act on.

Section What It Shows
My Active Listings Count of your open listings for future shifts
Successful Trades Total shifts you’ve successfully transferred
Open Shifts Count of open shifts available across the business
Pending Offers Direct offers awaiting your response
Pickup Opportunities Combined view of open shifts and user listings you can claim β€” sorted by start time, with urgent (<48 hrs) flagging
Recent Listings Your 5 most recent marketplace listings
Upcoming Shifts to List Your next upcoming shifts that haven’t been listed yet

πŸ“ Audit Log

Complete activity trail for every marketplace transaction β€” admin-only access.

Capability Details
Tracked actions Listing created, updated, cancelled, claimed; application submitted, approved, rejected, withdrawn; shift transferred; admin actions
Filterable By action type, user, and date range
Polymorphic Tracks activity on ShiftListings, Shifts, ShiftAssignments, and Users
Detailed context Each entry includes shift name, date, time, location, and participant names
IP and user agent Records request metadata for security auditing
Paginated 50 entries per page for large audit histories

βš™οΈ Settings & Configuration

Admin-only configuration panel for tailoring marketplace behavior.

Setting Options
Approval workflow Auto-approve, Manager approval, Smart approval
Approval authority Any manager, Reporting manager, Location manager, Scheduling group manager, Combined
Notification toggles New listing, claim approved/rejected, shift claimed β€” each independently togglable
Channel controls Email, SMS, and in-app notifications β€” each independently enabled/disabled
Notification radius Distance-based notification radius in miles (default: 25)
Quiet hours Start and end time for notification suppression (default: 22:00–08:00)
Notification frequency Immediate or batched delivery
Usage statistics Total listings, active listings, filled listings, and fill rate displayed on the settings page

User Roles & Permissions

Capability πŸ‘€ Employee πŸ‘” Manager πŸ›‘οΈ Admin ⚑ Super Admin
View marketplace dashboard βœ… βœ… βœ… βœ…
List own shift βœ… βœ… βœ… βœ…
Close own listing βœ… βœ… βœ… βœ…
Claim / pick up shifts βœ… βœ… βœ… βœ…
Apply to trade listings βœ… βœ… βœ… βœ…
Accept / reject applications on own listing βœ… βœ… βœ… βœ…
Withdraw own application βœ… βœ… βœ… βœ…
Send direct offers βœ… βœ… βœ… βœ…
Accept / decline received offers βœ… βœ… βœ… βœ…
View all marketplace listings (oversight) β€” βœ… βœ… βœ…
View other users’ listings β€” βœ… βœ… βœ…
Coverage Autopilot β€” βœ… βœ… βœ…
Trigger Autopilot offers / escalations β€” βœ… βœ… βœ…
Approve / reject claim requests β€” βœ… βœ… βœ…
View audit log β€” β€” βœ… βœ…
Configure marketplace settings β€” β€” βœ… βœ…
Run Autopilot detection cycle on demand β€” β€” βœ… βœ…

Getting Started

For Employees

  1. Open Shift Marketplace from the Apps menu on your dashboard
  2. Browse the marketplace β€” the β€œAvailable Shifts” tab shows open shifts and employee listings you’re eligible for
  3. Pick up a shift β€” click β€œClaim” on any pickup-eligible listing or open shift to add it to your schedule
  4. Trade a shift β€” apply to a trade-only listing by selecting one of your own shifts to offer
  5. List your own shift β€” go to β€œListings” and click β€œNew Listing” to post a shift you can’t work
  6. Send a direct offer β€” from your upcoming shifts, offer a specific shift to a colleague you trust

For Managers

  1. Monitor coverage β€” the Dashboard shows open shifts and marketplace activity across your team
  2. Review claim requests β€” when Smart Approval routes a claim to you, approve or reject from the notification
  3. Use Coverage Autopilot β€” open the Autopilot tab to see at-risk shifts and send offers to eligible employees
  4. Escalate β€” if a shift can’t be filled, escalate to the location manager with one click

For Admins

  1. Enable the app β€” go to the Marketplace Apps page and enable Shift Marketplace for your business
  2. Configure approvals β€” choose Auto, Manager, or Smart approval in Settings, and set who can approve
  3. Set notification preferences β€” enable or disable each notification channel and configure quiet hours
  4. Review activity β€” use the Audit Log to track all marketplace transactions and investigate issues

Eligibility Engine

The marketplace uses a layered eligibility engine to ensure only qualified workers see and claim shifts.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   ELIGIBILITY CHECK LAYERS                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                  β”‚
β”‚  Incoming Claim/Application                                      β”‚
β”‚         β”‚                                                        β”‚
β”‚         β–Ό                                                        β”‚
β”‚  β”Œβ”€β”€β”€ Layer 1: Business Membership ───┐                         β”‚
β”‚  β”‚ User must belong to the same       β”‚                         β”‚
β”‚  β”‚ business as the shift              │── FAIL ──▢ Blocked      β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                         β”‚
β”‚               β–Ό                                                  β”‚
β”‚  β”Œβ”€β”€β”€ Layer 2: Swap Scope ────────────┐                         β”‚
β”‚  β”‚ same_group: Must be group member   β”‚                         β”‚
β”‚  β”‚ same_location: Must share location │── FAIL ──▢ Blocked      β”‚
β”‚  β”‚ any: No restriction                β”‚                         β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                         β”‚
β”‚               β–Ό                                                  β”‚
β”‚  β”Œβ”€β”€β”€ Layer 3: Role Requirements ─────┐                         β”‚
β”‚  β”‚ User's role must match shift's     β”‚                         β”‚
β”‚  β”‚ missing role requirements          │── FAIL ──▢ Blocked      β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                         β”‚
β”‚               β–Ό                                                  β”‚
β”‚  β”Œβ”€β”€β”€ Layer 4: Conflict Detection ────┐                         β”‚
β”‚  β”‚ No overlapping shifts in the       β”‚                         β”‚
β”‚  β”‚ user's existing schedule           │── FAIL ──▢ Blocked      β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                         β”‚
β”‚               β–Ό                                                  β”‚
β”‚         βœ… Eligible                                               β”‚
β”‚                                                                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Additional checks for Direct Offers:

  • Daily and weekly hour limits enforced
  • Required rest period between shifts validated
  • Leave conflict detection (approved leave blocks acceptance)
  • Overlapping shift detection with detailed error messages

Best Practices

Practice Why It Matters
Use Smart Approval mode Balances speed for routine claims with oversight for edge cases β€” reduces manager burden by 60–80%
Set swap scope per scheduling group same_group keeps trades within teams that share skills; any maximizes the candidate pool for hard-to-fill shifts
Enable Coverage Autopilot Proactive outreach fills shifts before they become critical β€” managers intervene less
Configure quiet hours Prevents off-hours notifications from annoying frontline workers and depressing claim rates
Encourage bilateral trades both listing type gives employees maximum flexibility and fills shifts faster than pickup-only
Review audit logs weekly Spot patterns like frequent listers (potential scheduling issues) or repeatedly unfilled roles
Keep role requirements current Shift role requirements drive eligibility β€” outdated roles mean the wrong people see the listing
Use direct offers for critical shifts When you know exactly who should cover, a direct offer skips the marketplace and gets an answer fast

  • Scheduling Teams β€” Configure scheduling groups and swap scopes that control marketplace eligibility
  • Time & Attendance β€” Clock-in/out for shifts picked up through the marketplace
  • Skills & Certifications β€” Skill-based eligibility checks for marketplace notifications

Your shifts, your rules β€” Shift Marketplace puts coverage in the hands of the people who do the work.

Ask AI Product Advisor

Hi! I'm the MangoApps Product Advisor. I can help you with:

  • Understanding our 40+ workplace apps
  • Finding the right solution for your needs
  • Answering questions about pricing and features
  • Pointing you to free tools you can try right now

What would you like to know?