Online Booking — book jobs while you sleep
Your shop gets one public booking page that handles both live appointments and longer project requests. The address is wraptor.app/book/<handle> — your website slug when you have a hosted site, your shop id otherwise. Share it in an Instagram bio, a Google Business profile, an email signature, or anywhere else. A claimed directory listing shows a Book an appointment button as soon as booking is on, and a published shop website runs the same flow inside your own theme at <your domain>/book.
Online booking is open on every plan and during the 7-day free trial.
Turning it on
Open Scheduling → Services & hours (/scheduling?tab=setup); the panel is headed Services & availability. Three tiles at the top track Open days, Public services and Concurrent capacity as you edit. Everything on the tab saves together with Save scheduling at the bottom.
Public booking page Turn on Accept online bookings. Write the Booking-page note customers read above the form — drop-off instructions, what to bring, what happens next. Your booking link shows the URL with Copy link and Preview; Preview stays greyed out until the page is on. Turning the switch back off makes the link show a plain "This booking link isn't available." panel instead of your page.
Shop availability Set Shop timezone, then open or close each weekday and set its hours. Closed dates takes one-off closures — holidays, vacations, training days. Hours are read in your shop's timezone; customers still see every time in their own. Shop timezone here and the Timezone select under Settings → Communications → Customer messages → Quiet hours are the same setting, so saving either one updates the other.
Booking rules Slot interval, Minimum notice (hours), Booking horizon (how many days ahead customers can book), and Concurrent capacity — the number of exact-time appointments allowed to overlap. If you have active install bays, the smaller of the two wins.
Customer experience
Auto-confirm exact times, Customer rescheduling, Customer cancellation, Change cutoff (hours before the appointment when online changes stop), and Reminder lead time (hours). Set the reminder lead time to 0 to turn booking reminders off.
Bookable services One card per service, with Add service above the list. Each card has a colour swatch, the service name, an Active switch, a Public switch (a service must be active before it can be public), reorder arrows and a remove button. Removing a service archives it instead of deleting it, so old appointments keep their history.
Inside the card:
- Customer-facing description — shown under the service on the booking page.
- Booking flow — Choose an exact time or Request a preferred date.
- Where it happens — In shop, Mobile / on-site, or In shop or mobile. Exact-time services are in-shop only; choosing exact time forces In shop.
- Duration in hours, plus Setup buffer and Cleanup buffer in minutes. Buffers apply to exact-time services only.
- Starting price — leave it blank and no price shows.
- Deposit — see below.
- Category and Image URL — the category groups services; the image feeds your website's service cards.
Pick a booking flow for each public service:
- Choose an exact time — for in-shop work that fits inside a day. Customers see live availability in their own timezone and reserve one slot. Setup and cleanup buffers shape which times are open but are never shown to the customer. Confirm each booking yourself, or turn on Auto-confirm exact times to reserve the slot immediately.
- Request a preferred date — for multi-day, mobile, or consult-first work. The customer picks a preferred start date and you confirm the real schedule. A confirmed date request blocks one unit of capacity for the service's full duration, even before you assign a bay or crew.
Deposits
Deposits ride your connected Stripe account. Until payouts are live under Money → Payments the amounts are stored but nothing is charged, and the page runs as a free request flow.
Two places set the amount:
- Deposit on a service card — that service's own deposit.
- Fallback date-request deposit on Your booking link — used for any public service that has no deposit of its own. The name is narrower than the behaviour: it covers exact-time services too.
Both booking flows can take a deposit:
- Request a preferred date — Wraptor creates the customer, an intake job and a sent deposit invoice together, then sends the customer to the pay page. The request still waits on your Confirm.
- Choose an exact time — the slot is held as a tentative booking for 30 minutes while the customer pays. Payment confirms the appointment on its own and emails the customer "You're booked". If the 30 minutes lapse unpaid, Wraptor releases the slot and the booking stays a pending request at the time they asked for.
A paid deposit is the shop's to unwind. Decline refuses with "This booking has a paid deposit. Refund or reschedule it before declining." An unpaid deposit invoice is voided automatically when you decline.
What the customer sees
- An instant ballpark (optional) — above the form, "Curious what it'll cost?" invites a photo. Wraptor identifies the vehicle and shows Full wrap and ¾ wrap ranges with square footage. Book this carries the vehicle and the exact range they saw into the request's notes. The photo is never stored and the ballpark is never binding.
- Choose a service — cards show your description, the duration (or Date request), where the work happens, and the starting price when you set one.
- Pick an available time or Choose a preferred date — exact-time services show live slots in the customer's own timezone; date-request services take a Preferred start date.
- Your details — Your name and Vehicle are required, and at least one of Email or Phone. Anything else? takes notes.
- Submit — the button reads Continue with this time, Send date request, or Continue to secure deposit when a deposit applies. A deposit line above it names the amount and, on exact times, the 30-minute hold.
Without an email address there is no confirmation email and no management link — the customer's only record is the shop's follow-up.
What you see
Requests and confirmed appointments land in Scheduling → Online bookings (/scheduling?tab=bookings) with a bell notification, an email to your shop address (the owner's, or a manager's, when the shop has none), and a push to the lock screen of anyone who has turned on Push on this device under Settings → Communications → Team notifications.
The Booking requests card counts open requests, hides handled ones behind Show handled, and gives each row the vehicle and service, the customer's name, phone and email, their notes, the requested date or exact time, and a status chip — Confirmed, Confirming, Declined, Cancelled or Expired — plus Deposit sent or Deposit paid where one applies.
- Confirm puts the booking on the calendar, creates or links the intake job, and emails the customer. On an exact-time request Wraptor re-checks availability first and assigns a free install bay when you have one; if the slot went while the request was waiting, it refuses with "That time is no longer available."
- Decline emails "About your booking request" with a short "that date doesn't work" note pointing the customer back to you.
- Open job jumps to the job the booking created. That job is titled
<vehicle> — <service>and starts on your board's default stage; the customer is matched by email address and only created when there is no match. See Jobs. - Retry confirmation appears when a confirmation was interrupted partway.
Customer changes
When Customer rescheduling or Customer cancellation is on, the confirmation email carries a Manage appointment button to a private link. The page shows the shop's own logo and name, what is Currently booked, and the deadline for changes.
- Reschedule lists other open exact times and confirms the swap with Confirm new time. It is offered only on confirmed exact-time bookings, before the Change cutoff, and only while the work has not started.
- Cancel appointment asks once, then releases the slot. A paid deposit removes this button — a refund can never be bypassed online — but it never blocks Reschedule. When a deposit leaves the customer with neither button, the page tells them cancellations go through the shop directly.
Either change updates the calendar, emails the customer, and reaches you as both a bell notification and an email.
Emails and reminders
Every booking email a customer gets is a row on Settings → Communications → Customer messages, and Activity on that page shows what actually sent. See Settings.
- Booking confirmed, declined or changed is an Always row — it is part of the action and has no switch.
- Appointment reminder is one switch (on by default) covering both online-booking reminders and the reminder before a scheduled install. The lead time for bookings is Reminder lead time on Services & hours; each confirmed booking gets at most one, and
0hours turns them off. It is the one booking email that waits for Quiet hours. - New booking alert is the email that reaches you. It sits under Settings → Communications → Team notifications → What your team gets as the Bookings switch (on by default), which also covers the bell and push for new, rescheduled and cancelled bookings. Off means the booking still lands in Scheduling → Online bookings, you just aren't told about it.
- Confirmations, declines and change notices never wait for quiet hours — they go out with the action.
- Booking mail sends on every plan. It goes out from
noreply@wraptor.appunder your shop's name, with replies pointed at your contact address, until you are on a paid plan with a mailbox connected under Settings → Communications → Email accounts.
Notes
- The photo ballpark only runs on booking-enabled shops, and the photo is never stored.
- The helper line under Fallback date-request deposit still says exact-time deposits are off. They are not — an exact-time service with a deposit holds the slot while the customer pays.
- The Online bookings tab, Confirm and Decline need the
calendarpermission; Services & hours needs thesettingspermission. See Team. - Exact-time booking is in-shop only. A mobile or on-site service has to run as a date request until crew and route scheduling ship.
- Both booking pages carry a Powered by Wraptor line — under the form on
wraptor.app/book/<handle>, in the footer on your own website. No plan removes it; the white-label setting covers the tracking, quote and pay pages, not booking. - Deposit invoices behave like any other invoice once they exist: see Invoicing & Billing.
Related modules
Calendar for the schedule the bookings land on, Jobs for the intake job, Customers for the record a booking creates, Website Builder and Directory for where the link lives, Settings for customer messages and quiet hours.