iPad POS Workflow
This guide covers what your counter staff actually do on the iPad during a shift. For the one-time setup, see iPad POS Setup.
The home console
When you open the POS, the home console shows six big tap targets:
┌──────────────────────────────────────────────────────┐
│ LEVY POS · Front Beach Bikes │
├──────────────────────────────────────────────────────┤
│ NEW WALK-IN PICKUP QUEUE (3) RETURN │
│ │
│ TODAY'S RES. EXTEND RENTAL GIFT CARDS │
├──────────────────────────────────────────────────────┤
│ $1,840 today · 14 bikes out · 2 overdue │
└──────────────────────────────────────────────────────┘
The bottom strip shows the live shop snapshot — today's gross, how many vehicles are out, and how many are overdue.
Walk-in rental
The most common flow: customer walks up, wants to rent right now.
- Tap New Walk-In.
- Pick the model. Large tiles for every vehicle model in your subaccount with the live count ("4 available now"). Tap a model.
- Pick the duration. Big chips — 1h, 2h, 4h, half-day, full-day. Custom returns also supported via a date/time picker.
- Add add-ons. Toggle helmets, locks, insurance. Defaults from your widget configuration are pre-selected.
- Customer step. Search by phone or email to find an existing customer. If they are new, tap + Quick add and enter just name + phone + email.
- Waiver. Inline signature pad. The customer signs once with their finger on the iPad.
- Payment. Three options:
- Tap card — large "Tap card" button with the live reader status. Customer taps card or phone on the reader.
- Cash — record cash amount, prints change due, opens cash drawer.
- Split — combine cash + card, e.g. $20 cash + $40 card.
- Success. Big check mark, the QR pickup ticket, Print receipt and Email receipt buttons, and a big Done CTA.
The whole flow takes under 60 seconds for a returning customer with stored payment, around 90 seconds for a first-timer.
Pickup queue
For reservations made online (hosted page, widget, or mobile app) that need to be handed off in person.
- Tap Pickup Queue. The list shows everyone scheduled to pick up today, sorted by pickup time.
- Each row shows: customer name, model, pickup time, pickup window status (
upcoming,due now,late), and the assignment status (assigned,not assigned). - Tap a row. The detail screen shows the full booking, any add-ons, and a big Scan QR to assign button.
QR-scan-to-assign
If your subaccount uses "assign at pickup" mode (recommended for high-volume bike shops), the customer's reservation has a model but no specific vehicle yet. To assign:
- Tap Scan QR to assign on the reservation detail.
- The iPad camera opens — use BarcodeDetector (iPadOS 17+).
- Aim at the QR sticker on the side of a physical vehicle.
- The POS verifies the vehicle is the right model and not already assigned, then assigns it to this reservation.
- The reservation moves to
checked_inand the Unlock button is enabled.
If you scan a wrong-model vehicle, the POS rejects it with a clear error ("This is an ES400B, but the reservation is for an EB100. Pick a different vehicle."). If the vehicle is already assigned to a different reservation, the POS shows that reservation's customer name so you can resolve the conflict.
Manual assignment
If you do not have a QR camera or the sticker is damaged:
- Tap Assign manually.
- The list shows every eligible vehicle (right model, status
available, not already assigned). - Tap the vehicle number.
Unlock and hand off
After assignment, tap Unlock. The POS sends an unlock command to the IoT device. The customer takes the vehicle.
The reservation status moves to active and the ride starts. The customer can now also lock and unlock the vehicle from the Levy mobile app (if they have an account).
Return flow
When the customer comes back:
- Tap Return from the home console, or open the reservation directly from the Today's Reservations list.
- The return screen shows the rental duration, any late time, the running total, and any add-ons that need to come back.
- Take a return photo. Use the iPad camera for a condition snapshot. The photo lands on the reservation timeline.
- Condition checklist. Tap any checkboxes for damage, missing add-ons, or other concerns. Notes get saved on the reservation.
- Late fee preview. If the return is past the booked time, the POS shows the late-fee preview (calculated from your existing late-fee rules). Tap Apply to charge it, or Waive to skip.
- Release deposit. If a refundable deposit was held, tap Release deposit for a clean return, or Capture deposit to charge it for damage.
- Done. Reservation moves to
completed, vehicle returns toavailableinventory.
Extensions
If the customer comes in and wants more time:
- From the customer's reservation, tap Extend.
- Pick a new return time (chips: +1h, +2h, +half-day).
- The POS shows the additional charge.
- Customer taps to pay the difference. The reservation's
return_atupdates and the pre-auth is increased on the card.
If your customer is mid-ride and calls in instead of coming back to the counter, you can extend from the customer's reservation detail page on the web dashboard — same logic, no iPad needed.
Split tender
Split tender supports any combination of cash + card. Example:
- Customer owes $74.50.
- Tap Split.
- Enter $40 cash. POS shows remaining $34.50.
- Tap Tap card for the remaining $34.50. Customer taps card.
- Success.
The reservation's amount_paid_cents updates to the full $74.50. The cash drawer kicks open after the cash entry. The Stripe Terminal charge records $34.50 net of fees.
Gift cards
The POS supports both selling and redeeming gift cards (reuses your existing gift-card system from Dashboard > Shop Rentals > Gift Cards).
- Sell. Tap Gift Cards > Sell, pick a denomination, take payment. The POS prints a redemption code on the receipt.
- Redeem. During a walk-in's payment step, tap Apply gift card. Scan the code (QR or barcode) or type it in. The amount applies to the total; any remaining balance is paid by card or cash.
Offline mode
The PWA caches the home console and the walk-in shell, so the POS opens even if the Wi-Fi is down. If a transaction starts while online and the connection drops mid-flow, the POS warns you and queues the payment.
Full offline-create-then-sync (queue an entire booking offline, sync when back online) is a planned follow-up. Until it lands:
- Stripe Terminal does support offline card collection — the card data is encrypted on the reader and submitted to Stripe when the connection returns.
- The reservation row is created when the API connection returns. If you take more than a handful of offline transactions, expect a brief sync delay when you reconnect.
Closing out
There is no formal "end of day" close on the POS — the shop snapshot strip at the bottom of the home console shows the running total for the day. Daily reconciliation happens in Dashboard > Bookings > Calendar and in the standard Stripe payout dashboard.
If you do want a quick day's-tape printout, tap Today's Reservations > Print summary — the POS prints a list of every transaction with totals broken out by payment method (cash vs card).
Common questions
- Can multiple staff log into the same iPad? The iPad is paired to the subaccount, not a specific user. Anyone holding the iPad can run transactions. If you need to attribute transactions to specific staff, use the Sales rep dropdown on each walk-in (configured in Dashboard > Settings > Staff).
- What if the customer wants to pay with cash and no card? Cash-only is fully supported. The reservation records
payment_method = cashand no card is captured. - What about tips? Add a "Tip" line item via the add-ons cart (configure under Dashboard > Shop Rentals > Add-ons) — supports flat amount or percentage of subtotal.