Skip to content

Class Packs, Drop-Ins, One-Time: Mixing Pricing Models

There is a quiet assumption in most "go recurring" advice: that your business is supposed to be 100 percent recurring. Every customer on autopay. Every dollar predictable. Nothing else.

That assumption is wrong for most real service businesses.

A yoga studio sells unlimited monthly memberships, but it also sells 10-class packs to the customer who can only make it a few times a month, drop-ins to tourists, and one-time workshops. A mobile detailer sells monthly wash plans, but also sells 6-detail packs for the customer who wants to budget ahead, drop-in single details, and one-time ceramic-coating jobs. A dog trainer sells weekly recurring sessions, but also packs of 8 sessions, single-session evaluations, and one-time board-and-train weeks.

This is the normal shape of a real service business: recurring at the core, with a few other pricing models around it that catch the customers who do not fit a monthly plan.

This post is the framework for what to use when. Ruunly supports all four pricing models out of the box — recurring, class_pack, drop_in, and one_time — and the choice of which to use is one of the most under-discussed decisions in service-business pricing.

The four plan types in plain English

Before the use cases, here is what each one means in the Ruunly plan-builder. These are the actual plan_type values in the system, and each one behaves differently for the customer and for billing.

Recurring: The classic monthly or weekly membership. Customer signs up once, picks a billing interval (week, month, or year), and is charged automatically on that interval until they cancel or pause. This is the autopay model.

Class Pack: A bundle of sessions sold as a single purchase. Customer pays once, gets a defined number of units (e.g., 10 classes, 6 detail visits, 8 training sessions). Units count down as the customer uses them. When the pack runs out, the customer can buy another one — or sometimes the system auto-suggests a recurring plan as an upgrade.

Drop-In: Pay-per-visit. The customer is not on a plan. They show up, pay the visit price, and leave. This is the highest per-visit price point and the lowest commitment level, both for the customer and for you.

One-Time: A single fixed-price purchase for a defined scope. Not recurring, not unit-based. The customer buys it once. Examples: a deep clean, a ceramic coating, a board-and-train week, a year-end deep tax cleanup.

Four models. Each one solves a different customer problem. The strongest service businesses use all four.

When to use recurring (the default for regulars)

Recurring is your default for any customer who uses your service on a predictable cadence and trusts you enough to put a card on file.

Lawn care: Weekly mow membership, biweekly mow membership, full landscape plan.

Cleaning: Weekly, biweekly, or monthly recurring cleans.

Pool service: Weekly pool maintenance membership.

Yoga or fitness: Unlimited monthly membership.

Pet services: Weekly dog walking, monthly grooming.

The math on why this is the default: autopay customers stay 1.5 to 3 times longer than equivalent customers on per-visit billing across most consumer service categories, and you collect cash on Stripe's standard payout schedule (typically 2 business days) instead of waiting 20 to 30 days for an invoice to clear. (Stripe payout schedules)

In Ruunly, you build a recurring plan by picking the "Recurring" type in the plan-builder, setting a billing interval (week, month, or year), entering a price in dollars, and listing the features the customer gets. The plan goes live on your website immediately and connects to your Stripe Connect account for autopay.

When to use a class pack (the commitment-without-the-subscription customer)

Class packs solve a specific customer objection: "I want to use your service regularly, but I do not want to be on a recurring charge."

The customer who buys a 10-class pack is telling you something useful. They like your service. They expect to use it. They just do not want the open-ended commitment of a subscription. For some customers — older, more cautious, burned by past auto-renewals — a class pack is the only way they will buy in volume.

Yoga studio: 10-class pack for $200, 20-class pack for $360.

Mobile detailing: 6-wash pack for $480 ($80 per wash, slight discount from the drop-in rate).

Dog training: 8-session pack for $720.

Personal training: 12-session pack for $960.

Music lessons: 10-lesson pack for $500.

The math on class packs is interesting. The per-unit price is typically 5 to 15 percent below the drop-in rate, but the customer commits to all the units upfront. You get the cash now. They use the service over the next few months. Your effective hourly on a 10-class pack customer can actually be higher than on a recurring customer if the pack expires unused — and a non-trivial percentage of packs always do. Industry benchmarks for fitness studios consistently show pack-utilization rates in the 70 to 85 percent range, meaning 15 to 30 percent of paid units never get used. (IHRSA fitness industry research)

In Ruunly, you build a class pack by picking the "Class Pack" type in the plan-builder, setting the total units, and setting the pack price. The system tracks units remaining for each customer and shows them in the customer portal. When a customer runs out, they get a prompt to buy another pack or move to a recurring plan.

The class pack is also a soft upsell path to recurring. After a customer burns through two or three packs, the conversation "hey, you'd save 20 percent moving to the monthly unlimited" lands very differently than it would to a brand-new customer.

When to use drop-in (the test customer and the tourist)

Drop-in is the highest-friction, lowest-commitment option, and you should be using it more than you probably are.

The drop-in price exists for two customers. First, the test customer — someone who wants to try your service once before committing to anything. Second, the occasional user — the tourist who is in town for a weekend, the visitor who needs a one-time clean, the prospect who wants to see the detail you do on a single car.

The drop-in price should be your highest per-unit price. That is the whole point. It is the price that makes the class pack and the recurring plan look like obvious value.

Yoga: $25 drop-in. (Compare to $20 per class on a 10-pack and $15 per class on unlimited monthly.)

Mobile detail: $95 drop-in single wash. (Compare to $80 per wash on a 6-pack and $65 per wash on monthly.)

Dog training: $110 drop-in single session. (Compare to $90 per session on an 8-pack.)

Cleaning: A "first-time clean" or "one-time deep clean" at the premium price point.

The math: drop-ins generate the highest gross margin per visit, but they are the worst customer-acquisition cost recovery because the customer might never come back. You want drop-in to exist as an entry point and a pricing anchor, but you do not want most of your revenue coming from drop-in. If more than 30 percent of your visits are drop-in, your marketing is bringing in the wrong kind of customer.

In Ruunly, you build a drop-in by picking the "Drop-In" type and setting the per-visit price. The customer pays for one visit at a time through Stripe checkout. There is no card on file, no recurring charge, no commitment.

When to use one-time (the project, the seasonal job, the upsell)

One-time is for any clearly-scoped piece of work that has a beginning and an end and is not naturally recurring.

Lawn care: Spring cleanup, fall cleanup, sod install, mulch refresh.

Cleaning: Move-out clean, post-construction clean, deep seasonal clean.

Detailing: Ceramic coating, paint correction, headlight restoration.

Pool: Green-to-clean recovery, filter replacement, salt cell install.

Training: Board-and-train week, intensive workshop.

One-time is also where you put your add-on services that exist alongside a recurring plan. A customer on a monthly cleaning plan who wants a one-time deep clean does not need to change their plan — they buy a one-time service on top.

In Ruunly, one-time is set up the same way as the other plan types in the builder, just with "One-Time" selected as the plan type. The customer buys it once through Stripe checkout. There is no recurring charge and no unit tracking. It is a single, defined purchase.

The math: one-time work is usually the highest-dollar single transaction in your business, and it is also the work that gets the most word-of-mouth. A ceramic coating, a post-construction clean, a sod install — these are projects the customer talks about. Price them well, scope them carefully, and treat the resulting referral as the second product you sold.

A realistic mix for three different verticals

Here is what a healthy product mix looks like for three different solo service businesses.

Solo lawn-care operator with 20 customers in southwest Florida:

  • Recurring: 14 customers on weekly or biweekly mow memberships. About $3,400 MRR.
  • One-Time: 8 to 12 spring and fall cleanups a year, plus occasional mulch and sod jobs. About $5,000 to $8,000 annual revenue.
  • Drop-In: Rare — maybe 4 to 6 one-time mows a year for new prospects who want to try the service.
  • Class Pack: Not used. Lawn care does not naturally fit a unit-based model.

Mobile detailer with 35 customers across two counties:

  • Recurring: 18 customers on monthly wash plans. About $2,500 MRR.
  • Class Pack: 8 customers on 6-wash packs. About $3,800 in quarterly revenue.
  • Drop-In: Steady stream of single-wash bookings from the website. About $2,400 monthly.
  • One-Time: 2 to 4 ceramic coating jobs a year at $1,500 to $3,000 each. About $8,000 annual revenue.

Boutique yoga studio with 200 members:

  • Recurring: 120 on unlimited monthly memberships. About $15,000 MRR.
  • Class Pack: 50 on 10-class or 20-class packs. About $4,000 monthly pack revenue.
  • Drop-In: 30 drop-ins a week from tourists and visitors. About $3,000 monthly.
  • One-Time: 4 to 6 workshops a year at $45 to $80 per ticket. About $8,000 annual workshop revenue.

In each case, recurring is the biggest single revenue line — but it is not the only line. The mix is what makes the business resilient. If you only sold one model, you would lose every customer who doesn't fit that model.

Why "membership only" is the wrong framing

A lot of recurring-billing pitches make it sound like you should put every customer on a monthly plan. That works for some categories. It does not work for most.

The reality is that real service businesses have a mix:

  • Regulars on recurring (predictable revenue)
  • Semi-regulars on class packs (commitment without subscription)
  • Occasionals on drop-in (testing or single-use)
  • Projects on one-time (scope-based work)

The mix is the strategy. Each plan type catches a customer who would not have bought a different plan type. The yoga studio that refuses to sell anything except monthly memberships loses the tourist who would have paid $25 for a drop-in. The mobile detailer who only sells ceramic coatings misses the monthly wash customer who would have paid $89 a month for the next three years.

What you want is a price ladder. Drop-in at the top (highest per-unit price, lowest commitment). Class pack in the middle (medium per-unit price, medium commitment). Recurring at the bottom (lowest per-unit price, highest commitment). One-time off to the side (separate from the ladder entirely, used for scope-based work).

The price ladder lets each customer self-select into the offer that fits them. Some will land on recurring. Some will land on class packs. Some will only ever buy drop-in. All of those are valid revenue.

How Ruunly handles the mix

The reason this matters in software is that not every billing platform supports all four models gracefully.

Some platforms only do recurring subscriptions. Some only do one-time invoices. Some have class-pack support but call it something weird, or require a separate product per pack size. Some support drop-in only as a guest checkout that does not get attached to a customer record.

Ruunly's plan-builder treats all four as first-class plan types. You pick the type when you create the plan. The form changes to show only the relevant fields (interval and trial days for recurring, total units for class packs, per-visit price for drop-in, single price for one-time). The plan goes live on your website with the correct checkout flow for its type.

The customer-facing checkout adapts too: a recurring plan shows the monthly cost and the cancel-anytime language, a class pack shows the unit count and the per-unit value, a drop-in shows the per-visit price, a one-time shows the single fixed price. Every plan type runs through your own Stripe Connect account on the same payout schedule.

For operators coming from a single-model platform — a pure subscription tool, or a pure invoicing tool — having all four available out of the box is the difference between forcing customers into the wrong model and letting them self-select.

What to actually do this week

If you are running a service business today and you only have one pricing model in your offer, here is the move.

  1. Identify the customer you are turning away. Not the customer you are serving. The customer who hesitates, books once, and never comes back. What model would have caught them?
  2. Add one new plan type to your offer. If you only have recurring, add a class pack. If you only have one-time, add a recurring option. If you only have drop-in, add a class pack to capture commitment.
  3. Make the new model visible on your website. Same page as the other plans. Same checkout. Same payout.
  4. Watch the mix for 60 days. You will be surprised which model gets traction.

The point is not to have every model for the sake of having every model. The point is to stop losing the customer who would have bought from you if you had given them the right buying option.

If you want to see how this plays out in different verticals, look at /for/lawn-care, /for/cleaning, and /for/pool-service. For how Ruunly compares to platforms that only handle one or two of these models, see /compare/jobber and /compare/housecallpro. When you are ready to set up your own mix, /pricing is the starting point.

The membership wedge is the right entry point — but it is not the whole business. Build the mix.

Class Packs, Drop-Ins, One-Time: Mixing Pricing Models | Ruunly Blog