Also in Features:
Every booking becomes an order — payments, refunds, and all
Every booking becomes an order — track payments, process refunds, and manage revenue in one place
Every Booking Becomes an Order
When a customer completes a booking, Opencals creates an order. That order tracks everything: confirmation, payments, reschedules, cancellations, refunds. You can search and filter the entire list.
Per-booking
Order created
Stripe
Standalone payments
Shopify
Widget payments
Full / Partial
Refund options
Orders start at #1001 and increment from there. Each one contains line items (the appointments), payment transactions, and an activity log.
Payment Processing
Standalone mode — connect Stripe to accept card payments at booking. Stripe handles PCI compliance and fraud protection, supports all major cards.
Shopify mode — bookings through the Shopify widget go through Shopify Payments. Each appointment becomes a Shopify order, so service revenue and product revenue sit together. If you also run the Opencals storefront, those bookings can use Stripe instead.
You can also accept manual payments (cash, bank transfer) by marking the order as paid in the dashboard with a note about the payment method.
Order Search and Filters
Find any booking instantly. Filter orders by:
- Payment status — unpaid, partially paid, paid
- Fulfillment status — unfulfilled, partially fulfilled, fulfilled
- Refund status — unrefunded, refund owed, partially refunded, fully refunded
- Date range, staff member, service, or customer
Refund owed
When a customer cancels an appointment, the order status changes to "refund owed." The dashboard surfaces these automatically so you don't miss a refund that needs processing.
Refunds
Process full or partial refunds from the Orders dashboard. Select which appointments to refund, review the total, confirm. The refund goes back to the customer's original payment method automatically.
On Shopify, refunds processed in the Opencals dashboard sync back to Shopify — the order status updates in both systems.
Edit Orders After Booking
Customers change their minds after they pay. Open the order, click Edit, and change what they booked: move them to another studio or room at the same time, make a booking longer or shorter, swap the staff member or location, add or remove appointments, or change add-ons.
Nothing changes until you click Update order. Before that, the summary shows the new total, which discounts still apply (and any automatic discount the new order now qualifies for), and the difference: an amount to collect or a refund owed. Collect it with an invoice or mark it as paid, or refund it, from the same order. The customer's payment history stays on one order instead of being split across a cancelled booking and a new one.
The customer gets one email with everything that changed, and their calendar invites update.
No-Show Management
Mark any booking as a no-show from the orders view. This records it in the order history. Combined with the Deposits & Cancellations feature (beta), marking a no-show can trigger an automatic fee charge.
Shopify Order Sync
On Shopify, orders exist in both dashboards:
- Shopify admin — view using Shopify's native orders interface
- Opencals dashboard — full order management including refunds, manual payments, and detailed appointment data
Actions in the Opencals dashboard (refunds, mark-as-paid) sync back to Shopify automatically.
Deposits & Cancellations
Require deposits and enforce cancellation policies per service. (Beta)
Analytics
Revenue tracking, order stats, and service performance breakdowns.
Shopify Integration
How bookings become Shopify orders and sync between platforms.
Frequently Asked Questions
Get started
Ready to transform your service business?
Join 150+ businesses already using Opencals. Start on a free development store with every feature unlocked, and only pay once you go live.