Biseo

A Booking Shows on the Calendar Before the Customer Has Paid

Last updated: 2026-08-15

If a booking that requires a deposit or full prepayment shows up on the calendar before the customer has actually finished paying, there's no need to worry — this isn't a bug, it's how the payment flow is designed to work.

Example: Say a new customer at a massage studio selects a time slot that requires an online deposit. The moment they're redirected to the Stripe checkout page, the admin calendar already shows that slot as "pending payment". At this point the customer might still be entering their card details, or they might have simply closed the checkout page. If a staff member mistakes this for a confirmed booking and starts preparing for it, that preparation is wasted if the payment later fails or the customer abandons checkout.

  1. Why it appears before payment completes: When a customer creates a booking that requires a deposit or prepayment, the system creates the booking record immediately with a pending_payment status and a pending payment status, regardless of whether payment has actually gone through yet. A booking in this state appears on the admin calendar right away.
  2. When it flips to confirmed: Once the customer completes payment on the Stripe checkout page, Stripe sends a payment-completed webhook, and only once the system processes that webhook does the booking's status change to confirmed. There can be a real gap in time between the booking appearing and it actually being confirmed.
  3. If the customer never completes payment: There's a dedicated process for cleaning up checkout sessions the customer starts but abandons, so incomplete payment bookings like this can be tidied up automatically.
  4. Practical guidance: Treat any booking showing pending payment as not yet confirmed — don't start treatment prep or ordering supplies for it. It will either flip to confirmed once Stripe confirms payment, or get cleaned up if the customer abandons checkout.

For how to set up deposits and prepayment itself, see "Connecting Stripe to collect an online deposit".

Can't find what you're looking for? Contact us →

A Booking Shows on the Calendar Before the Customer Has Paid | Biseo