Skip to Content
SPAPS is proprietary hosted SaaS. Paid access required; pre-1.0 contracts may change. Terms and access
GuidesDayrate Booking

Dayrate Booking

The dayrate domain is the Buildooor booking integration inside SPAPS. It coordinates availability, booking policies, free or allotment-backed booking paths, paid Stripe checkout, and webhook reconciliation so the frontend can treat dayrate booking as one coherent backend contract.

Mental Model

Primary Files

FileRole
domains/dayrate/router.pyAvailability, booking, admin, and Stripe-backed route surface
domains/dayrate/service.pyBooking policy, free/paid path selection, checkout orchestration, webhook dispatch
domains/dayrate/repository.pyPersistence for bookings, policies, allotments, and related state
domains/dayrate/models.pyDayRateBooking, BookingPolicy, and supporting models
domains/dayrate/schemas.pyRequest/response schemas such as BookRequest

Booking Paths

PathMeaning
Free bookingPolicy or entitlement allows booking without Stripe checkout
Allotment bookingExisting allowance is consumed instead of charging
Paid bookingSPAPS creates a Stripe checkout and reconciles completion through webhook handling

Common Mistakes

Do not mark a paid booking complete from the browser redirect alone. Use Stripe webhook reconciliation so payment state comes from the trusted server-side event path.

  • Treating booking policy as frontend-only logic.
  • Forgetting to test paid, free, and allotment paths separately.
  • Updating dayrate routes without checking the Buildooor proxy path in the downstream app.

See Also