Packages & passes

A package is a block of work paid for up front — six grooms, ten walks, a block of visits or lessons — usually at a small discount for the commitment.

It pays for the services you choose

When you create a package you say which of your services it covers, and appointments for those services come out of the balance instead of being invoiced again. If you run one service there is nothing to pick. If you run several, a package can cover one of them, some of them, or all of them — so a business doing grooming and walking can sell a groom block and a walk block that do not spend each other.

Set one up under Bookings → Packages: how many credits, what it costs, and how long it lasts. Sell it to a client and an up-front invoice is raised; the credits become available once that invoice is paid, and until then the package shows on their account as awaiting payment.

As bookings are completed, credits are drawn down automatically, so nobody has to remember where a customer is up to. When they are running low both you and they are told, which is the moment to sell the next one.

Expiry is optional but worth setting: an open-ended pass bought two years ago is awkward to argue about later.

Example

A groomer sells a block of six full grooms. Each groom that is completed comes off the balance instead of generating an invoice, the customer is emailed when two are left, and nobody counts them off on paper.

FAQ

My customer app is offering a package for a trade I do not run.
Fixed in 2.739.0. A groomer’s Packages screen was offering a 10 Walk Pass and 5 One-to-One Sessions, priced, with a Buy button — and worse, listing every grooming treatment underneath as though a credit could be spent on them. It could not: those packages cover walking and training services, and a groomer has none, so the credits could never have been redeemed against a single booking. The customer app now only offers a package this business can actually honour, and the demo data only creates packages for the trades your copy runs.

I stopped offering a service — what happens to a package that covered it?
It stops being offered for sale, because there is nothing left to spend it on. Existing balances are untouched: credits already bought stay on the customer’s account and on their statement, and you can still charge for a visit as normal. If you want the package back, edit it and tick the services it should cover now.

Does the Packages tab disappear if I am not selling any?
No — from 2.740.0 it is always there, and the screen says there are no packages on sale at the moment with a line explaining what a package is. A bottom bar people learn by position should not change shape under them, and a customer who bought a pass last year should be able to go looking for it in the place it has always been. Briefly, in 2.739.1, the tab was hidden when there was nothing to show; that was the wrong call and lasted about an hour.

The Packages tab is not there at all on my customer app.
Packages are a Pro feature. If your copy does not have the Pro add-on installed there is no packages system to show, so the tab is absent rather than empty — a tab advertising an add-on you have not bought would be shown to your customers rather than to you, which is the wrong audience for that conversation.

A package said it covered every treatment and then would not pay for any of them.
That was a real fault, fixed in 2.739.0, and it is worth knowing whether it bit you. A package that named services which no longer exist on your site was described to the customer as covering everything — the screen fell back to listing all your services when it could not find the package’s own. It now says nothing rather than something untrue, and the package is not offered for sale at all. If a customer bought one on that basis, the credits are still on their account; ring them, and either point the package at the right services or refund it.

What happens when the credits run out?
The next booking is invoiced as normal. Nothing is blocked — you would rather the dog was walked than the booking refused.

Can a customer buy a package themselves?
Yes — there is a Packages tab in the customer app and portal showing what they hold and what they can buy, and anything you have marked as on sale appears there. You can also sell one yourself from the client’s record with Sell & raise invoice. Either way an invoice is raised up front and the credits sit on their account.

Is a customer asked whether to use a credit when they book?
Yes — on the Check and confirm step of the app or portal booking, above the total. It names the package, shows the balance now and what is left after, and offers use a credit or pay for this one. Nothing is pre-selected and Request booking waits until they answer. Before 2.602.0 the question was drawn into a part of the form the wizard hides, so it never appeared and, worse, stopped the booking being sent at all.

Does the invoice show that a package paid for the visit?
Yes, from 2.607.0. The invoice lists the visit at its full price and then the credit against it — Package credit — 6 Grooms as a minus line, named after the package the customer bought — and the total is what is actually owed. Before that a covered visit showed only the add-ons, so a £12 bill for a £136.80 groom said nothing about where the rest had gone. Where you are VAT registered the tax is worked out on the amount after the credit.

The customer has two packages that both cover the treatment — which one is used?
Whichever they choose. From 2.608.0 the booking screen, the New appointment wizard and the customer app all ask, and every option shows the package, how many credits are free on it and its expiry date — “6 Grooms — 4 left, use by 1 May 2027”. The one expiring soonest is offered first and is what happens if nobody expresses a preference. The credit comes off the package that was picked, and a cancellation puts it back on the same one. With one package there is nothing to choose and the screen just says which it is.

What do the “in” lines on the statement mean?
A credit came back. There are three reasons and the line says which: charged instead — somebody chose to charge for that visit and keep the credit; booking cancelled by the customer; or booking cancelled where you cancelled it. Before 2.611.0 all three read “charged instead”, so a cancellation looked like a billing decision. Lines written before that release keep the wording they were given.

Does the statement show bookings that have not happened yet?
Yes, from 2.612.0 — underneath the balance, headed Booked in — not taken yet, the way a bank shows pending transactions. Each line says whether the visit is confirmed or still a request, and a closing line gives what will be left once they are done. Those credits have not left the balance: they are spent when the visit is completed and invoiced, at which point the line moves up into the statement proper.

How do I read the statement under a package?
Like a bank statement. It opens on the package being bought, then a line for each thing that happened — a credit going out when a visit is done and invoiced, or coming back in when a booking is cancelled or charged instead — and the Left column is how many credits remained after that line. The last line is the figure at the top of the card. The bar above it is one cell per credit: spent, booked in, and free, with a key naming the three.

The usage list under a package does not match the numbers above it.
Fixed in 2.609.0. It used to be headed “3 uses” and list everything that had happened to the balance — including credits going back when a booking was cancelled or charged instead — so a package showing 1 used listed three things. Each line now says −1 used or +1 returned and carries the balance after it, and the heading leads with the used figure. The last line lands on the number at the top of the card.

When does a credit actually come off the balance?
When the visit has been done and invoiced — not when it is booked. From 2.606.0 a booking sets aside a credit rather than taking it, and the balance shows both: “6 left · 2 booked in”, with what is left once those visits have happened. A credit set aside cannot be given to a second booking, and cancelling a booking that never spent its credit gives nothing back — nothing had been taken. If you would rather a credit went the moment a visit is in the diary, set draw down when to Booked.

Where can the customer see that a credit was used?
On the booking itself, in the app or portal. It shows what the visit is worth, Package credit −£50.00 and To pay, so a credit already spent is never mistaken for money still owed. Any deposit is worked out on what is left to pay rather than on the full price — that changed in 2.603.0; bookings taken before it keep the deposit they were given.

If I delete the invoice for a package, does the package go too?
Yes, from 2.602.0. Deleting or binning the invoice removes the credits it paid for, the same way deleting an invoice already frees the bookings on it. Credits already spent are kept — they paid for work that happened — and the balance records that the rest were withdrawn. Balances left behind by an invoice deleted before 2.602.0 are cleared up automatically.

A customer has ended up with two or three of the same package.
Almost always a second press of Buy while the first was still going. Until 2.601.0 the purchase waited on two emails before the page came back — up to half a minute on a slow mail host — so it looked as though nothing had happened. The page now comes back straight away, the button says what it is doing, and a repeat press within half a minute is refused. To tidy up an existing duplicate, void its invoice and cancel the spare balance on the client’s record.

Does the customer have to pay before the credits work?
Yes, from 2.614.0 — that is the rule now. Buying a package raises the invoice and lists the package on the customer’s account, but the credits cannot be spent until that invoice is paid in full. Until then it shows as Awaiting payment with a Pay invoice button beside it, the booking screens will not offer a credit, and both you and the customer are told why. Before 2.614.0 the credits were handed over the moment Buy was pressed, so a customer could book six grooms against an invoice nobody ever paid.

The customer paid a deposit on their package — do they get some of the credits?
No. Half the money does not buy half a package: the credits arrive together when the invoice is settled in full. A part payment leaves the package showing Awaiting payment with the balance still owing on the invoice.

I sold a package at the counter and took the cash — how do I make it usable now?
Choose how it was paid on the sell line. Under Bookings → Packages → Client balances the dropdown beside Sell & raise invoice offers Not paid yet or Paid now with a method — cash, card reader, or whatever you have switched on. Picking one raises the invoice, records the payment against it and releases the credits in the same press. You can also do it afterwards by marking the invoice paid in the normal way.

What does the customer see while the invoice is unpaid?
The package, on their Packages page, marked Awaiting payment with how many credits are waiting on it and a Pay invoice button. It is deliberately not hidden: somebody who has ordered a package, been emailed a receipt for it and then finds no trace of it assumes the order failed and buys it again. When the money lands they are emailed to say it is ready to use.

When does the expiry start counting — from the order or the payment?
From the payment, since that is when the credits arrive. A twelve month package ordered in March and paid in May runs to the following May. Because of that the receipt for an unpaid package gives the length rather than a date, and the “ready to use” email that follows the payment gives the actual date.

I refunded a package invoice — what happens to the credits?
Anything unused is withdrawn straight away and the package shows as Refunded. Credits already spent on visits that happened stay spent — the work was done. If a future booking was holding a credit it is handed back, and that booking goes back to being charged as normal. Voiding the invoice does the same thing.

Do unused credits expire?
Only if you set an expiry. Leave it blank and they last indefinitely.

Were the “credits expiring soon” emails going out before 2.672.0?
On the all‑services copy and the Trainer edition, yes. On the Groomer, Walker and Sitter editions, no — and we would rather say so than leave you wondering. The daily job that sends them was attached to the classes feature, which only ships in two of the packages, so on the other three it was never being run. It has its own daily job now and starts working the day you update. Nothing was lost: no credit expired that should not have, and no balance was affected — the reminder simply was not sent. If you have customers with credits expiring shortly, it is worth a look at Pet Central → Packages this week.

Can a package cover more than one service?
Yes. Choose “Any of my services”, or tick the ones it covers — ticking any box selects “only these” for you, and the ticks are what is saved. A credit is spent by any appointment for a covered service, so a package covering grooming and walking pays for either. If you made a package before 2.600.0, open it and check the ticks are as you meant.

I do grooming, not walking — does this apply to me?
Yes. Packages work the same for every trade: grooms, walks, visits and lessons all draw down the same way. Earlier versions only ever drew credits down for walkers and trainers, so a groomer’s customers were charged again on top of the package they had bought. That was fixed in 2.591.0.

What is a class pass?
A different thing, and only offered if you run classes. A pass is spent when the customer books onto a class from their portal, rather than when an appointment is completed.

What happened to my old packages?
Nothing. A package created before 2.591.0 keeps covering exactly what it covered before — a walk package still pays for walks — and every credit already sold is untouched. Edit one to choose its services explicitly.