Use booking software for the front door, with service tiers, a daily cap and an intake form, and keep your price list as one clean table so AI can draft replies and quote text from it. Full repair shop software for bike shops can wait. The mechanic decides what each bike needs; the tools handle slots and wording.
In a spring rush the scarce thing is bench hours, not customers, so the booking page has to ration hours, not just collect names. A two-mechanic shop with 10 bookable hours a day clears about five average jobs; if it accepts every request through a busy month, a two-day wait can stretch past ten days.
What the workshop needs from booking software, in six checks
I name software here only for its booking features. Whether a full workshop system with job tickets, parts ordering and invoicing is worth paying for is a separate decision, picked up in the last section. For the booking front door, test any tool against six checks, each of which maps to a real workshop problem.
| Check | Why a workshop needs it | How to test it |
|---|---|---|
| Services with lengths and prices | A tier decides how many bench hours a booking uses | Create Safety check, Basic service and Full service as separate services and see whether each shows its own length and price |
| A daily cap on bookings | Without one, the calendar fills faster than the bench can work | Set the cap to 2, book three test jobs for one day, and confirm the third is refused |
| Intake questions | Bike type, the problem and an approved spend decide how the job is handled | Add a drop-down and a free-text question and confirm both answers appear on the booking |
| Confirmation and reminders | A reminder with drop-off rules cuts no-shows and surprises | Book a test appointment for your own phone and read the message that arrives |
| Deposit or card on file (optional) | Long jobs tie up hours if the customer doesn't turn up | Check whether deposits and no-show fees are on your plan or only on a higher one |
| Export | You need booking data to work out the queue, and to move later | Download bookings as a CSV, or copy them into a sheet |
Two common tools, checked on their own pages in October 2026, show how much the details vary. Square Appointments lists Free at $0, Plus at $49 and Premium at $149 a month per location. Its online booking page, text and email reminders and appointment deposits appear on every plan, no-show fees appear under Plus and Premium only, and a daily booking limit appears to start at Plus, so confirm both on the live page. That page doesn't describe custom intake questions for appointments, which is why the test in the table matters.
Google Calendar's appointment schedules work with a personal Google account or a Workspace account and are set up on a computer, not in the phone app. They offer a "Maximum bookings per day" setting, buffer time, extra questions through "Add an item", up to five reminders whose wording you can't edit, and payments through a connected Stripe account. Some features need an eligible Workspace or Google One subscription. Neither page describes a cap per service type, so plan around a single daily cap. The tutorial on what to check in AI booking systems goes further on the same checks.
Service tiers: write the menu before you build the booking page
A tier is a promise about bench time. Write the menu first, because the booking page, the cap and the quotes all hang off it. This illustrative menu prices labour at $60 an hour, and parts are always extra at list price.
| Tier | What is included | Bench hours | Labour price |
|---|---|---|---|
| Safety check | Brakes, gears, tyres, wheels, headset and bolts inspected; report only, nothing adjusted beyond tyre pressure | 0.5 | $30 |
| Basic service | Safety check plus brake and gear adjustment, chain clean and lube, wheel true check | 1.5 | $90 |
| Full service | Basic service plus drivetrain strip and degrease, hub, headset and bottom-bracket check, cable and housing inspection | 3 | $180 |
| Overhaul | Full strip and rebuild of bearings and drivetrain; parts quoted after inspection | 5 | $300 |
| Repair jobs | Puncture, pads, cables, tyres and similar, priced from the list | By job | Per list |
Take the hours from your own tickets, not from a guess: average the last twenty jobs of each tier, then add the paperwork and wash time that the stopwatch misses. Overhauls are bookable by request rather than straight from the calendar, because a single one takes close to a mechanic's whole day and a calendar with no per-service cap can't stop three landing on one Monday.
AI earns its keep on the wording. Paste your draft menu and ask for plain English that a customer can compare at a glance:
Rewrite these service tier descriptions in plain English for customers, one short paragraph each. Keep every tier a strict superset of the one before it. List any item that appears in two tiers with different wording, and any item a customer could reasonably assume is included but isn't. Do not add jobs, parts or prices.
The overlap check is the useful part. In the menu above, "wheel true check" sits in the Basic service and the Full service strips down further, so a customer can fairly ask whether a basic service includes trueing a wobbly wheel. The answer in this menu is no, because a check is a report and trueing is a priced repair job. Settle that now and the counter never has to argue it later.
Intake: what to ask at booking and what to record at the bench
Two intakes happen, and they should stay separate. The online form is filled in by the customer and should take about a minute on a phone, because every extra field loses a few bookings. The bench intake is filled in by staff when the bike arrives. The online form that suits the tiers above:
- Name, mobile number for texts, and email.
- Bike type from a drop-down: road, hybrid, mountain, kids', cargo or e-bike.
- E-bike only: the motor or battery brand, if the customer knows it.
- Tier: Safety check, Basic service, Full service or "Not sure". The "Not sure" option does the most work on the page, because it routes the booking to a safety check instead of a guess.
- What is wrong, in a sentence (free text, about 300 characters).
- "Has the bike been in a crash or been dropped?" A yes should trigger a human reply before the booking is confirmed.
- "Call me before spending more than", with a dollar amount. This single field settles most arguments about approval later.
- Consent to texts for reminders and updates.
At the bench, record the things the customer can't. A ticket number on a tag tied to the bike and the same number on the ticket; photos of both sides, the drivetrain and any existing damage; accessories left on the bike and which the customer wants removed; tyre pressures; the approved spend limit and the promised date; for e-bikes, whether the battery was removed and where it is stored under your own battery policy; and the initials of whoever took the bike in.
A mechanic with oily hands will talk to a phone faster than they will type. The tutorial on turning voice notes into job sheets and quotes covers the general method. The bike version comes with one rule that matters: the AI may structure what was said and may not add to it.
Turn this voice-note transcript into a workshop ticket with exactly these fields: TICKET, BIKE, IN, PROMISED, BOOKED, CUSTOMER REPORTS, LEFT ON BIKE, EXISTING DAMAGE, APPROVAL LIMIT, NOT RECORDED. Use only what the note says. If a field is missing, write NOT RECORDED. Do not add diagnoses, causes or recommendations. In NOT RECORDED, also list any of these the note doesn't mention: photos, tyre pressures, e-bike battery status, tag number.
A made-up transcript and the ticket it produces (illustrative):
Ticket 2147. Grey hybrid, red pannier still on it. Customer says it clicks under load and the rear brake squeals. Front mudguard was already cracked when it came in. Booked a basic service, wants a call before we spend over fifty. In Tuesday, promised Friday.
TICKET: 2147
BIKE: hybrid, grey
IN: Tuesday
PROMISED: Friday
BOOKED: Basic service
CUSTOMER REPORTS: clicks under load; rear brake squeals
LEFT ON BIKE: red pannier
EXISTING DAMAGE: front mudguard cracked on arrival
APPROVAL LIMIT: call before spending over $50
NOT RECORDED: photos, tyre pressures, e-bike battery status, tag number
Two things to check on every ticket. First, the customer-reports line should contain only what the customer said. A common slip in a first draft is a helpful guess such as "probably a worn chain" that nobody said, and the "do not add diagnoses" line exists to stop it. Second, the NOT RECORDED line is the one that earns its keep: it turns the ticket into a to-do list, so the photos get taken before the bike goes to the back of the workshop.
Spring rush arithmetic: cap drop-offs by bench hours
A booking calendar without a cap is a promise to everyone who asks. The cap should come from your bench hours, and the sum takes five minutes. The figures here are illustrative, and the steps are the same for any size of workshop.
- Count bookable hours. Two mechanics at 6 bookable hours each (the rest goes on parts orders, phone calls, cleaning and test rides) is 12 hours a day. Hold 2 hours back for walk-in quick fixes and re-checks. That leaves 10 scheduled hours a day, or 60 over a six-day week.
- Find the average job. From last spring's tickets, say 1.8 hours across all tiers and repairs.
- Plan to 90%, not 100%. Ten hours divided by 1.8 is 5.6 jobs, but jobs overrun. Plan to 9 hours, which is 5 jobs a day. Set the daily cap to 5.
Now compare two springs. Take a week in which 45 bikes ask for a booking, which is 81 hours of work, and a queue that starts at 20 hours (two days). If you accept every booking, 81 hours go in and 60 come out, so the queue grows by 21 hours a week. Capped at 5 a day, 54 hours go in against 60, so it shrinks by 6.
| End of week | Accept every booking: queue and wait | Cap of 5 a day: queue and wait |
|---|---|---|
| Start | 20 hours, 2.0 days | 20 hours, 2.0 days |
| Week 1 | 41 hours, 4.1 days | 14 hours, 1.4 days |
| Week 2 | 62 hours, 6.2 days | 8 hours, 0.8 days |
| Week 3 | 83 hours, 8.3 days | 2 hours, 0.2 days |
| Week 4 | 104 hours, 10.4 days | 0 hours, 0 days |
The wait is the queue divided by 10 hours of daily capacity. Accepting everything turns a two-day wait into a ten-day one inside a month, and every customer in that queue is told something that stops being true. The cap is slightly cautious: once the queue is under a day, raise it to 6 on Saturdays or open a few extra slots. The 15 bikes a week you can't take are 27 hours of work, roughly one part-time mechanic, which is a hiring or overtime decision and not something an AI can settle for you. Until you decide, offer a waitlist.
Publishing the wait is the other half. Each Monday, list the open tickets and their estimated hours. A typical list holds 21 open jobs: four safety checks (2 hours), nine basic services (13.5), six full services (18) and two overhauls (10). That is 43.5 hours, or 4.35 days. Let AI do the writing and your sheet do the adding:
Here is my open-ticket list with estimated hours. Add the hours, divide by 10 (my daily capacity), round up to the next half day, and write two things: a one-sentence banner for my booking page, and a one-line auto-reply that quotes the same wait. Show the sum. Do not promise any specific date.
For the 43.5 hours the sum is 4.35 days, rounded up to 4.5, so the banner it returns would read something like "Current wait: about 4 to 5 working days from drop-off", and the auto-reply the same figure in a sentence. Check the sum before you publish. If it's wrong, the page promises the wrong wait to everyone who books that week.
Quote text from a price list that the AI cannot add to
Quotes go wrong in two ways: the AI invents a line, or it adds up badly. Both are fixed by giving it a closed price list and the mechanic's job lines, and by checking the total yourself. The price list lives in the prompt, with a date, so nobody quotes from last year's prices. These are invented prices.
You write customer quotes for a bike workshop. Use ONLY the price list below. Input: the mechanic's job lines (codes and quantities) and the ticket details. Output: (1) a text message under 120 words, (2) a table of lines with prices, (3) subtotals for labour and parts and a total. Rules: never add a job or part the mechanic did not list; never change a price; if a code is not in the list, write NOT IN PRICE LIST and stop; include the sentence "We will not start extra work without your yes."; give a ready date only if I supply one; show the arithmetic. Prices are before sales tax.
PRICE LIST, updated [date]. Service tiers are priced at $60 an hour; repair jobs carry the fixed labour price shown.
SAFETY Safety check, labour 30
BASIC Basic service, labour 90
FULL Full service, labour 180
PUNCT Puncture repair or tube fit, per wheel, labour 15
PADS Brake pads fit, per wheel, labour 15
CABLE Gear or brake cable and outer fit, each, labour 25
CHAIN Chain fit, labour 15
TYRE Tyre fit, per wheel, labour 10
TRUE Wheel true, per wheel, labour 20
P-TUBE Inner tube 9
P-PADS-R Rim brake pads, pair 14
P-CHAIN-10 Chain, 10-speed 28
P-CHAIN-11 Chain, 11-speed 34
P-TYRE-C Commuter tyre 35
P-CABLE Gear cable and outer set 12
Now feed it ticket 2147 from earlier. The customer booked a basic service with a $50 approval limit. After inspection, the mechanic lists: BASIC, CHAIN, P-CHAIN-10, PADS (one wheel), P-PADS-R, and says the bike will be ready Friday. A correct answer (illustrative):
Hi [first name], the mechanic has finished inspecting ticket 2147. Your basic service is booked at $90. The chain and the rear brake pads are worn and we would recommend replacing both: chain $28 plus $15 fitting, rear pads $14 plus $15 fitting, which is $72 extra and $162 in total. Reply YES to approve, or tell us what to leave. We will not start extra work without your yes. Ready by Friday.
BASIC Basic service, labour 90
CHAIN Chain fit, labour 15
P-CHAIN-10 Chain, 10-speed 28
PADS Brake pads fit, 1 wheel, labour 15
P-PADS-R Rim brake pads, pair 14
Labour 120 | Parts 42 | Total 162
Run four checks before it goes out. Every line must match a code the mechanic gave you, so a line like "wheel true" that crept in because the note mentioned a wobble is a fault. The total must be right: 90 plus 15 plus 15 is 120 labour, 28 plus 14 is 42 parts, and 162 overall, but check it yourself in a sheet, as the tutorial on why AI is bad at maths and what to check in quotes explains. The word "recommend" should stay a recommendation unless the mechanic wrote a safety note, in which case the wording belongs to the mechanic. And the $72 extra is over the customer's $50 approval limit, so the message must ask for a yes before any work starts, which it does.
The chain line shows why the mechanic, not the AI, picks the part. A 10-speed and an 11-speed chain are not interchangeable on every drivetrain, and the price list holds both. The code in the job line settles the choice, and the AI only prices it. If you want a formal sign-off before a quote goes out, the tutorial on setting up an approval step for AI-written quotes shows how.
One more point on wording. Some places have rules about written estimates and about authorising extra work, and a word like "estimate" can carry a different meaning from "quote". Ask your adviser what applies where you trade, then put the agreed wording into the prompt so every message uses it.
Answering enquiries without diagnosing by message
Enquiries in spring arrive as short messages: "gears jumping, how much?" The job of the draft reply is to point to the right tier, give the current wait and the booking link, and say what happens next. It is not to guess at faults. Give the AI a standing brief with your tier menu, the weekly wait banner, the booking link, your e-bike policy, and the rules below, and then approve each reply before it goes out.
You draft replies for a bike workshop. Use only the tier menu, price list, wait banner, booking link and policies below. Never diagnose a fault, name a cause, or promise a date. If the customer mentions a crash, a failed brake, a cracked frame or fork, or anything electrical or about a battery, start the draft with FLAG FOR A HUMAN and keep the reply to: ask them not to ride the bike until we have seen it, and offer a safety check. If the question isn't covered by the policies below, write NOT COVERED instead of answering.
| Customer message | Draft reply (shortened) | What the human checks |
|---|---|---|
| "Gears keep jumping on my hybrid, how much to fix?" | "Thanks for getting in touch. The best starting point is a Basic service ($90 labour), which includes gear adjustment. If the mechanic finds a worn part we'll quote it before fitting anything. Book here: [link]. Current wait: about 4 to 5 working days from drop-off." | No cause named; the price and wait match the menu and the banner |
| "I came off yesterday, front wheel looks buckled and the brakes feel odd. Can you fix it by Friday?" | FLAG FOR A HUMAN. "I'm sorry to hear about the fall and I hope you're okay. Please don't ride the bike until we've seen it. A Safety check ($30 labour) is the place to start, and the mechanic will quote any repairs. We can't promise Friday before we've looked, but we'll give you a realistic date at the same time." | A person sends it, and the safety wording is the one you agreed in advance |
| "Do you service e-bike motors?" | Uses the e-bike policy lines you supplied, for example "We service the mechanical parts of e-bikes. For motor or battery faults, [your policy line]." | The policy sentence comes from you; if the policy isn't in the brief, the draft should say NOT COVERED |
When the calendar is full, the best reply is a short, honest one: "Our workshop calendar is full until [date]. You can join the waitlist here [link] and we'll text you when a slot opens. If your bike isn't safe to ride, tell us and we'll book a quick check." The date comes from your calendar and not from the AI. Waitlist numbers are also useful in their own right: a growing waitlist is the evidence you need for the hiring decision above.
Messages once the bike is on the stand
The quote message above covers approval. Two more messages cover most of the rest of the job, and both are short enough to keep as saved snippets that the AI fills from the ticket.
- Waiting for parts. "Hi [first name], ticket 2147: the chain we need is on order, due [date from the supplier]. The rest of the service is done. We'll text again when it's ready. If you'd rather collect now and come back for the chain, reply and we'll sort it." Include the date only if the supplier gave one.
- Ready for collection. "Hi [first name], your bike (ticket 2147) is ready. We're open [hours]. Please quote the ticket number when you collect. Total due: $162, as approved." The total is the approved figure from the quote, never recalculated by the AI.
Quotes that nobody answers are a quiet leak. A single polite follow-up beats silence, and the tutorial on following up unapproved repair estimates has the wording. Keep the rule that no extra work starts without a yes, whatever the follow-up says.
Where AI trips up in a bike workshop, and the check for each
- Compatibility claims. "That chain will fit your 12-speed" can come out sounding certain and be wrong. The mechanic reads the drivetrain and picks the code, and the price list contains only parts you stock. Anything outside the list returns NOT IN PRICE LIST.
- Torque figures and procedures from memory. Never take a torque value, a bleed procedure or a spoke tension from an AI answer. Use the component maker's published figures for the job in hand.
- Arithmetic. Totals on a quote can be off by a line or by a decimal point. Recompute in a sheet and compare, every time.
- Turnaround promises. A reply that says "ready by Friday" because the customer asked for Friday is a promise. Dates come from the queue sum or from the mechanic.
- Diagnosis by message. The AI will happily explain why gears jump. Treat that as a guess and keep it out of replies.
- Battery and electrical advice. Never let the AI advise on e-bike batteries, chargers or wiring. Follow the manufacturer's guidance and your own written policy.
- Stale prices. If the price list in the prompt is a month old, so is every quote. Put the date at the top and refresh it on the first of each month.
- Customer details in prompts. Use the ticket number and "[first name]" in drafts, and merge names in your booking or messaging tool afterwards.
A five-day set-up before the season starts
This takes about a working week and needs no developer. Do it a month before your spring rush starts, not during it.
- Day 1, the menu. Write the tiers, set the hours from your last twenty tickets of each tier, and run the overlap check.
- Day 2, the price list. One table of job codes, labour prices and parts you stock, with a date. Decide whether prices include sales tax, and say so once.
- Day 3, the booking page. Set up services, the daily cap, the intake questions and the reminder text. Test it with the six checks, on your own phone.
- Day 4, the prompts. Save the ticket, quote and enquiry prompts together in one place, such as a Project in your AI tool of choice, so everyone on the counter uses the same ones.
- Day 5, ten mock bookings. Run ten pretend customers through the whole path, including a crash enquiry and an e-bike question, and fix whatever the AI or the page got wrong.
When ticket volume climbs, or a mistake keeps recurring, a full workshop system with job tickets, parts and invoicing may earn its monthly fee. Ask the questions in the tutorial on pre-purchase checks for a shop before you sign, and bring your tier menu and price list with you: they make any demo easier to judge, because you can ask the vendor to show your own jobs in their system.
Questions bike shop owners ask about AI bookings and quotes
Do I need dedicated bike-shop software to take bookings?
No. A booking tool with services, a daily cap, intake questions and reminders runs the front door. Dedicated workshop systems add job tickets, parts and invoicing. Start with the booking page and a tidy price list, then add the rest once ticket volume or errors justify the monthly fee.
Can AI give a fixed price before the mechanic has seen the bike?
Only for the tier itself. Before inspection, state the tier's labour price and say parts are extra. After inspection, the mechanic's job lines produce the quote, and the AI only formats them from your price list. Anything the list doesn't cover goes back to a person, not to a guess.
How do I stop AI promising a collection date I can't keep?
Never let it choose the date. Give it the wait figure you calculate from your open tickets each Monday, or leave the date out and send the ready-for-collection message when the mechanic marks the job done. A date in a message should always come from a person or from your queue sum.
Should the booking page take deposits?
It is optional. Square lists appointment deposits on every plan, and Google's appointment schedules need a connected Stripe account for payments. Deposits suit overhauls and other long jobs where a no-show wastes hours, while reminders may be enough for a short safety check. State the cancellation rule before the customer books.
Further reads
- Birdeye for a Bike Shop: Review Requests After Repairs, Worth It? — Ask for reviews after repairs without a paid review tool.
- How Garages Use AI to Send Repair Updates Customers Appreciate — More wording for in-progress and ready-for-collection messages.
- Auto Repair Intake Form: Let AI Capture the Complaint Clearly — A parallel intake form for another kind of workshop.
- Shoe Repair Software: Job Tickets, Pick-Up Texts and AI Replies — Job tickets and pick-up texts in a small repair business.
- E-Bike Rental Software: Bookings, Waivers and Battery Checks — Battery checks and waivers if you also rent e-bikes.
- How to Reduce No-Shows With AI Reminders and Automatic Rebooking — Reminder timing and rebooking rules for missed drop-offs.
- AI for a Shoe Repair Shop: Quotes and Ready-for-Collection Texts — Draft provisional quotes from customer photos and your own price list, then send ticket-numbered ready and reminder texts, with prompts and timings.
- AI for Bike Rental Businesses: Availability, Waivers, Weather Rebooking — A bike rental shop's week of enquiries worked through: free-bike answers, waiver reminders and weather rebooking, with the checks that keep a person in charge.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Square Appointments pricing page; Google Calendar Help (appointment schedules).