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
- Open Shift Marketplace from the Apps menu on your dashboard
- Browse the marketplace — the “Available Shifts” tab shows open shifts and employee listings you’re eligible for
- Pick up a shift — click “Claim” on any pickup-eligible listing or open shift to add it to your schedule
- Trade a shift — apply to a trade-only listing by selecting one of your own shifts to offer
- List your own shift — go to “Listings” and click “New Listing” to post a shift you can’t work
- Send a direct offer — from your upcoming shifts, offer a specific shift to a colleague you trust
For Managers
- Monitor coverage — the Dashboard shows open shifts and marketplace activity across your team
- Review claim requests — when Smart Approval routes a claim to you, approve or reject from the notification
- Use Coverage Autopilot — open the Autopilot tab to see at-risk shifts and send offers to eligible employees
- Escalate — if a shift can’t be filled, escalate to the location manager with one click
For Admins
- Enable the app — go to the Marketplace Apps page and enable Shift Marketplace for your business
- Configure approvals — choose Auto, Manager, or Smart approval in Settings, and set who can approve
- Set notification preferences — enable or disable each notification channel and configure quiet hours
- 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 |
Related Resources
- 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.