# Command: morning-schedule-gap-fill

Send approved waitlist offers for open appointment slots today and deliver the fill report to the front desk.

## Inputs

- **{clinic_date}** — today's date; defaults to current date
- **{slot_type}** — appointment type to fill (e.g., "initial-exam", "follow-up")
- **{offer_template_id}** — approved template for waitlist contact (scheduling only, no clinical content)
- **{report_recipient}** — front desk staff email or task-board group

## Steps

1. Query available appointment slots for {clinic_date} by {slot_type} using opaque slot IDs.
2. Fetch approved waitlist candidates ranked by date-added, excluding opt-out flags and recent declines.
3. Match candidates to slots; send offers via {offer_template_id} with slot date/time only (no patient names or medical details).
4. Log all offers to audit trail (timestamp, slot ID, candidate ID, pending outcome).
5. Tally filled vs. remaining slots; draft report: count by type, send-success rate, remaining gaps.
6. Deliver report to {report_recipient} with task-board link; mark in-progress.

## Constraints

- Offers use only org-approved templates; no clinical guidance or medical content.
- Protected health information (PHI — names, dates of birth, medical conditions) stays in the practice management system; use opaque record IDs only in logs and updates.
- If send fails (unavailable channel, rejected template), escalate to Front Desk for manual review.

Done when: front desk receives the fill report showing today's open slots, offers sent, and remaining gaps by appointment type.