Cancel booking outside of subscription coverage
a
alexandra papavramidi
Feature request: Auto-cancel future bookings when subscription ends
Current behavior (as confirmed by support)
A customer with an active subscription can book events.
If they cancel the subscription afterwards, any bookings already made remain confirmed.
The prepaid package/subscription only controls the ability to book, not the removal of future bookings.
Requested behavior
When a customer’s subscription for a specific product/package ends (canceled or expires), all future bookings linked to that subscription should be automatically canceled.
Detailed requirement
Trigger
Event: subscription status changes to canceled, expired, or payment failed (not recovered).
This should work ideally through:
Native app logic or
Integration with Shopify Flow webhook/events (when available to apps like yours).
Scope of cancellation
Find all upcoming bookings for that customer that:
Are associated with the subscription/package that just ended, and
Have a start date on or after the subscription end date (or cancellation effective date).
Those bookings should be:
Marked as canceled in Easy Appointment Booking, and
Freed up in the calendar.
What should not happen
Past bookings are untouched.
Bookings that occur before the subscription end date stay valid.
Optional but very useful
Send an automatic email notification to:
The customer: list of bookings that were canceled because the subscription ended.
The merchant/admin: summary of which customer and how many sessions were canceled.
Ideally expose a setting in the app:
Toggle: Auto-cancel future bookings when subscription ends: ON/OFF.
Example scenario (same as I explained in chat)
Client subscribes on 1st of the month.
On 25th, they book a session on 15th of next month.
Then they cancel their subscription.
Current behavior:
The booking on the 15th of next month stays confirmed.
Requested behavior:
When the subscription is canceled/ends, the system automatically finds that 15th booking and cancels it, because it falls after the subscription end date.