POS, Payments, and Promo Codes — One System, Six Processors
Full point-of-sale for services, retail, gift cards, and memberships in one ticket. Six processors — Stripe, Cardknox, Square, PayPal, and Revolv3 with smart routing — so you get the best approval rate without switching accounts. Promo codes work at POS, online shop, and the booking portal.
One System for Every Dollar Your Business Collects
Walk-in sale at the front desk, online order with a promo code, recurring membership charge — they all flow through one dashboard, one set of reports, one source of truth.
POS + Payments unified
Services, retail products, gift cards, and memberships in one ticket. One checkout for all of it — no tab switching, no separate POS for retail vs services.
6 payment processors
Stripe (Platform + Connect), Cardknox, Square, PayPal, Revolv3 smart routing, and SOLA/Qor Commerce. Connect the processor you trust or let Revolv3 route automatically.
Promo codes shipped
Percentage off, dollar off, free shipping, free product — with per-customer limits, channel restrictions, and customer-type rules. Works at POS, online shop, and booking portal.
Customer-facing display
Secondary monitor at the POS counter facing the customer. Real-time cart sync via BroadcastChannel — no internet required, no WebSocket. Offline-capable.
POS + Payments Unified
One ticket combines services, retail products, gift cards, and memberships. One checkout for all of it. No tab switching, no separate POS for retail vs services.
Mixed-item ticket
Services, retail products, gift card purchases, and membership signups in a single order. One total, one tax calculation, one payment.
- Line items can mix service appointments, retail products, gift card purchases, and membership signups
- One total + one tax calc + one payment
- Barcode scanning for retail products
- Price override with permission controls
- Walk-in support — no booking required
- Audit log of every line-item change
Invoicing
Generate invoices for charge-later customers. PDF generation, payment link emailed to customer, partial-payment tracking.
- Invoice PDF generation with your logo and branding
- Payment link emailed to customer for self-pay
- Partial-payment tracking with balance due
- Invoice aging report for overdue follow-up
- Audit log per invoice with all status changes
- Sequential invoice numbering with custom prefix
Cash drawer + tip pad
Full POS hardware support: cash drawer integration, tip-pad device, change calculation, end-of-day reconciliation.
- Cash drawer integration with configurable opening float
- Tip-pad device support with percentage and custom options
- Automatic change calculation for cash transactions
- End-of-day reconciliation with expected vs. actual variance
- Audit log of every drawer event including mid-shift drops
- Multiple registers per location supported
Parked orders
Suspend a cart and resume later. Park with a name for retrieval, multiple parked carts simultaneously, auto-expiry after N hours.
- Park-with-name for easy retrieval at the counter
- Multiple parked carts simultaneously per register
- Retrieval audit log showing who parked and who retrieved
- Auto-expiry after configurable number of hours
- Recovery flow prompts staff before expiry
- Parked order count visible in POS header
6 Payment Processors
Don't lock yourself into one processor. Revolv3 routes individual transactions to the highest-approval-rate processor automatically. Stripe Connect supports sub-merchant mode where BookingPro acts as the platform.
Stripe (Platform + Connect)
Direct Platform mode or Connect sub-merchant mode. BookingPro can act as the Stripe platform — merchants get streamlined onboarding without setting up their own Stripe account.
- Platform mode: merchant settles their own fees directly
- Connect mode: BookingPro settles fees, merchant gets net payout
- Automatic 3D Secure enforcement on all card-present and card-not-present transactions
- Dispute management and evidence upload built-in
- Settlement reconciliation matched to transaction date
- Recurring billing for memberships via Stripe Billing
Cardknox
Salon-industry partnership pricing with full Recurring API for memberships. OAuth-based connection, PCI-compliant tokenization, settlement direct to merchant.
- Industry-typical lower rates via salon partnership agreement
- Full Recurring API for membership billing cycles
- OAuth-based merchant connection — no manual API key entry
- PCI-compliant tokenization via Cardknox iFields
- Settlement direct to merchant — no platform intermediary
- Audit log of every authorization and settlement event
Square
POS terminal integration for merchants already using Square hardware. OAuth-based connection, native Square POS UX, full refund support.
- OAuth-based merchant connection via Square OAuth flow
- Square hardware terminals supported (Reader, Terminal, Register)
- Native Square POS UX for card-present transactions
- One-time payment focus — no Square recurring billing
- Refund processing routed back through Square
- Audit log of Square transactions synced to BookingPro
PayPal
PayPal Checkout for online shop and booking portal customers who pay with their PayPal account. Refund processing included.
- PayPal Checkout integration for online shop and booking portal
- Useful for customers who prefer PayPal account balance payments
- Refund processing routed through PayPal API
- One-time payments only — no PayPal recurring billing today
- PayPal transaction IDs synced to BookingPro order history
- Audit log of PayPal checkout events
Revolv3 (smart routing)
Auto-selects the highest-approval-rate processor per transaction. Prevents declines from one processor's risk model. Transparent to the merchant.
- Per-transaction routing decision based on approval rate signals
- Prevents declines caused by one processor's risk scoring
- Routing logic is transparent — audit log shows processor selected per transaction
- Broad card network support across all routed processors
- Fallback chain configurable per merchant
- No additional markup over processor interchange
SOLA / Qor Commerce
Alternative gateway with broad card network support. Salon-industry friendly, full refund support, audit log of every payout.
- Broad card network support: Visa, Mastercard, Amex, Discover
- Salon-industry friendly underwriting process
- Full refund processing through SOLA/Qor gateway
- Settlement direct to merchant bank account
- Audit log of every payout with settlement date
- Fallback option when primary processor is unavailable
Promo Codes — Shipped at POS, Online Shop, Booking Portal
Discount codes that work the same everywhere. Customer enters at POS or online checkout — engine validates against rules, applies, prints receipt. Pro-rata refund reversal handles partial returns correctly.
5 discount types
Percentage off, fixed dollar off, free shipping, free product attached to a qualifying purchase, and BOGO (planned for Phase 5+).
- Percentage discount: e.g., SUMMER10 for 10% off
- Fixed dollar off: e.g., SAVE20 for $20 off any order
- Free shipping: applies to online shop orders with shipping
- Free product: attaches a specific SKU at $0 on qualifying purchase
- BOGO planned for Phase 5+ — buy-one-get-one-free or buy-one-get-one-half-off
- Multiple codes can exist simultaneously; one applied per order
Validation rules
Min order threshold, max discount cap, per-customer and global usage limits, time windows, channel restrictions, item applicability, and customer-type rules.
- Minimum order threshold (e.g., code only applies over $50)
- Maximum discount cap (e.g., up to $30 off even for 40% codes)
- Per-customer usage limit (e.g., one use per customer lifetime)
- Global usage limit (e.g., first 500 redemptions only)
- Time window with optional day-of-week blackouts
- Applicable channels: in_store / online_shop / booking_portal
- Applicable items: all / specific categories / blacklisted SKUs
- Customer-type rules: new customers only / members only
POS promo pill
Cashier types the code at checkout, validates in real time with a single RPC call, and the discount applies immediately. Receipt prints the promo line.
- 1-RPC validation call — sub-100ms response on LAN
- Plain-English error messages: 'Code expired', 'Min order not met', 'Already used'
- Receipt prints: 'Promo: SUMMER10 -$10.00' as a line item
- Redemption row written to audit table on successful apply
- One-discount-per-order stacking rule enforced server-side
- Manager override available to remove an applied code
Pro-rata refund reversal
When a customer returns part of an order, the discount reverses proportionally. Returns 50% of order value — 50% of the promo amount is reversed.
- Customer returns 50% of order value — 50% of promo reversed
- Customer returns 100% of order — 100% of promo reversed
- Reversal calculated server-side; never relies on client input
- Audit log of each refund-reversal event with amounts
- Reversal reflected in daily and monthly promo reports
- Edge case handled: promo-only lines (free product) reversed as $0
Sale rules (backend ready, UI in flight)
Scheduled time-window auto-discounts that apply at checkout without a code. Backend engine is live; admin creation UI is in flight for Phase 5+.
- Backend engine reads sale rules at checkout time — no code required
- Scheduled start/end datetime with timezone awareness
- Applies to all items, specific categories, or specific SKUs
- Transparent at POS: 'Sale price' label on affected line items
- Admin UI for creating and managing sale rules is in flight (Phase 5+)
- No customer-facing code needed — discount applies automatically
Customer-Facing Display Screen
Drop a secondary monitor on the POS counter facing the customer. Customer sees the cart total, tax, payment confirmation, thank-you animation. Updates in real-time via local BroadcastChannel — no internet required.
Real-time cart sync
Secondary screen mirrors the POS cart as items are added. BroadcastChannel API — browser-native, no WebSocket, no internet dependency.
- BroadcastChannel API: browser-native, no WebSocket required
- No internet dependency — works on local network or fully offline
- Multi-state flow: Welcome screen -> Cart view -> Payment processing -> Thank You
- Updates propagate in under 50ms on local LAN
- Works across any two tabs or windows on the same machine
- Display state resets to Welcome screen after idle timeout
Large customer-readable display
72pt total amount, 24pt headers. Visible from 6+ feet. Line-itemized cart with tax, subtotal, and total clearly shown.
- 72pt total amount visible from 6+ feet across the counter
- 24pt line-item labels and quantities
- Line-itemized cart: item name, quantity, unit price, line total
- Tax, subtotal, and grand total shown in a clear summary row
- Processing animation displayed during payment authorization
- Thank-you screen with receipt confirmation on completion
Salon-branded
Company logo prominently displayed, accent color matches brand, customizable welcome text. Dark and light theme support.
- Company logo displayed prominently in the header and welcome state
- Accent color pulled from your brand settings — no manual config
- Customizable welcome text and tagline
- Dark and light theme support configurable per location
- Professional retail aesthetic with clean typography
- Full-screen mode for maximum readability on any display size
Stripe Connect — Sub-Merchant Mode
Most platforms force merchants to set up their own Stripe account. With Stripe Connect, BookingPro can act as the platform — merchants get streamlined onboarding, instant payouts, and unified billing. Rare differentiator in salon software.
Streamlined merchant onboarding
Sub-merchant account setup in minutes. KYC is handled by BookingPro as the Stripe platform — faster than a direct Stripe account setup.
- KYC identity verification handled by BookingPro as platform
- Faster setup than applying for a direct Stripe merchant account
- Branded onboarding flow with BookingPro UI
- Supports multiple sub-merchants under one platform account
- Onboarding status tracked: pending / under_review / active / restricted
- Audit log of onboarding state transitions per merchant
Unified platform billing
BookingPro settles processor fees and the merchant receives the net. Simpler reconciliation — merchants see one net figure per day.
- BookingPro's platform economics absorb processor interchange fees
- Merchant sees one net payout per settlement period
- Transparent fee disclosure in merchant dashboard
- Per-transaction fee breakdown available in reports
- Settlement reconciliation matched transaction-by-transaction
- Dispute chargebacks managed at the platform layer
Optional direct Stripe (Platform mode)
Merchants who prefer direct Stripe accounts can use Platform mode — full control over their Stripe configuration, fees settled directly.
- Merchant connects their own Stripe account via OAuth
- Fees settled directly to the merchant's Stripe account
- Full control over Stripe dashboard, payouts, and risk settings
- Audit log of mode switches between Platform and Connect
- Can switch from Connect to Platform mode with zero downtime
- Both modes support 3D Secure and dispute management
Reports + Reconciliation
Daily settlement reports per processor. Reconciliation tools for matching deposits to transactions. Audit log of every payment event.
Per-processor settlement
Daily settlement reports broken down by processor. Per-processor fee breakdown, settlement date vs. transaction date, full audit log.
- Per-day settlement totals grouped by processor
- Per-processor fee breakdown: interchange + platform fee
- Settlement date vs. transaction date reconciliation
- Audit log of every settlement batch event
- Export settlement reports to CSV and PDF
- Multi-location settlement view with location filter
Transaction history
Searchable and exportable transaction log. Filter by date range, processor, status. Drill from transaction to booking and customer.
- Date range filter with presets: today, week, month, custom
- Processor filter: Stripe, Cardknox, Square, PayPal, Revolv3, SOLA
- Status filter: success / failed / refunded / disputed / voided
- CSV export for accounting and reconciliation tools
- Drill from transaction into the booking and customer profile
- Search by amount, last 4 digits, customer name, or invoice number
Dispute management
Chargeback notifications, evidence-upload workflow, status tracking, and resolution audit log. Cross-link to Stripe dashboard for direct management.
- Dispute notifications via in-app alert and email
- Evidence-upload workflow: attach receipts, signatures, and notes
- Status tracking: needs_response / under_review / won / lost
- Resolution audit log with timestamps and outcome
- Cross-link to Stripe dashboard for direct dispute management
- Dispute win/loss rate tracked in monthly reports
Payments Connects to the Whole Platform
The same payment engine that powers POS also handles online orders, membership billing, and inventory decrements. One source of truth across every revenue stream.