Full disclosure up front: I build Wix apps, and the one this post is about, Pet Boarding, is mine. Most of this post is about the booking logic itself, which applies whatever platform you build on.
Why appointment tools don't fit
Most booking tools are built around appointments: one client, one staff member, one time slot. A kennel or a dog daycare works differently:
A boarding stay is a range of nights, from a drop-off day to a pick-up day.
Daycare is a set of single days, sometimes half days.
What runs out is space, not staff time. A kennel with 12 runs can take 12 dogs per night, whoever books them.
Price depends on the pet, not just the service: size tiers, a discount for a second dog from the same family, weekend or holiday extras, a late pick-up fee.
So the core question for every request is "is there a free space on every night of this stay", and the price is a sum over nights and pets.
Capacity per night
The availability check counts how many spaces are taken on each night of the requested…