Covermatic

Manager portal

Login failed. Check your Restaurant ID, email, and password.

Don't know your Restaurant ID?
Contact your Covermatic account manager.

Total employees
--
Scheduled shifts
--
Open shifts
--
Covered this week
--

Schedule?

Range 2W 4W 6W 8W
Status All Scheduled Open Covered Drafts
Role All Server Cook Host Bartender
Employee
Date Employee Role Start End Status
Loading...

Add shift

Days of week (for ranges):
Click a date, or click two dates for a range (max 7 days)

Shift history?

DateEmployeeRoleStartEndStatus
Loading...

Activity log?

Shift added / covered Call-off / no-show Shift moved / reminder Coverage blast sent
Loading...

Employees?

NameRoleScoreSMS opt-inPhoneStatusActions
Loading...

Add employee

Phone number must include country code (e.g. +1 for US). This is the number employees text to call off.

Reliability scores

Sorted by score. Click any row to see full history.
Name Role Score Call-offs No-shows Last call-off
Loading...

Strike alert settings

When an employee reaches this many call-offs, you will get an SMS alert with their reliability score.

Weekly report email

Defaults to your login email. Change if you want reports sent to a different address.

Last chance broadcast

When enabled, the final "Last Chance" blast at 30 minutes goes to all active staff regardless of role — not just the same role as the open shift.

Shift Bounty program

How Shift Bounties work

When you add a shift, you can optionally attach a Bounty — a free-text incentive like "Extra $20 cash" or "First pick of next week's schedule." When that shift gets called off, eligible employees see the bounty in their coverage SMS and have a limited window to claim it first.

Bounty eligibility rules (all must pass):

  • Employee reliability score is at or above the minimum score
  • Employee has not called off within the cooling period
  • Employee has not claimed more bounties than the monthly cap

How the window works: Eligible employees are texted first with the bounty offer and a countdown. After the window expires, all remaining candidates get a standard no-bounty coverage request. The shift still gets filled — the bounty just rewards whoever acts fastest.

Payout is manual — Covermatic tracks who claimed the bounty and reminds them in their confirmation SMS, but the actual payout is handled by you.

Turn off to disable bounties entirely — shifts will still be covered normally, bounty field will be ignored.

Employees below this score are ineligible

Employees who called off within this window are ineligible

Prevents gaming by repeat claimers

Eligible employees have this long to claim before others are notified

How Covermatic works

Covermatic handles shift scheduling, call-offs, and coverage for you over SMS. Your employees text in to call off; the system automatically finds and confirms a replacement. You can run your whole schedule from this dashboard or by texting our number conversationally. Click any section below to expand.

📱 Texting our number — your AI scheduling assistant

Anything you can do in the dashboard, you can do by texting our number from your registered manager phone. The AI handles the rest.

Examples that work:

  • "Who's working tomorrow?"
  • "Add Sarah Tuesday 6pm-11pm as server"
  • "Move James's Friday shift to Saturday"
  • "Cancel Sarah's shift Friday" → it'll ask whether you need coverage or not
  • "Find coverage for Sarah's shift tonight"
  • "Mark Lisa as no-show for last night"
  • "Send all servers a reminder that next Monday's meeting is at 3pm"

Before doing anything that changes the schedule, the AI will summarize what it's about to do and ask "Reply YES to confirm or NO to cancel." Common variations like "yes", "yep", "sure", "ok", "go ahead" all confirm; "no", "nope", "nah", "stop", "cancel" all cancel. If your reply is ambiguous (like "k"), it'll ask you to clarify instead of guessing.

➕ Adding shifts

Three ways to add shifts:

  1. Manual entry (Schedule tab → "Manual entry"): pick an employee, date, role, and times. Best for one-off shifts.
  2. CSV import (Schedule tab → "Import shifts" → CSV): drop a CSV exported from your existing scheduling tool. Map columns to date / employee / role / start / end. Preview before importing.
  3. Paste text (Schedule tab → "Import shifts" → Text): paste raw schedule text (anything readable — pasted from email, Slack, etc.) and the AI will extract shifts. Preview and edit before importing.
  4. Text our number: "Add Mike server Thursday 4pm-close" — fastest for last-minute adds.
👥 Employees — adding, opt-in, deactivation

Adding: Employees tab → "Add employee". Phone numbers must include the country code (e.g., +18135550123 in the US).

SMS opt-in: After you add an employee, they get a one-time consent message. They must reply YES once to opt in. Until they do, their row shows "Pending" — they won't receive coverage requests. Use the "Resend invite" button if needed.

Deactivate vs Delete: Deactivate keeps the employee's history (reliability score, past shifts) but removes them from scheduling and coverage rotation — best when someone leaves but might come back. Delete removes them permanently.

Active opted-in employees are the pool used for coverage offers, weekly reports, and bounty eligibility.

📣 Drafts & publishing the schedule

How it works: when you add or move a shift (dashboard or by SMS), the employee is NOT texted immediately. The shift is saved as a DRAFT (dashed border + "DRAFT" pill) and a 15-minute timer starts for that employee. Any further changes for the same employee inside that window reset the timer. Once the timer elapses with no new activity, the employee gets ONE consolidated SMS covering all of their unpublished upcoming shifts.

Sending sooner: click the green Publish (N) button in the Schedule header (it appears when drafts exist) to flush every pending draft right now. Or text the assistant "publish the schedule" — same effect with a YES/NO confirm. Either path cancels the 15-min auto-timer so you don't get a double-send.

Editing a published shift: if you change the date, time, or role on a shift the employee already knows about, an automatic update SMS is queued 15 minutes out. Successive edits inside that window reset the timer so the employee gets one final SMS reflecting the latest version. Need to send immediately? Open the shift and click Notify now.

Cancellations always text the affected employee right away (no debounce).

Bulk schedule entry: the CSV import and AI text-parse flows save shifts as drafts but do not start the per-employee auto-publish timer. The reason: when you're loading a full week or two at once, you almost always want to review the entire schedule before anyone sees it — accidentally texting 20 staff while you're still mid-edit is the worst case. Drafts from a bulk import will sit indefinitely until you click Publish in the Schedule header. The draft banner and Publish (N) badge make sure you don't forget.

🌴 Time off — vacation, PTO, sick days

What it does: mark an employee off for a range of dates. While the range is active, two protections kick in: (1) they will NOT be blasted for coverage requests, and (2) their reliability score will NOT be dinged for ignoring requests during that range.

From the dashboard: Employees tab → click Time off next to anyone. Pick a start and end date (use the same date for a single day), optionally add a reason (vacation, sick, etc.), then Add. Remove a range anytime to put them back in rotation.

By SMS: text things like "Sarah is on vacation next week", "Fred out Mon through Wed", or "Jane sick today". The assistant will confirm the dates with you in YES/NO format before saving.

Already-scheduled shifts: setting time off does NOT auto-cancel existing scheduled shifts in that range — the assistant will warn you if any exist so you can cancel them separately. Conversely, trying to add a new shift to a date the employee is off will be blocked; clear the time off first if you really want to schedule them.

Calendar view: the month calendar shows a small "🌴 N off" badge on days where one or more employees are out. Hover for names and reasons.

📞 Call-off flow — what happens when an employee can't make it

From the employee's perspective: they text our number something like "Can't work tomorrow" or "Can't make my Friday shift." The system identifies their next shift (or asks them to confirm the date if ambiguous), marks it open, and immediately starts looking for coverage.

What the system does next, automatically:

  1. Initial blast: all eligible same-role employees who don't have an overlapping shift get a coverage offer SMS.
  2. T+15 retry: if no one has accepted in 15 minutes, employees who haven't replied get a reminder.
  3. T+30 last chance: if still uncovered at 30 minutes, a final "LAST CHANCE" SMS goes out — optionally broadening to other roles if you've enabled that setting.
  4. T+60 manager alert: if no one's claimed it after an hour, you get an SMS so you can intervene manually.

Whoever replies YES first gets the shift. Everyone else is notified the shift is taken (the original employee is also notified that coverage was found). All other follow-up jobs are cancelled.

⭐ Reliability scores — how they work

Each employee starts at 100. Events adjust the score, weighted by recency (events older than 90 days count for less).

Event weights:

  • +5 — accepted an open shift
  • −10 — standard call-off
  • −20 — urgent call-off (during or just before the shift)
  • −8 — ignored 3 consecutive coverage offers (the "ignore streak")
  • −25 — no-show (you marked them as not showing up without notice)

Why it matters: the score gates bounty eligibility, surfaces problem employees in the Reliability tab, and the ignore-streak metric means chronic non-responders are blasted later in the rotation (not excluded — just deprioritized so engaged employees see offers first).

What it doesn't do: a manager-initiated cancel ("we don't need Sarah tonight, business is slow") does not affect the employee's score. Only employee-driven events do.

Voiding events at your discretion: click any employee row on the Reliability tab to open their full event history. Each negative event (call-off, urgent call-off, no-show, ignore streak) has a Void button. Use it for genuine emergencies (death in the family, accident, hospitalization) or when you've decided to extend grace. The voided event stays in the log with a strikethrough and a "VOIDED" badge — audit trail preserved — but its score impact disappears immediately. The score on every screen updates the moment you void. Change your mind later? The same button becomes Restore.

💰 Shift Bounty program

What it is: when you add a shift you can attach a bounty (free text, e.g., "Extra $20 cash" or "First pick of next week's schedule"). If the shift gets called off, eligible employees see the bounty in their coverage offer and have a short window to claim it before others see a standard (no-bounty) version.

Eligibility (all rules must pass):

  • Reliability score at or above your minimum
  • Hasn't called off within your cooling period (e.g., 7 days)
  • Hasn't already claimed more than your monthly cap

Window: eligible employees get the bounty version first. After the window expires, anyone else still eligible gets a standard request — the shift still gets filled.

Payout: manual on your end. Covermatic tracks who claimed and reminds them in their confirmation SMS; you handle the actual payment.

To configure: Settings tab → "Shift Bounty program" card. To disable entirely, untick the enable toggle.

📋 Activity log — colors and filters

The Activity log records every change to the schedule, whether it came from the dashboard or from an SMS interaction. Click any row to expand for full timestamp + user.

Color categories:

  • 🟢 Green — shift added or coverage found (good)
  • 🔴 Red — call-off or no-show (disruption)
  • 🔵 Blue — shift moved or staff reminder (routine admin)
  • 🟠 Orange — coverage blast sent (outreach in progress)

Filters: search by message text or username, narrow by category, by user (dashboard vs SMS-driven), or by time range.

Entries tagged "Covermatic (SMS)" came from texts to our number; entries tagged with your email came from the dashboard.

⚙️ Settings

Strike alert threshold: after this many call-offs in a rolling window, you'll receive a "high call-off rate" notification SMS to flag the employee. Default 3.

Notification email: where your weekly summary report is sent every Monday morning.

Contact all roles on last-chance retry: at the T+30 "LAST CHANCE" stage, broaden the blast to all opted-in employees regardless of role (e.g., a cook could cover a server shift if your operation allows it). Off by default.

Shift Bounty program: see the dedicated section above.

📧 Weekly report email

Every Monday morning we send the email address on your Settings tab a summary covering: shifts last week, coverage rate, call-offs by employee, no-shows, top contributors, and any employees flagged for low reliability.

If the report doesn't arrive, check your Settings tab — the email field must be populated. Check spam first.

❓ FAQ & troubleshooting

My employee says they're not getting texts. Check their row on the Employees tab — if it shows "Pending", they haven't opted in. Click "Resend invite" and have them reply YES to the consent message.

I sent a text to the AI and got "Something went wrong" / "That didn't go through". Just resend your message. We catch known intermittent errors and ask you to retry rather than failing silently. If it keeps happening on the same message, try rephrasing.

The AI replied with a weird time format or wrong date. Check the confirmation summary carefully before replying YES — if it spelled out the day and time and they're wrong, reply NO and try again with a clearer phrasing (e.g., "June 16 at 6pm" instead of "June 16pm").

How do I undo a YES that I shouldn't have confirmed? Use the dashboard to delete/edit the shift directly, or text our number with the correction (e.g., "Cancel the shift I just added for Sarah" or "Move that shift back to Friday").

I marked someone no-show but they did communicate. Open their row on the Reliability tab and click Void next to the no-show event. The score updates immediately and the event stays in the log (with a strikethrough) for audit. The −25 weight is steep; only use no-show for genuine no-call-no-shows.

An employee called off but I want to forgive it (emergency, etc.). Same place — Reliability tab → click their row → Void the call-off event. Restorable later if needed.

My trial expired and the system stopped responding. Contact us to convert your account. While inactive, no SMS will be sent or processed.

Can two managers share one account? The texting integration is tied to one manager phone per restaurant. The dashboard login can be shared, but only the registered phone can text the AI.

Still stuck? Reach out and we'll walk you through it.

Permanently delete employee?

This will remove and all their records from the system. This cannot be undone.

Consider Deactivate instead — it hides them from scheduling while preserving history and allowing re-hire.

View your restaurant schedule by day, 2-week rolling window, or monthly calendar. Click any day to see details. Use the Add Shift button to schedule employees.
Historical record of all shifts. View past, current, and upcoming assignments for your restaurant here.
Activity log tracks all changes made in this dashboard, including shift additions, deletions, employee changes, and status updates. Useful for auditing.
Manage your team roster. Add new employees, deactivate inactive staff, or remove them permanently. Active employees appear in the schedule and SMS coverage rotation.