How to Build a Class Package Without Tracking It by Hand

A class package is a set number of classes your student pays for upfront and spends as she books them. It works when every booking deducts exactly one, and she can see how many she has left without asking you.

Paola runs a pilates studio in Hermosillo with six reformers. She used to sell her eight-class package in cash and track it on a sheet taped up at the front desk, one checkmark per class. One Monday, a student told her she had three classes left. The sheet said one. Neither of them could prove it, and Paola let her keep the three rather than risk losing her.

That happens to any studio that sells classes upfront. The student didn’t lie, and neither did the sheet. The count lived in three places at once, and none of them was the one that mattered.

What is a class package, and why does the count fall apart?

A class package is a fixed number of classes your student pays for upfront and spends each time she comes in. It works for her because each class costs less, and it works for you because you get paid before you deliver the service.

It falls apart because no one is keeping a single count. You have the sheet, your student has her memory, and the chat has all the “can you save me a spot Thursday?” messages. All it takes is one class booked over WhatsApp that nobody checked off, or checked off twice, and the three versions stop matching.

How many classes should each package include?

Three options are almost always enough: a single class, a small package, and a large one — say, 1, 5, and 10 classes. More options confuse people, and fewer leave nothing to compare against.

What makes them sell is that the difference shows up in pesos. A round-number example:

  • Single class: $180.
  • 5-class package: $800, which works out to $160 per class.
  • 10-class package: $1,500, which works out to $150 per class.

Write the per-class price right next to the total. Your student isn’t going to do the division herself, and “$150 a class” is more convincing than “$1,500.” The numbers are yours to set; what matters is that each tier brings the per-class price down a bit without making the single class look silly, because that’s the one that wins over people who don’t know you yet.

What rules do you write before you sell it?

Three: whether the package expires, what happens when someone cancels or doesn’t show, and whether it can be shared. Write them before you set a price, because almost every package dispute comes down to a rule nobody ever wrote down.

Paola’s ended up like this, in the description of each package:

“Classes don’t expire. A class is used up when you book your spot, whether you show up or not. The package is personal.”

None of these is the “right” answer. Some studios set a two-month expiration to keep people coming back regularly, and others let the package be shared with a mom or a partner. What can’t happen is the rule showing up for the first time in the middle of an argument, with the student standing at the door.

How does your website keep count?

By deducting one class every time your student books her spot, at that exact moment, and showing her the balance on her own account. That way there’s no longer three versions of the count — just one.

Paola described it like this in Proyecta: “a website for my pilates studio in Hermosillo, with a class schedule, six spots per class, single classes, and packages of 5 and 10 classes, with card payment.” What came out was a published site with its own link, plus a console to run it from.

In the console, packages live in a section called Credit Packages. Each one has a name, a price, how many credits it includes (how many classes), what those credits can be used for — classes or appointments — and a description, which is where your three rules go.

On your student’s side, this is what happens:

  1. She buys the package by card from the website, and the classes get loaded onto her account.
  2. She picks the class and the date. She sees how many spots are left, books, and gets a “Spot reserved” confirmation. That’s the moment one class gets deducted.
  3. In her account, next to her bookings, she sees “Available credits” with a number — for example, “Classes: 7.” She no longer has to ask you.
  4. If she runs out, trying to book gets her “You have no classes available. Buy a package first.”

You, on the Classes tab, pick the class and the date and see the list of who’s signed up. That list replaces the sheet at the front desk.

What happens if a student cancels?

The spot opens up for someone else, but the class isn’t refunded to her. Right now, the website deducts the class when she books and doesn’t return the credit when a booking is cancelled.

That’s why Paola’s rule says “a class is used up when you book”: it’s exactly what her website does, and the student reads it before she pays. If you’d rather forgive cancellations made with enough notice, you can — but today that exception is something you handle yourself, outside the website’s own count.

The same goes for expiration. The website doesn’t put an expiration date on credits, so “classes don’t expire” is the rule that enforces itself. If you’d rather set a two-month expiration, you can write it down, but you’re the one who has to enforce it.

A rule your website already enforces on its own never gets argued about. One that depends on you is right back to being the sheet at the front desk.

Before you set a price

Write down your class package’s three rules today, one per line. Then read them to the student you’ve had the hardest time squaring accounts with, and ask her what she understood. Whatever she tells you that’s different from what you meant to say is what’s missing from the text.

Once you have them, describe your studio in Proyecta — your schedule, your spots, your packages, and those three rules — and publish it. It’s at proyecta.dev.