Smileline
Online booking

How bookings work

Slot holds, deposits, confirmations and the manage links patients use to reschedule or cancel.

The patient's journey

A patient books in five steps: appointment type → location (multi-site practices) → practitioner (or "any", which resolves to the first free clinician) → a date & time from the live availability → their details. On the first three steps the patient selects a card — the chosen appointment type expands to show its duration, deposit and description — and moves on with Select & continue; picking a time goes straight to the details step, which opens with a summary of the date, time, clinician and location. What happens next depends on the appointment type:

  • No deposit, no confirmation — the appointment is booked instantly and the booking confirmation message goes out.
  • Deposit — the chosen slot is held for 60 minutes while the patient pays through Stripe Checkout. Payment converts the hold into a booking; walking away releases the slot automatically (30 minutes for no-deposit types that stall at the details step).
  • Practice confirms — the booking lands as a request. Your team approves or declines it from Today; the patient's confirmation and reminders only go out on approval.

Held slots are invisible to other bookers, so two patients can never take the same time — a slot that's snapped up mid-checkout answers "that time is no longer available" and offers the picker again.

At the details step the patient gives a name and at least one contact — an email address or a mobile number. A mobile written any usual way is accepted (07700 900123, +44 (0)7700 900123, 44 7700 900123, an extension or note after it). If a phone cannot be read, or an email is mistyped, the booking still goes ahead: the value is stored on the patient exactly as typed (and on the lead's capture record) for your team to correct, and an unreadable phone opens a Contact could not be read item in Intake review. Only a details step with no email address and no mobile number at all is refused.

Patients browse live slots in two-week pages for the next 14 weeks: days with free times list them (a long day shows its first eight with Show all times for the rest), stretches with nothing free collapse into one "No availability" band, Later dates pages forward and Jump to date opens a date picker for any day inside those 14 weeks. When a connected practice-management-system location has more than 10 linked practitioners, the patient must choose a practitioner before Smileline queries the provider diary; the unbounded Any practitioner search is unavailable.

What lands in the CRM

Every booking — completed or abandoned — creates or matches the patient by email/phone, stamps the configured lead source, and records an attribution touch with booking as the channel. A booking started from AI chat continues the conversation's active journey when the matched patient and the appointment type's default treatment both agree; otherwise Smileline opens the normal new journey for that treatment. Instant bookings appear on the Calendar immediately and move the patient's open enquiry to your board's consultation-booked stage, so its new-enquiry follow-ups stop; abandoned holds cancel themselves and leave the lead behind with a Call now card. When a patient moves their booking online, they get the Appointment moved message rather than a second booking confirmation.

Confirm-mode requests raise a Confirm online booking card on Today: open it, and approve (the patient's confirmation goes out, reminders arm and the enquiry moves to consultation booked) or decline with a cancellation reason.

While a practice on the free plan is past its patient limit, no slot can be reserved: the patient sees Request received, the request is held in the review queue, and it becomes an enquiry — with the requested time in its note for you to confirm by hand — once the practice subscribes.

A deposit that settles after its hold expired is never lost: if the slot is still free the booking revives automatically; if it was taken, a Deposit paid but the slot was lost task tells your team to call and rebook — the money stays on the deposit, ready to refund or reallocate. Once that review exists, cancelling its task never revives the old appointment; staff must explicitly rebook or refund.

Deposits

Booking deposits ride the same Stripe Connect account and lifecycle as staff-sent deposit requests: the paid deposit shows on the patient record, auto-refunds when the consultation is attended, and follows your no-show policy otherwise. Cancelling an unpaid hold voids its payment link; a paid deposit on a patient-cancelled booking stays on the account for your team to refund or forfeit.

If a required deposit cannot be taken because Stripe or the connected account is unavailable, Smileline disables that appointment type and does not create a free booking. The patient can try again later or contact the practice. Staff may separately record money collected at the practice.

When a PMS appointment operation has started, the manage link becomes read-only and the patient is asked to call the practice. This applies while the provider outcome is still reconciling as well as after confirmation, so an ambiguous provider booking can never reappear after a local-only cancellation. Expiry rejects provider work that never activated. Once a live hold has been claimed, cleanup retains it while the provider outcome reconciles. If the provider booking completes after the original request disconnects, Smileline finishes the local booking in the background; an irreconcilable provider/local conflict creates an urgent review task instead of repeating the provider booking.

Confirmation and reminder messages carry a manage link (the {{appointment.manageUrl}} merge tag). From it, patients can:

  • see the appointment's status, time, practitioner and location;
  • reschedule — pick a new time from live availability; the deposit carries over;
  • cancel — with an optional reason; scheduled reminders stop and your cancellation message goes out.

Both actions respect the appointment type's minimum notice: inside the cutoff, the page shows your practice phone number instead. Manage links work for staff-booked appointments too, so every reminder becomes a self-service reschedule surface — appointments owned by a connected practice management system are the exception (view-only; patients are asked to call).

Date of birth before a change

Anyone holding the link can see the booking, but rescheduling or cancelling asks for the patient's date of birth first. Once it matches, the patient has 30 minutes to make the change.

  • Five wrong dates lock the link. The page then asks the patient to call you. The next reminder, or any message from you that includes the link, brings a new one.
  • No date of birth on file: the patient can see the booking but not change it online. The page says "Please call" with your site's phone number. Add their date of birth to their record and the next link works.
  • Rescheduling gives the new appointment its own link, which the page carries on with.

The link's secret is the part after the #, so it never reaches a web server or its logs. Each link lasts until a day after its appointment ends.

Links sent before this change (…/book/manage/?uid=…) keep working only until their appointment starts, and they ask for the date of birth before a change too.

After a patient pays a booking deposit, Stripe returns them to your booking page, which shows whether the booking is confirmed. The return address carries only Stripe's own payment reference, never a link to the booking.

A recall reminder carries a one-tap link (the {{recall.bookingLink}} merge tag) that opens a short version of the booking page for that patient: no appointment type to choose and no details to type. The recall's Books online as type, its site and its clinician come pre-selected; the patient picks a time and confirms. A visit booked this way is booked straight away — it needs a type with no deposit and no practice confirmation — marks the recall booked, and sends your usual booking messages. It isn't a new enquiry: no lead is created and nothing moves on your boards. Afterwards the link shows that booking with its manage link.

On this page