Campaign delivery lists and correction drafts
Open **Marketing → Campaigns → Delivery details** to see who was sent each email or SMS, including when a campaign stopped partway through. Each channel shows sent, delivered, failed, skipped, pending or uncertain. Sent means the provider accepted the message; delivered appears when confirmed.
Open **Marketing → Campaigns → Delivery details** to see who was sent each email or SMS, including when a campaign stopped partway through. Each channel shows sent, delivered, failed, skipped, pending or uncertain. Sent means the provider accepted the message; delivered appears when confirmed. Select named recipients or everyone confirmed sent to prepare an apology or correction. Choose email, SMS or both, then save a new draft. The list stays fixed, and you can edit the message before sending. Unsubscribe and consent checks still apply when delivery starts. Uncertain original messages are never automatically resent. Purchase audience rules now have custom **from/to dates** and choices for appointment services, products, passes, private sessions, gifts, courses, workshops, packages and room rentals. Promo codes have their own history filters. The available choices follow your venue type, including venues that only offer appointments. **Purchase-history targeting remains unavailable under the current marketing policy.** You can save the rules in a draft, but the audience size and delivery stay blocked until the required purpose and source authority is established. The screen states this explicitly. Saved flash-sale audience filters stay intact when you edit other details. If publishing returns a conflicting attempt, the original request remains available for review and retry. In the Business app companion release, campaign delivery links open these web details; advanced correction authoring remains on the web. For integrations, the staff-only `GET /api/v1/admin/marketing/eligibility-options` endpoint returns the venue's available selections. Audience previews now return a nullable count and a policy result; an unavailable count must stay unavailable in the client.
Recurring checkout confirmation follows the completed payment
Membership checkouts now recognize a payment already completed by the payment webhook even when Stripe omits the invoice link from its PaymentIntent response.