Bubble Seat Licenses for Schools

Hi All,

I sell to schools and it’s normal for the price to only include a certain number of seats. Is there a way I can limit the amount of seats (users) for a school? Say for example only 200 students are able to log in based on the tier the school purchased. Is there a way to restrict any other students from logging in?

What might be a workaround to accomplish this?

Thanks

I’ll assume @ajmeri368292’s ChatGPT answer won’t help.

You should have a Billing Account data type. This handles all billing data associated with a User. In the case of a school, multiple users will share the same Billing Account.

Each user also has a School Field (or it may be User’s Billing Account’s School). Your Billing Account data type should have numberPermitted and numberActive number fields.

Set up a backend trigger such that whenever a user’s School changes, the Billing Account’s numberActive increases/decreases by one. When numberActive >= numberPermitted, stop the user logging in/accessing the relevant feature/product.

There are two alternative approaches. I’ll explain them briefly and why I don’t like them:

  1. Do a search for Users (School = X):count (how many users are part of this school) - this requires running a search every time, which is slow, and possibly inefficient as this number won’t change very often
  2. List of Users on Billing Account or School data type. This is inefficient as the list could in theory be very large, meaning it would not be performant.
5 Likes

Very helpful. I will explore the Billing Account data type option.