CPR West Covina Logo

Payment pipeline

Every Payment Matched to a Booking

A charge with no class behind it is a refund request waiting to happen. Every payment gets matched to a booking, and any that lands unattached triggers an alert in minutes.

  • 01Orphan-payment alerts within minutes of the charge
  • 02Confirmation, seat, and calendar event on every match
  • 03You keep your own Square or Stripe
4.9 from 300+ Google and Yelp reviews on our own CPR businessBuilt by operators, not a software company

Assembly

How the payment pipeline works

Six steps. Step 4 is the one your current setup does not have.

6 steps

  1. Payment lands

    Square or Stripe reports a completed charge in real time.

  2. Match it to a booking

    Email, phone, amount, and course are checked against open bookings.

  3. Matched: confirm it

    Student email, owner alert, seat held, calendar event written.

  4. Unmatched: alert you

    An orphan-payment notice fires within minutes, not days.

  5. Resolve the orphan

    Attach the payment to the right session from the dashboard.

  6. Reconcile daily

    A running check that every charge has a class behind it.

From our own account

An orphan payment alert email in our own inbox
A real orphan payment alert from our own inbox.

Contents

What you get

In the box

  • 01Real-time payment-to-booking matching
  • 02Orphan-payment alerts to the owner
  • 03Student confirmation email on every matched payment
  • 04Owner booking notification the moment intake happens
  • 05Calendar event written on confirmation
  • 06A queue of unmatched payments to resolve
  • 07Daily reconciliation of charges against bookings
  • 08Audit trail of what matched and when

Price

What it costs

Included with the booking calendar

What’s included

  • 01Payment matched to booking
  • 02Orphan-payment alerts

Common assembly error

She paid on Sunday. Nobody knew until Wednesday.

Without it

A student pays $88 on Sunday night. No confirmation email arrives. No seat is reserved. No calendar event is created. As far as your system is concerned, the class is not happening. As far as the student is concerned, it is booked and paid.

You find out one of two ways. She calls Wednesday asking where her confirmation is, annoyed, and now you are doing customer service on your own broken pipeline. Or she does not call, and she shows up Saturday to a class you did not know she was in, which is either an awkward conversation or a refund.

That is an orphan payment: money in the account with no booking attached. It usually comes from a checkout that completed after a session timed out, a payment link sent by hand and never logged, or a webhook that failed quietly and never retried. It is not rare. Most owners have simply never had anything watching for it, so the ones they know about are the ones the customer complained about.

A student paid but the booking never showed on my calendar. What happened?

The payment and the booking were created by two different systems and the handoff failed. Typically the checkout opens in your processor, the student pays, and your booking system is supposed to hear about it through a webhook or a redirect back to a confirmation page. If the student closes the tab before the redirect, or the webhook call errors and nothing retries it, the payment completes and the booking never does. Nothing is broken loudly enough to notice. The fix is to stop treating the redirect as the source of truth and instead reconcile against the processor itself: pull completed charges, match them to bookings, and raise an alert on any charge that has no booking behind it.

How do I get an alert when a payment has no booking attached?

You need something reading your payment processor continuously rather than waiting to be told. Every completed charge is checked against open and recent bookings on email, phone, amount, and course. Most match instantly. The ones that do not become orphans and trigger an immediate notification with the student's name, the amount, the timestamp, and the likely session, so you can attach it in the dashboard in under a minute. The value here is entirely in the speed. An orphan caught in five minutes is a confirmation email that arrives slightly late. The same orphan caught in five days is a refund request and a one-star review.

Why did my customer not get a booking confirmation email?

Usually because the confirmation is wired to the wrong event. Many setups send it on payment success from the processor's side, which means anything that interrupts that callback also kills the email. We send the owner notification at intake, the moment the booking is created, so you know a student is in play even if the payment never completes. The student confirmation then fires when the payment is matched. Splitting those two events means a stalled checkout shows up as a recoverable lead rather than as silence, and a completed payment always produces a confirmation because it is triggered by the money arriving rather than by the browser behaving.

How do I reconcile Square payments against my class bookings?

Automatically and daily, on two sides. The first side is the one everyone thinks of: payments with no booking, which cost you a customer relationship. The second is bookings with no payment, which cost you a seat, because a held seat that never got paid for is inventory you could have sold. Run both checks every day and each becomes a short worklist instead of a discovery. Doing this by hand means exporting from Square, exporting your roster, and eyeballing two spreadsheets, which is exactly the task that gets skipped in a busy week, which is exactly the week it matters.

What does a missed booking actually cost a training company?

More than the ticket. A student who paid and got nothing back has already decided you are disorganized before you have said a word, and that judgment shows up in the review long after you have refunded her. If she bought through an ad, you also paid to acquire her and then lost her at the last inch: our own cost per booked student is about $21, so an orphan payment burns both the seat and the acquisition. Then she never enters the renewal cycle, so the two-year repeat purchase disappears too. One failed handoff quietly deletes three separate pieces of revenue.

Troubleshooting

Payment and confirmation questions, answered

What exactly is an orphan payment?
A completed charge in your payment processor with no booking attached to it. The money arrived, the class did not get scheduled, and nobody was told. Without something watching for it, you find out when the customer contacts you.
Do I have to switch to a different payment processor?
No. You keep your own Square or Stripe and funds settle directly to you. We read payment events from the processor you already use. Nothing routes through us.
How fast does the orphan alert fire?
Within minutes of the charge, because the check runs against payment events as they arrive rather than on a nightly batch. Speed is the entire point of the alert.
What if the student paid a different amount than the class price?
It still matches on the other signals, email, phone, timing, and course, and flags the amount difference for you. Partial payments, deposits, and old prices are common and should not break matching.
Can it catch the opposite problem, a booking with no payment?
Yes, and it is the same daily reconciliation. An unpaid held seat is lost inventory, and it also feeds the abandoned-checkout recovery sequence.
Does this handle phone bookings taken manually?
Yes. A payment link you send by hand still produces a charge, and that charge gets matched or flagged like any other. Manual payments are one of the most common sources of orphans.
When does the owner get notified about a new booking?
At intake, when the booking is created, not at payment. That way a student who starts booking and stalls is visible to you as a live lead instead of never existing.
What happens to an orphan once I attach it?
The seat is held, the confirmation email goes to the student, the calendar event is written, and the record enters the renewal cycle with its expiry stamped, exactly as if it had matched on the first pass.

Need a hand

Find out how many orphans you have right now

Get on a call. We will walk one month of your payments against one month of your bookings and show you exactly what did not line up.

We work with CPR and certification training companies nationwide