Journey Overview
Preconditions
- Member has/had an active membership
- Membership is within renewal window or expired within grace period
- Member has valid payment method (or will provide one)
Journey Flow
Detailed Steps
Automatic Renewal (Subscription Model)
1
Pre-Renewal Notification
System sends reminder 7 days before renewal:Email Contents:
- Upcoming renewal date
- Amount to be charged
- Payment method on file (last 4 digits)
- Link to update payment method
- Link to cancel/change plan
2
Automatic Charge
On renewal date, system:
- Creates Stripe invoice
- Attempts charge on default payment method
- If successful → extends membership
- If failed → enters retry logic
3
Confirmation
On successful renewal:
- Membership extended by plan period (monthly/annual)
- Invoice generated and sent
- Dashboard shows new expiry date
- No action required from member
Manual Renewal (Non-Subscription Model)
1
Renewal Reminder Sequence
System sends multiple reminders:
2
Member Initiates Renewal
Member clicks renewal link or navigates to membership page:
- Current plan details displayed
- Expiry date highlighted
- “Renew Now” button prominent
- Option to change plans shown
3
Review Renewal Options
Member reviews available options:Same Plan:
- One-click renewal
- Same price (or updated if prices changed)
- Any loyalty discounts applied
- Compare available plans
- Select upgrade or downgrade
- Price difference shown
4
Complete Payment
Same flow as initial purchase:
- Apply promo code (if available)
- Select payment method
- Complete Stripe checkout
- Receive confirmation
5
Membership Extended
On successful payment:
- New expiry date calculated from:
- Current expiry (if within renewal window)
- Today (if expired)
- Access restored/maintained
- Welcome back email sent (if was expired)
Renewal Timeline
Grace Period Handling
Organizations can configure a grace period after expiry:
Limited Access during Grace Period:
- Can view dashboard
- Can view past content
- Cannot register for new events
- Cannot access premium resources
- Prominent renewal banner displayed
Renewal Pricing
Early Renewal
Members can renew early (before renewal window):- New period added to existing period
- No loss of paid time
- Useful for locking in current prices
- May earn loyalty bonus
Related Entities
Related Journeys
Acceptance Criteria
Frontend
- Renewal status banner on dashboard
- Membership page shows expiry countdown
- One-click renewal for same plan
- Plan change option during renewal
- Payment method update flow
- Grace period limited access UI
- Renewal confirmation page
Backend
-
GET /api/membership/renewal-status- Check renewal eligibility -
POST /api/membership/renew- Process renewal -
PUT /api/membership/auto-renew- Toggle auto-renewal - Scheduled job for renewal reminders
- Scheduled job for automatic renewals
- Grace period access control
Permissions
- Member can only renew their own membership
Business Rules
- Renewal window configurable (default 30 days)
- Grace period configurable (default 14 days)
- Early renewal extends from current expiry
- Expired renewal extends from today
- Loyalty discounts based on continuous membership years
Error Handling
- Payment failure triggers retry sequence
- Failed auto-renewal notifies member
- Support notification for repeated failures