Memberships
A membership that renews, one that runs for a fixed time and stops, and what the app can and cannot know about renewals.
A product becomes a membership when you give it a Membership type. While someone’s membership is running they book without spending a credit, up to one booking per location per day, or up to the sessions per week you set.
Two fields do the work:
| Field on the product | What it means |
|---|---|
| Membership type | The name of the membership. Anything non-blank makes the product a membership. Customers and staff see it. |
| Membership length (days) | How many days of access one payment buys. 7 for weekly, 30 for monthly. Blank means 7. |
The rule everything rests on
The plan’s billing interval and the membership length must be the same number of days.
Repose does not read your subscription’s billing schedule to decide who can book. It reads the membership length and extends the member’s access by that many days every time a payment arrives. So:
- Bills every 30 days, length 7: members lose access after a week and get it back when they pay again.
- Bills every 7 days, length 30: members keep access for three weeks after they stop paying.
There is a third effect that looks like a bug. Once someone is past the time their last payment covered, the Memberships page says “renewal not seen”. On a mismatched offer, every member reads that way, all the time, even though every payment went through. The list is right; the offer is wrong.
The Offers page checks the two numbers on every load and warns on the offer’s row when they disagree by more than three days. A few days of slack is deliberate: a monthly plan is 30 or 31 days.
One payment option per membership product
A membership product with two subscription options, weekly and monthly on the same product, cannot match both. Whichever a customer picks, they get the same number of days. The Offers page will not print a price for such a product and says why. Sell each option as its own product.
A membership that renews
An ordinary product with a Shopify subscription plan on it.
- Create the product in Shopify.
- Put a subscription plan on it: Products → the product → Purchase options. The free Shopify Subscriptions app does this, as does any subscriptions app you already use.
- Set Membership type, for example
Unlimited. - Set Membership length (days) to the plan’s billing interval. Weekly plan: 7. Monthly: 30.
The customer sees “Your membership renews weekly. It covers bookings through Tue 22 Sep.” Staff see “Renews weekly” with the date on the Memberships page.
A membership that runs for a fixed time and stops
An ordinary one-time product, no subscription plan.
- Create the product with its full price.
- Set Membership type, for example
6 month pass. - Set Membership length (days) to the days it covers. Six months: 182. A year: 365.
The customer sees “Your membership runs until Sat 18 Sep 2027. It does not renew on its own.” In the last two weeks it also says how many days are left, followed by your own sentence about what to do next, which is a setting on the booking block.
These customers are never told a renewal is coming. Someone can buy one more than once; the days add on to the end of what they have.
A membership with a limited number of sessions a week
Set Sessions per week on the product. The week runs Monday to Sunday in the location’s time. A third booking in a two-a-week membership is refused with a message that says why and how to free a place by cancelling one.
Step pricing
A membership that costs one price for the first stretch of payments and another after that is one Shopify selling plan with two pricing policies. The Offers page reads the plan and prints it, for example “USD 39.00 a week for the first 26 weeks, then USD 59.00 a week. Minimum 52 weeks.” If it cannot read the shape exactly, it says so rather than showing half.
Whether your subscriptions app can create that shape depends on the app. The plan itself is Shopify’s, and any app that exposes the full selling plan fields can build it.
What the app can know about renewals
Repose cannot see whether a subscription has been cancelled. Subscription contracts are readable only by the app that created them, which is your subscriptions app. Orders are the only signal, so the app records what each paid order said and works out the rest from the calendar:
- An order on a plan means the membership repeats.
- An order with no plan means it was bought once.
- An order the app could not read fully means “not known yet”, and that is never spoken as a promise either way.
When someone’s paid time runs out and no new order has arrived, the app stops saying it renews and starts saying “we have not seen your renewal yet”. That is true of a card being retried and of a subscription cancelled last week alike.
For one billing cycle after the last payment, someone who has cancelled is still told their membership renews. The Mark as not renewing button on the Memberships page is for that. It stops the promise. It does not take away access they have paid for, and the confirmation says so. It can be undone, which hands the row back to whatever the orders say.
The Memberships page
Everyone who holds a membership, which type, whether it renews and the date they are covered to, soonest first, with tabs for those running out. Use it to ring members before they are turned away at the door.
What Repose never does
- Create, edit, pause or cancel a subscription plan or a subscription.
- Charge anyone for a membership. Shopify does.
- Tell a member something it does not know.