Price memberships by how much of the space people use, not just all-or-nothing access. A plan can cap visits, bookings and booked hours, each unlimited or a set number, with the allowance resetting every month or every week. Sell one-time passes for visitors, and let members top up when they need more.
This lets you build a plan ladder like "3 visits a month" up to "25 visits a month", offer day passes and punch cards, and keep heavy use of shared tools fair.
What's built so far
* Usage limits on plans. Set a visit, booking and booked-hour limit per plan, reset monthly or weekly. Plan cards and checkout show members exactly what they get.
* Check-in. Staff can check members in from the admin side, and members can check themselves in by scanning a QR code at the door. Each member counts as one visit per day, however they arrive.
* Limits enforced. A member who has used their whole visit allowance is blocked until it resets, and is told by email.
* Plans that cover specific places. A plan can cover the whole space or only chosen workspaces and equipment.
* Add-ons. Offer extras (more places or more usage) that members pick at signup and pay for on the same bill.
* Passes. Create one-time passes, give them to people, or let visitors buy one. A pass ends when it's used up or expires, and the holder is told.
* Plan changes bill correctly, with downgrades taking effect at the next billing period.
What's next
* Members see how many visits they have left and get a warning before they run out.
* Top-ups: members buy extra visits or hours when they hit their limit, and staff can adjust an allowance by hand.
* Members add and remove add-ons themselves, and add-ons carry over when they change plans, with a clear plan-change dialog that shows the price before confirming.
* Booking limits enforced, with the booking panel showing what's left of the allowance.
* Door access: active members get standing door access, and door unlocks (starting with OpenPath) count as visits automatically.
* A utilization report showing how members actually use the space.
Upvote or comment if there's a piece of this you need first.