One-tap promotion composer for empty slots
When the Dashboard surfaces empty prime-time inventory, this is the surface that converts it into outbound. Pre-fills the slots, the audience, the channel, and the copy — operator reviews + sends.
- Audience — auto-segment suggestions (Premium members, recent bookers, churn-risk), or operator picks a custom list.
- Channel — email, SMS, or both; deliverability + opt-in counts shown upfront.
- Slots — multi-select from the open inventory; the message dynamically lists them.
- Copy — pre-written templates (flash offer, members-only first dibs, last-minute discount); operator edits inline.
- Discount — optional; pulls from the rate card (e.g. 25% off off-peak rate). Cap on per-customer redemptions.
- Reservation hold — slots stay open for the audience for a configurable window before reopening to public.
- Track outcomes — opens, clicks, bookings driven; feeds back into Caddie's audience-quality model.
Backend wiring pending. POST /messaging/campaigns/promote creates the campaign + holds the slots.