By Sajad, Founder at Cellbot — 25 years in the tech repair industry
Published: 16 May 2025 · Fully reviewed: 29 August 2026
A reliable Shopify repair booking needs more than a calendar. It must keep the slot, device, requested repair, price or deposit, customer and eventual repair ticket consistent—even when payment fails, the customer reschedules or two people choose the last appointment.
Use one of three setups:
- Booking app attached to a service product: suitable for a small service menu and straightforward capacity.
- Custom Shopify product form plus booking system: suitable when device fields and theme control matter.
- Repair-platform embed: suitable when a broad pricebook, enquiry handling and repair ticket should share the same data.
Whatever the interface, define the booking state machine and system owner before launch.
Conflict disclosure: Cellbot provides the third setup and publishes this guide. Shopify facts link to current official documentation checked on 26 August 2026. Cellbot's current FAQ describes a Shopify-compatible embed, not a promise that every theme, booking or draft-order event works without configuration.
The booking state machine
| State | Customer sees | System must preserve |
| Enquiry | Device and repair questions | Partial data without creating duplicates |
| Slot offered | Available times and location or service route | Live capacity and expiry |
| Slot held | Clear hold duration | Temporary reservation tied to one session/customer |
| Payment pending | Deposit or full amount and terms | Idempotent payment attempt |
| Confirmed | Reference, time, place and next step | Booking, payment and customer links |
| Rescheduled | New time and updated confirmation | Same booking identity and history |
| Cancelled | Cancellation result and refund information | Released capacity and payment outcome |
| Checked in | Device receipt and repair reference | Booking converted or linked to one repair |
Do not create a repair ticket for every anonymous calendar view. Do not wait until check-in to discover that the paid booking cannot identify the device.
Step 1: choose the booking owner
One system should own availability and booking status.
| Owner | Suitable when | Integration rule |
| Shopify booking app | Shopify is the primary service catalogue and appointments are simple | Repair system consumes confirmed booking once |
| External calendar/booking system | The business already schedules several service types there | Shopify links or embeds; do not maintain a second capacity calendar |
| Repair platform | Repair pricebook, intake and ticket workflow determine availability | Shopify provides storefront context; repair platform owns state |
Two calendars that both accept appointments create overbooking. A one-way display of “available” times is unsafe if another system can consume the slot without updating it.
Step 2: create the service product
Shopify's service-product guidance says merchants can deactivate the physical-product setting so shipping charges do not apply and can install a booking app for availability and capacity.
The product page should state:
- repair, device family or diagnostic scope;
- fixed price, starting price, deposit or quote-request status;
- what the booking confirms—and what it does not;
- location, mail-in or mobile service route;
- expected duration only when it can be supported;
- cancellation/rescheduling rule;
- parts or diagnosis conditions; and
- warranty summary.
Place a test order after configuration, including a basket that contains both the non-shippable service and a physical accessory.
Step 3: collect only booking-critical data
Required at booking usually means:
- name and reachable contact route;
- device brand, model and relevant variant;
- requested repair or symptom;
- service route/location;
- preferred date/time; and
- acknowledgement of price and cancellation conditions.
Optional at this stage can include photos or notes. Do not collect device passwords or unrelated identifiers in a general storefront form.
Shopify themes support line-item properties for supplementary text or file information. If using them, test that fields remain attached through cart, checkout, order, notification, export and repair-system hand-off. App/theme upgrades can expose hidden assumptions.
Step 4: model capacity
Capacity is not only opening hours.
For each bookable repair, define:
- locations and eligible technicians;
- appointment duration and buffer;
- concurrent jobs allowed;
- notice and booking horizon;
- holidays, absences and blocked time;
- whether stock availability restricts booking;
- diagnostic versus repair slots; and
- mail-in jobs that consume workshop capacity but not counter time.
Start with fewer rules. A fully open calendar that cannot deliver the promised repairs creates more customer-service work than a controlled request flow.
Stock should rarely promise the final slot by itself
A part marked “in stock” may already be reserved, damaged or in another location. If the booking claims same-day completion, the availability check needs usable part, technician and time—not merely a positive stock quantity.
Step 5: choose payment timing
| Payment model | Use when | Must test |
| No payment | Quote or diagnostic booking with low no-show risk | Confirmation and cancellation ownership |
| Fixed deposit | Capacity or parts must be protected | Balance, cancellation and partial refund |
| Full payment | Scope and price are sufficiently certain | Repair exception and refund path |
| Post-diagnosis invoice | Price depends on inspection | Approval and secure payment link |
Shopify's draft-order guidance says merchants can add products or custom prices and send invoices with secure checkout links. That is useful after diagnosis, but the draft order should link to the booking and repair rather than creating a second customer journey.
Use a unique booking key as the payment idempotency key or equivalent reference. If a customer reloads after a timeout, the system should check the existing attempt before creating another booking or charge.
Step 6: write the confirmation contract
A confirmation should include:
- booking reference;
- date, time and timezone;
- location or shipping/collection instructions;
- device and requested repair summary;
- amount paid and balance treatment;
- what the shop will confirm after diagnosis;
- reschedule/cancel route; and
- direct contact path for mistakes.
The booking app, Shopify and repair system should not each send a different confirmation. Choose one owner and suppress duplicates.
Step 7: connect booking to the repair record
At confirmation or check-in, map:
| Booking field | Repair field | Acceptance rule |
| Booking ID | External reference | Unique and immutable |
| Customer | Customer record | Match verified contact; review duplicates |
| Device/model | Device | Known model or explicit manual review |
| Requested service | Intake request | Never treated as completed diagnosis |
| Price/deposit | Approval/payment | Exact amount and provider transaction linked |
| Appointment | Booking event | History preserved after reschedule |
| Notes/photos | Intake attachment | Access restricted appropriately |
The booking request describes what the customer believes is wrong. The technician's diagnosis and approved repair scope must remain separate fields.
Using Cellbot for Shopify repair booking
Cellbot's FAQ says Shopify merchants can add its storefront embed and use it for pricebook-based enquiry and booking. It says merchants should contact Cellbot when they want draft orders connected.
Before selecting a paid plan, demonstrate:
- theme and mobile embed behaviour;
- configured-price lookup and missing-price escalation;
- slot hold and concurrency;
- deposit success, failure and retry;
- draft-order or payment ownership;
- reschedule and cancellation;
- customer/repair duplicate prevention; and
- export of booking, payment and repair history.
Review current Cellbot plan limits. Starter supports one user, one location and 100 repairs per month; the wider operational functions vary by tier.
Booking failure tests
Run these before launch:
- two customers choose the last slot;
- payment succeeds but confirmation webhook times out;
- payment fails after the slot is held;
- customer refreshes and submits twice;
- staff reschedules across locations;
- customer cancels before and after the cutoff;
- part becomes unavailable after booking;
- device model is ambiguous;
- customer books the wrong service;
- mixed product/service basket is refunded partly;
- confirmation email or SMS fails; and
- booking converts to one repair and later one warranty return.
Record expected system state, customer message, owner and recovery for each failure.
Shopify repair booking FAQs
Does Shopify include appointment booking?
Shopify's guidance points service sellers to booking apps in the Shopify App Store. The merchant must configure availability, capacity and the relationship between booking, payment and service fulfilment.
Should I take a repair deposit?
A deposit can protect scarce capacity or ordered parts. State what it covers, how it is credited and when it is refundable. Test partial refunds and cancellations in both the commerce and repair records.
Can line-item properties collect device details?
Yes, Shopify documents line-item properties for supplementary product-form information. They can fit a limited intake form. Test theme, cart, checkout, notifications, export and integration before relying on them for repair-critical data.
Is a booking the same as a repair ticket?
No. A booking reserves time and captures a request. A repair ticket should preserve intake condition, diagnosis, approval, parts, technician work, payment and warranty history.
Can Cellbot create Shopify draft orders?
Cellbot's public FAQ says Shopify users should contact the team when they want draft orders connected. Cellbot is not yet listed in the Shopify App Store, so treat the exact flow as scoped capability and demonstrate it in the intended plan; do not assume it from the storefront embed alone.
Sources and review method
This guide was fully reviewed on 29 August 2026 using current Shopify service-product, theme and draft-order documentation plus Cellbot's current FAQ and pricing. The booking state machine, field map and failure tests are Cellbot editorial frameworks. Cellbot's Shopify App Store listing is described as pending, not approved.
Continue with selling repair services on Shopify, displaying repair prices and the repair shop CRM guide.





