# myodo

> Shop management for independent auto repair shops.

Staff help for the shop workspace.

# Scheduling and managing jobs

**Schedule** is the day-and-bay calendar for open jobs. Open a job from the
board and it stays available as a tab at the top of the app so you can jump
back without losing your place on Schedule or Inbox. Use the list view when
you want a simple upcoming or past list instead of the board.

## Creating jobs

Open **New job** from the sidebar compose button, or click an empty slot on
the schedule board. A board click prefills that time and bay. Otherwise the
job can stay unscheduled until you place it later.

1. Search or add a customer, then choose or look up a vehicle. Plate and VIN
   lookup fill year, make, and model when they can. If a VIN is missing or won't
   decode, enter year, make, and model by hand and save.
2. Choose **Create job**.

Work is built on the job page after create (tasks, labor, and parts). Set your
default labor rate and parts tax under **Settings → Invoicing** before you
build estimates. Tax applies to parts lines on the invoice PDF. Add a
warranty on the same page to print it on estimates, repair orders, and invoices.
Use **Renumber jobs** there when numbering should continue from another system.

On the job page, use **Edit vehicle** for year, make, model, trim, transmission
style and speeds, plate, date of manufacture (MM/YYYY), and oil interval. Use
**Change vehicle**
to point the job at a different vehicle for that customer. When a vehicle has no VIN, the props
rail shows **Add VIN**.
Parts and labor search warn that fitment uses year, make, and model until a
VIN is set.

California shops: under **Settings → Details**, enter the BAR registration
number (ARD) so it prints on estimates, repair orders, and invoices with the
shop name and address. Add an EPA ID there before charging a hazardous waste
disposal fee on a job. Part lines include a condition (New, Used, Rebuilt, or
Reconditioned). Generic fees such as shop supplies are not allowed.

## Estimate workflow

Open an appointment to edit tasks and odometer readings on the job page. Intake
notes sit above Tasks and save when you leave the field. Use **Edit** on a task
to add labor and parts, then **Done**. You stay on the job page. Under the task
list, use **+ Add task** to search labor for the vehicle and add a task. Use **From library** to add a saved
task. SpeedDIAL parts on that task get a draft under **Orders**. Use **From estimate** to add declined tasks from earlier jobs on this
vehicle. Pick the tasks to bring over, then **Add tasks**. Use **Add DVI** to add a digital vehicle inspection. Use **Discount** under
the task list to switch catalog discounts or clear the job discount. The job
Total sits above Discount and shows the discount under Subtotal. Tax on parts uses the price after a
parts or whole-job discount. Choose **New
discount…** for a one-off on this job. Reusable discounts live under Settings →
Discounts. A customer's default discount is added only on new jobs.
**+ Labor** and **+ Part**
open a search for the vehicle on the job. Pick a match to fill the line, or keep
typing and use the custom option when nothing fits. Use **Labor guide** to
browse operations by category. When SpeedDIAL is
connected, **+ Part** also offers **SpeedDIAL**. That is how you order from
Worldpac on a job. The catalog opens in a new window. Exported lines land
on that task, and under **Orders**. On a part line, type a sell price or change the multiplier or gross profit percent. Changing one updates the others from unit cost. Part lines have Vendor and Inv # on the job. Search a shop vendor or add one. New vendors are saved under **Vendors** when you save the part. Inventory and SpeedDIAL fill Vendor (Wpac for Worldpac). Inv # is the supplier invoice. Printable documents omit those fields. Choose **Save to library**
on a task when you want to reuse that work on later jobs. Manage saved tasks
under **Library** in the sidebar. Choose **Delete task** when the task should
not stay on this job.
On a return visit for the same vehicle, the new inspection starts from the last
completed one so the tech updates ratings instead of starting blank.

- **Share** (share icon) sends the PDFs that match the job phase: estimate on
  Estimate and Queue, estimate or repair order on Repair and Review, and those
  plus the invoice after Invoice. After card payment you can also send the
  Stripe receipt. When the job has a DVI, Share also offers **Inspection**: an
  interactive link with notes and photos (email, text, or copy). Repair order
  PDFs include inspection findings and work notes. Estimate PDFs include
  findings that are linked to tasks (created when the tech marks the
  inspection complete). Approval links are separate from Share.
- To send work for customer approval, open **Approval** in the task list
  header (right side of the toolbar). Choose **Send to customer** at the
  bottom of the menu. Pick text or email, then send. The customer approves or
  declines on the link (**Approve estimate** on that page). The estimate total
  includes sales tax. Tasks they approve show as Approved
  (web). Links expire in 14 days, and stop working if you cancel the job, mark
  Keys out, or send a newer link. Approval pages show the inspection note on
  tasks created from a finding.
- To record approval yourself, open a task's approval status control (or the
  header **Approval** menu). Choose Unapproved, Declined, or Approved.
  Approved opens a submenu for how it was given: In person, Phone, Text, or
  Email. Changes save right away. That record prints on the estimate, repair
  order, and invoice.
- Each task shows its approval status on the task card. Adding a part or
  raising the sell price on a task sends that task back to Unapproved. Other
  tasks on the job keep their approval.
- The job page phases are **Estimate → Queue → Repair → Review → Invoice →
  Complete**. Status shows the phase. The Status rail button is the next step
  (Keys in, Start repair, Invoice, Keys out). Unmet requirements list under the
  button. Clicking the button focuses the first gap.
- **Total** under the task list shows Parts, Labor, and Subtotal. Tax sits above
  the total when it applies. Printed estimates, repair orders, and invoices
  include the same sales tax line. The right rail starts with Status (advisor
  and schedule sit there), then Vehicle, then Customer (name and phone).
- On Estimate, **Keys in** needs at least one approved task and odometer in.
  Pending tasks can stay parked; the technician never sees them. Declined
  tasks stay off the floor. Keys in moves the job to Queue. You can still
  correct odometer in on Queue, Repair, or Review if the reading was wrong.
  The Status rail has a key tag field from Estimate through Invoice. Use it
  for the paper tag on the keys.
- On Queue, **Start repair** needs every approved task assigned to a
  technician. Use the technician control on a task, or choose **Assign to me**
  when you are taking the work yourself. Choose **No assignee** to clear the
  technician. Start repair moves the job to Repair.
- **Cancel job** asks you to type the job number (for example 143) before the
  job is cancelled. Customers are not notified. Choose **Reopen job** on a
  cancelled job to put it back on Estimate.
- On Repair and Review, **Invoice** stays visible. It needs at least one
  approved task, approved work complete, tire pressure filled, and odometer
  out. Clicking Invoice focuses the first gap. When all approved work and tire
  pressure are finished, the job moves to Review on its own; Invoice stays the
  CTA.
- On Repair, each **task card** is a checklist row. Advisors and technicians
  can mark **approved** labor tasks done with the circle on the left (or
  **Done** in the Tasks header for every approved task). Pending tasks stay
  parked and cannot be marked complete until they are approved. Clocked time
  shows on the task row. Use **Clock in** or **Clock out** on approved labor to
  start or stop the timer for the assigned technician. A technician can only be
  clocked into one task at a time. Advisors and shop admins can click the time
  on a task to edit clock in and clock out, or add or delete hours.
  Open a card to edit labor and parts; Cancel, Save, and Delete
  sit in the open card footer.
  **Check and set tire pressures** is its own card with its own technician
  assignee. Enter LF, RF, LR, RR, and door-spec front and rear; values save as
  you type and the card (and Invoice chore) complete when all six fields are
  filled. On Invoice and Complete, tasks and tire pressure are read-only until
  you move the job back to Review.
- On Invoice, print becomes an invoice. **Keys out** finishes the visit.
- After **Keys in**, jobs with a balance due show payment actions:
  **Charge terminal** (when a reader is online; pick one if several are online),
  **Share payment link** (text, email, or copy), and **Record payment** for cash,
  check, or other. Enter an amount to take a partial payment or a deposit; the
  default is the balance due. Share payment link asks for the amount first. Choose **Create link**,
  then send it or **Copy link**. Shared links use a short myodo URL. The Total
  rail shows Paid and Remaining when a prior payment exists. If card payments
  are not connected, **Collect card payment** opens setup; **Record payment**
  still works for cash and check. A short offline note shows when the shop has
  a reader location but none are reachable. While a terminal charge is in
  progress, choose **Cancel on reader** to stop it before the customer finishes.
  Paying the remaining balance on Invoice also moves the job to Complete. When the
  customer has an email on file, Stripe emails its card receipt in live mode.
  Use **Share** afterward to resend the receipt or share the invoice, estimate,
  or repair order PDF. **View in Stripe** on a card-paid job opens the shop's
  Stripe payment account (advisors included). Refunds for card charges are
  issued in Stripe from that view. Recorded cash, check, or other payments can
  be removed with **Void payment** on that payment's row menu. Voiding puts the
  amount back on Remaining. This can't be undone. Card charges are refunded in
  Stripe, not voided here.
- **Keys out** records that the customer left with the vehicle.
- **Activity** at the bottom of the job lists what happened on this visit
  (Keys in, assignments, status moves, and so on) plus **internal notes**. Use
  **Add internal note**, **Post note**, or **Save note** for staff-only comments.
  Those notes do not print on customer PDFs. Other visits for this vehicle
  show under **Past visits** in the right rail. Every vehicle for the customer
  is on the customer profile.
- **Technician notes** sit above Activity when a technician has added
  job-level observations (things not tied to one task). Task notes and photos
  still live on each named work group and can print on the repair order.
  Tracked time shows on the task row. You can add task notes
  and photos from the job page while the job is open (not on Invoice, Complete,
  or cancelled). Take a photo or choose one from the device. Each note shows who wrote it and when. Advisors and shop admins can
  edit or delete technician notes on tasks and inspection findings.
  You can edit or delete internal Activity notes you wrote. Shop admins
  can also delete those from others. Notes that no longer
  match a task show in Activity with the internal notes.
- On a DVI, findings are grouped by category. Categories start collapsed; open
  one section at a time. Open a finding to edit or delete its note, or add
  photos from the job page. When a technician marks the inspection complete, pending tasks are
  added for each yellow or red finding. Add labor before you approve or assign them.
  Yellow findings are monitored automatically.
  A later inspection that rates the same item green (or red) clears that
  watch. Findings also show under each vehicle on the customer profile and
  under Reports → Monitored items.

Uploaded repair orders from the review queue stay as invoices and cannot be
edited as estimates.

## Scheduling a job

Click an empty slot on the schedule board to open New job with that time
filled in. Or create from the sidebar and leave scheduling for later.

You can also open New job from a customer's profile, or from an Inbox request
armed on the board. The customer (and request details) are filled in for you.

On the board, the side panel lists **Unscheduled** Estimate jobs that still
need a clock time. Use the calendar-plus control to put one on the board. From the
job page, use **Schedule** or **Edit schedule** under Status to arm the
board, then click an open slot. That list updates live when someone schedules
a job or a customer sends a request. Leave the Schedule tab open; you do not
need to reload.

When you place or move a job, type the calendar length. All labor and Approved
fill hours from the job's tasks. Jobs can share a bay at the same time. Move a
job or change its length if two blocks overlap.

## Visit history

Open a customer profile to see every visit in **Activity**, newest first, with
date, job number, and service. Open a visit for the full job details. Uploaded
repair orders that were confirmed show on that visit, including a link to the
original document when one exists.

On the job page, **Activity** lists what happened on this visit (Keys in,
assignments, status moves, and so on) plus internal notes.

## Editing or cancelling

1. Open the job from Schedule or Jobs.
2. To move the time, choose **Schedule** or **Edit schedule** on the job,
   then click a new slot on the board and confirm.
3. To cancel, choose **Cancel job** and type the job number to confirm. A
   cancelled job can't be moved. Customers are not notified. Choose
   **Reopen job** on the job page to put it back on Estimate.

## Overlapping jobs

Jobs can sit on the same bay at the same time. If two blocks overlap, move one
or change its length.

# Billing and usage

Manage your subscription and month-to-date usage under Settings, then Billing.

## Plan and payment

The Plan section shows your current subscription status. Choose Manage billing to
update your card, or View invoices for receipts. Both open the billing portal.

If you are not subscribed yet, an owner or admin can subscribe from this page.

## When access is paused

If the organization subscription lapses, staff see a paywall instead of the app.
Subscribe restores messaging, appointments, and customer records. Owners and
admins can subscribe from that screen. Other staff should ask an owner or admin.
Contact support from the same page if you need help.

## Usage

Below the plan, each product shows how much you have used this month and how
much is included on your plan. The same counters are under Settings → Usage.
Campaign sending allowance is tracked here, not on the Campaigns list.

| Product | Included | Counted | Not counted |
|---|---|---|---|
| Outbound messaging | 600 texts | Inbox texts your shop sends | Customer replies, appointment reminders, booking confirmations |
| Campaigns and marketing email | 4,000 emails | Campaigns and marketing automations | Appointment reminders and booking confirmations |
| AI tokens | 1,000 tokens | Voice audio (1 per minute), campaign copy or images | |
| Plate lookup | 40 lookups | Plate lookups when scheduling or booking | VIN decode |

Customer replies always land in Inbox and do not use the outbound allowance.
When an Included amount is used up, that product stops until next month (outbound
texts, campaign email, AI, and plate lookup). Cap errors link here so you can
see usage. Use Help on this page if you need a higher limit.

Totals are organization-wide across all shops.

# Sending marketing campaigns

Campaigns let you send a marketing email to your shop's opted-in customers.
The Marketing section in the sidebar has Campaigns (your sends) and Automations
(emails that send themselves). Templates are reusable starting points you open
from a campaign or by URL.

## Campaign list

The Campaigns page has two tabs. Drafts holds campaigns still being edited —
each draft's menu lets you edit or delete it. Sent holds everything that has
entered the send pipeline:

- Scheduled — set to send at a future time, with an estimated recipient count.
- Sending — currently going out.
- Sent — delivered, with counts of how many were delivered (and any that failed).
- Canceled or Failed — stopped or unsuccessful.

## Creating a campaign

1. Choose **New campaign** to open the gallery. Starting points are grouped by goal:
   Getting started, Seasonal, Win-back, and Loyalty. A brand-new shop with no
   campaigns opens here automatically.
2. Choose a card to start a draft. That copies the content and its suggested
   audience into the builder. Blank under Getting started opens an empty draft.
3. In the builder, confirm who it goes to, edit the content, then use Preview
   and Review before sending.

## Choosing who it goes to

Each starting point comes with a suggested audience. Win-back, for example,
reaches customers not seen in a while with no upcoming appointment. Blank and
saved templates go to everyone opted in.

Add conditions to narrow the audience. The send goes to customers who match
all of them:

- Last visit, a number of months ago.
- Number of visits, or lifetime spend.
- Vehicle make, model, or year.
- Whether the customer has an upcoming appointment.

Every condition reads the same way: is, is not, is at least, is at most. A
yes/no field is a simple toggle. Reset to default puts the suggested audience
back. Everyone reached has opted in to promotional emails and has an email on
file.

## Writing with AI

The builder can write your email for you. Describe what the campaign is about
and Generate fills in the subject, preview text, headline, and body. Edit
anything afterward.

## Adding an image

The Image section creates a hero image for the top of your email. Describe the
image you want, or leave it blank to match the campaign, then choose
**Generate**. Use **Generate image** when you want a new hero from a prompt.
Choose **Remove image** any time to send without one. You can also upload your
own image instead of generating one.

## Automations

Automations send messages on their own as customers book, visit, and come due
for service. The content and timing are written by myodo — each automation is
just a toggle.

The page lists each automation on the left. Pick one to see its upcoming
sends, grouped by send date.

- Each automation has a toggle. Turn one off any time; turning it back on
  only affects activity from that point forward.
- Upcoming sends lists every message the selected automation has scheduled.
  Collapse a date to skim. Choose **Cancel send** on a row before it goes; a
  canceled send is never rescheduled.

Three automations are available:

- **Appointment reminders** nudge customers before an upcoming visit: once
  48 hours before the appointment, and again at 8 AM on the day of. Reminders
  go out by email, and by SMS to customers with a mobile number once a
  texting number is set up for the shop. Because reminders are about the
  customer's own appointment, they send even without a promotional opt-in.
- **Google review request** emails a review link the day after a visit is
  marked done. Paste your shop's Google review link under
  **Settings → Details** to turn the requests on.
- **Oil change reminder** emails the customer each month with the mileage
  their next oil change is due at, until the vehicle is serviced again. The due
  mileage comes from the vehicle's oil change interval plus its last recorded
  service. Set the interval when confirming a repair order that includes an oil
  change, or from Edit vehicle on the customer profile. A vehicle with no
  interval or no recorded last service gets no reminders.

Review requests and oil change reminders are marketing messages, so they only
go to customers who have opted in to promotional messages.

## Templates

Templates are reusable campaign content.

- From a campaign, choose **Save as template** (or **Save template**) to reuse
  its content later.
- Choose **New template** on the Templates page to start one from scratch.
- Your templates appear as starting points when you create a campaign.
- Open an existing template from the gallery or from its edit URL to change it.
- Choose **Delete template** on the template edit page, or from the template's
  row menu. Deleting removes that starting point. Campaigns you already sent
  from it are unchanged.

Templates save the email content, not an audience. A campaign started from a
template sends to everyone opted in until you customize its audience.

## Scheduling or sending

From a campaign you can schedule it to send at a chosen time, or send it. The
send goes to the audience shown on the review screen. Everyone in that audience
has opted in to promotional messages.

A campaign needs a title, subject, and body before it can go out. Preview text,
the headline, and the button are optional. If a required field is empty,
Review & send flags it inline and holds the send until you fill it in. Send
test checks the subject and body, since a test is a real email.

## Campaign results

Open a sent campaign to see how it performed. The report shows recipients,
delivered and failed sends, clicks, bookings, and unsubscribes.

- Clicked counts customers who clicked the email's button. Each customer
  counts once, no matter how many times they click.
- Booked counts appointments made online after clicking the campaign. A
  customer who calls to book instead is not counted here.
- Unsubscribed counts recipients who have since opted out of your promotional
  emails.

## Usage limits

Your plan includes a monthly sending allowance. Check it under Settings → Billing
(or Settings → Usage). If you reach the cap, contact support or wait until it
resets.

# Moving a customer list

myodo moves your customer list from another shop system. Use **Help** in the
sidebar and we handle the import.

# Using the inbox and messaging customers

The Inbox is where you message customers and handle their service requests. It's
where staff land after signing in.

## How messages reach customers

Messages you send are delivered as a text message (SMS) from your shop's
dedicated texting number when the customer has a phone number on file. Customers
reply by text like a normal conversation, and their replies appear in the thread
in real time — no app or account needed on their end.

Your shop's texting number is in the shop menu at the top of the left sidebar
(phone icon, above Settings).
That is the number customers text when they reply.

If a customer doesn't have a phone number on file, your message is sent to their
email address instead.

## When texting is still being set up

Right after you subscribe, your texting number may still be provisioning. Inbox
shows a message that the number is being set up. This usually takes a few minutes
to hours at most. You can't send or receive texts until that finishes. Refresh
Inbox, or wait. It unlocks on its own when the number is ready.

## Reading and replying

1. Open Inbox from the navigation. A count on the Inbox icon shows unread
   conversations and updates live even if you are on Schedule or another page.
2. Select a conversation to open the thread. Staff messages show the sender's
   name and photo. Lifecycle lines (bookings, job requests, creates, schedules,
   approvals) read as one short sentence, for example
   "Noah created Oil Change · 8:54 AM".
3. Type a reply and send it. It appears in the thread right away and is
   delivered to the customer by text.

If a text couldn't be delivered (for example, the number is a landline), the
message shows a "Not delivered" note under it.

## Archive

Choose Archive on a conversation to move it out of Inbox. Open the Archive tab
in the left list to find it again, then choose Move to Inbox. If that customer
calls or texts again, the conversation returns to Inbox on its own.

## Photos and videos customers text you

When a customer texts a photo or video, it appears in the thread. Photos open
full size in a new tab. Videos play inline in the conversation. A customer can
send media with no words, and it still shows up.

## After-hours phone calls

The same shop number can take voice calls. During the hours in Settings → Hours,
calls forward to your shop phone. Outside those hours (and when no shop phone is
set), callers leave a voicemail. The transcript and a playable recording land in
Inbox like a customer text, matched to the caller's number when possible. Use
**Create job** on that voicemail to open New job with the transcript as intake
notes.

## Live calls

When a call comes in during shop hours, the caller hears "This call may be
recorded for quality assurance" and the call is recorded while you talk.

Everyone on staff sees a small call marker at the bottom of the screen. It
never covers the page you're working on, and it doesn't ring or interrupt. The
shop has one phone line, so myodo can't tell who picked up: whoever is holding
the handset clicks Open call. That opens the caller's Inbox thread for them,
and everyone else's marker changes to show who took the call.

After the call ends, myodo fills the thread with a call card: the transcript,
the concern, the vehicle, and the services it heard. Nothing is saved as a job
until you press Create job, and you can edit anything first. After the call
ends, any staff can create the job from the card. After you create
the job, the card is replaced by a normal job activity row.

If the caller isn't a real job, choose Dismiss call. That removes the card. If
the thread had nothing else on it, it moves to Archive. The contact stays. If
they call or text again, the thread returns to Inbox. You can also open Archive
and choose Move to Inbox.

Caller ID usually matches the customer already. When the call didn't say enough
to name the vehicle, the card asks you for the year, make, and model. myodo
never guesses a vehicle.

The card stays in the thread after the caller hangs up, so you can finish the
job from what was said.

## Sending a photo

Use the camera button next to the reply box to attach one photo (JPEG, PNG, or
GIF, up to 5 MB). You can send a photo with or without a text message. Photos
only send when the customer has a mobile number that can receive texts.

## When a customer texts a new number

If someone texts your shop number and they aren't in your customer list yet, a
new customer contact is created automatically from their phone number and the
conversation appears in your inbox. You can fill in their name later from the
Customers page.

## Text message opt-outs

Customers can text STOP at any time to stop receiving texts. When that happens,
the thread shows an "Opted out of texts" note and your replies can't be
delivered by text (they'll go to email if there's an address on file). The
customer can text START to turn texting back on.

## Handling a booking request

When a customer selects Other on online booking, or picks services that don't
fit an open time block, an unscheduled job is created. The thread shows that
the customer created the job. It also appears under Unscheduled on the Schedule.

Open the job to assign a time, or use View job from the thread. Scheduled online
bookings show as a booked event with the date instead. If a request was
declined by mistake, choose **Reopen request** on the thread to put it back in
play.

## Job activity

Bookings, jobs you create or schedule, and customer approvals or declines show
in the thread like messages: event title, a short body, and a timestamp. Shop
events sit on the shop side; customer events on theirs. Staff with message
alerts on also get an email for approvals and declines.

## Starting a new message

Choose the compose button at the top of the inbox list. An empty thread opens
on the right. Search for the customer by name, email, or phone. Selecting them
opens their conversation (or starts one). Write and send in the normal reply
box. Cancel closes the empty thread and returns you to the list.

From a customer profile, choose Message in the right rail. That opens their
existing conversation, or starts one if they do not have one yet. The Message
icon on a job does the same thing.

# Job board

Jobs is a board of open work at the shop. Empty estimates with no tasks and no
approval do not appear. Use Schedule when you need a day-and-bay calendar.

Switch the header between Service advisor, Technician, and History.

## History

History lists closed jobs: complete and cancelled. Each row links to the job.
The list is paginated. Newest closed jobs appear first.

## Service advisor

Columns follow the shop floor. Status marks: open phases are
stroke rings; Invoice is a filled success disc with a check.

Approval and tech progress use different icons so they never collide with
status: shield for approved tasks, wrench for work done.

- **Todo** — Unscheduled estimates that still need shop action.
- **Dropping off** — Scheduled estimates waiting for the car and Keys in.
- **Keys in** — Jobs that have been keyed in (queue).
- **Repair**, **Review**, **Invoice** — Same floor phases as on the job.

The board is scoped by role. Shop admins see every open job. Service advisors
see their own jobs plus anything still unassigned. Within each column, the
oldest open job is at the top. When a technician is clocked into a task, that
job's card shows the live timer and progress against sold labor hours.

## Technician

Columns are Unassigned plus each technician who has open work. Status stays on
the card icon. A tech can only be clocked into one job, so at most one card per
person shows a live timer and progress against that task's labor hours. That
clocked-in card sits at the top of the column. The rest is Repair, Keys in,
Review, Dropping off, Estimate, then Invoice. Same stage stays oldest first.

## Opening a job

Click a card to open the job. Changes to status, assignees, or tech clock-in
refresh the board while the page is open.

# Library

Library holds saved tasks the shop reuses on jobs.

Open **Library** in the sidebar, under Schedule. Each row shows the task name, vehicle scope
(any vehicle or a year, make, and model), and how many labor and part lines it
has.

**Add task** opens the same labor and parts editor used on a job. Part sell
price can be typed in dollars, or set with a multiplier or gross profit
percent. Click a task name to edit. Delete from the row menu. Jobs that already
used a deleted task keep their copy.

Shop admins can turn **Online booking** on from the Library list, or on a
task and then Save changes. That adds it as a service on the Online Booking
page. Turn the toggle off to hide it from customers. Adding the same task
from Online Booking does this from the other side.

On a job, **Save to library** also adds a task here. **From library** inserts
a saved task onto the job. Fees on those parts are added too. SpeedDIAL parts
on that task get a draft. Submit it from the job Orders rail after the parts
are approved.

# Managing customers

The Customers section is where you manage the car owners connected to your shop.
Customers are shop contacts. They do not need a myodo login.

## Viewing customers

Open Customers from the navigation to see everyone connected to the shop. The
list shows name, phone, email, vehicles, opt-in, and last visit.

## Searching for a customer

Open Search from the magnifying glass next to the shop name in the sidebar. Type a
name, phone number, email, vehicle, or job number. Matching jobs appear first,
then customers. Select a job to open it, or a customer to open their profile.
Search covers the shop you're currently in.

## Adding a customer

1. Choose **Add customer** or **New customer** on the Customers page (the submit
   control may say **Create customer**). A window opens.
2. Enter first name, last name, and phone. Email is optional.
3. Submit. The customer is added to this shop and you can open their profile.

State on a new customer is the shop's address state. A shop in California
starts new customers as CA. Set the shop address under Settings, then Details.
Change one customer under Edit customer.

To message them, open their profile and choose Message in the Messaging section
of the right rail, or start a conversation from Inbox.

## Viewing a customer profile

Select a customer to open their profile. The main panel shows contact details,
vehicles, and an Activity list: every visit, newest first, with its date, job
number, and service. The right rail has visit stats, messaging, opt-in status,
and customer actions.

Open a visit to see its full details, including status, totals, repair order
line items, and a link to the original document when one exists.

Choose **New job** on the profile to create a job for this customer.

## Editing a customer

In the right rail, choose **Edit customer** to update name, phone, email, and
promotional email opt-in. SMS opt-in and opt-out come from texting (including
STOP and START) and show on the profile; they are not edited by hand here.

Choose **Discount** in the rail to set a default from the shop catalog, create a
new catalog discount, or clear it. The default is added on new jobs only.

## Merging duplicates

1. Open the customer you want to keep.
2. Choose **Merge duplicate** in the right rail.
3. Search for the other record.
4. Confirm **Merge customers**.

Vehicles, history, and messages move to the customer you keep. The duplicate is
then deleted. To keep the other record instead, start the merge from that
profile. Choose **Keep both** when the two contacts are different people and
you opened merge by mistake.

## Deleting a customer

Choose **Delete customer** in the right rail and confirm. Use this when the
contact should not stay in the shop. Prefer merge when two rows are the same
person. If a possible duplicate is suggested on the profile, open it and choose
**Merge instead** when the records are the same person, or continue with delete
when they are not.

## Adding a vehicle

Choose Add vehicle on the customer profile. Look up by plate or VIN. Plate
state starts as the shop's address state. When the
lookup finds the car, confirm and save. If the VIN is missing or won't decode,
enter year, make, and model, then save. You can also set transmission style,
speeds, and the oil change interval when adding the vehicle. Date of
manufacture (MM/YYYY) is optional.

## Editing a vehicle

Choose a vehicle on the profile to update the VIN, year, make, model, trim,
transmission (style and speeds), plate, or date of manufacture (MM/YYYY). Add a
VIN later when the customer provides one. If the customer brought a different
car, add a new vehicle instead.

Choose the plate or VIN on the row to copy it. Each vehicle also has an
actions menu (the three dots) with Edit vehicle, Transfer vehicle, and
Delete vehicle.

The same window sets the vehicle's oil change interval: how many miles between
oil changes. Once set, the interval shows on the vehicle row and the vehicle
gets oil change reminders.

You can also edit or change the vehicle from an open job.

## Transferring a vehicle

From the actions menu, choose Transfer vehicle and search for the customer
who should own it now, including a shop or house account. The car moves. Jobs
and invoices stay on this profile.

## Deleting a vehicle

From the actions menu, choose Delete vehicle. Vehicles with appointments or
service history can't be deleted.

# Setting up online booking

Online booking lets customers schedule appointments with your shop from a public
booking page. Booking is always available once you've set up services and
availability — there's no separate on/off switch.

Find these settings under Settings, then Online Booking.

Hero image, layout, theme, logo, about, photos, and Google reviews live under
Settings, then Website.

## Availability

On the Online Booking page, set one weekly schedule: turn each day on or off and set its start and end times
(for example, Monday–Friday, 8:00 to 17:00).

Choose Add break on a day to block out a mid-day closure, such as lunch.
Customers can't book times during the break, and appointments won't span it.
Remove a break with the X next to its times.

## Capacity

- Bays — how many appointments can run at the same time. Each booking holds one
  bay for its full duration.
- Daily online hours — an optional cap on total hours booked online per day
  (0 means no limit).
- Minimum notice — how many days in advance a customer must book. Set it to 0
  to allow same-day booking.

## Confirmation message

Edit the message customers see after they book.

## Appointment reminders

Appointment reminders live on the Automations page (Marketing → Automations),
alongside your other automatic messages. Customers get a reminder 48 hours
before their appointment and another the morning of. See the Automations
section of the Campaigns help for details.

## Services

The Services table lists everything customers can book online. It starts with a
few common services (such as Oil Change and Engine Light Diagnosis), and you have
full control over all of them. On Full, those services also appear in a Services
section on the public page.

A service can come from a Library task. When a customer books it, the job gets
that task's labor and parts.

1. Choose **Add service** to create a custom service. Enter a name, description,
   and duration in hours (for example 1.5 or 8). Optionally set a per-day cap
   and turn on Waiter if the customer waits on-site. Choose **Create service**.
2. Choose **From library** to add a Library task as a service. Duration is
   filled from the task's labor hours. You can still edit name, description,
   duration, per-day cap, and Waiter after it is added.
3. Turn Bookable off for any service you don't offer. It stays in this table so
   you can turn it back on later, but customers no longer see it on the booking
   page. This works for every service, including the ones that came built in.
4. Edit any service's fields inline; changes save with the main Save changes
   button (there's no per-row save).
5. Delete a service from its actions menu (the ... button at the end of the row).

Drag the handle at the start of a row to reorder the list. The order here is the
order customers see on the booking page, and it saves as soon as you drop the row.

## Auto-book vs requests

When a customer picks services that fit an open block of time, they choose a
slot and a scheduled job is created right away (created via online booking).

If they select Other and describe a custom need, or the selected services add
up to more time than your longest open block (for example lunch splits the day
into two shorter windows), online booking creates an unscheduled job instead.
It shows under Unscheduled on the Schedule, and in Inbox as a new job from the
customer. Open the job to schedule it when you're ready.

## Date overrides

Choose **Add override** to close a specific date or set custom hours for it
(holidays, and so on). Overrides change what's available on the public booking
calendar.

## Installing on your website

The Online Booking settings include your booking URL. The link uses your shop
name, such as /book/westside-motors. Copy it to share with customers.

If the shop already has a website, copy the Website button snippet from the
same settings card. Paste the script and Book button on those pages. Customers
stay on the shop site. The scheduler opens over the page.

Plate state on the booking form starts as the shop's address state. Set that
address under Settings, then Details.

Choose Save changes in the page header to keep your edits.

# Ordering parts

Shop in SpeedDIAL. Submit in myodo. Each task keeps one draft.

## Worldpac

Worldpac is the catalog vendor. Staff pick parts in the speedDIAL catalog.

### Connect SpeedDIAL

1. Open **Vendors**. **Worldpac** is the first row.
2. Open that row to edit phone and account number.
3. Choose **Manage SpeedDIAL**. Settings → Integrations opens on SpeedDIAL.
4. Enter the Worldpac account number, speedDIAL username, API token, and
   country.
5. Create the token in speedDIAL under Settings, API Tokens. Name the token
   for myodo. The token is shown once.
6. Save changes. The Worldpac row shows SpeedDIAL.

You can also open Settings → Integrations and choose SpeedDIAL.

### Order from a job

1. On the task, choose **+ Part**, then **SpeedDIAL**. You do not need to
   save the task first.
2. The Worldpac catalog opens in a new window. The job's vehicle VIN is sent
   when the job has one.
3. Find parts in speedDIAL. Export priced lines back to myodo.
4. Those lines land on that task and on that task's **draft**. New parts get
   Worldpac as the vendor. Punch out again from the same task and lines add
   to the same draft. **From library** puts the same SpeedDIAL parts on a new
   job and opens a draft there too.
5. Approve the parts on the job.
6. On the job **Orders** rail, choose **Submit orders** to send one or more
   drafts. Or open a draft and choose **Submit order**. Pending and declined
   lines stay on the job.
7. The Worldpac order number appears after submit. The PO on that Worldpac
   order is this job's number, without the #. Open the order and choose
   **Open in Worldpac** to see it in SpeedDIAL.
8. **Receive** when the shipment arrives. Parts are already on the job.

**Discard draft** removes a draft that was never sent. Cancel on a submitted
order only updates myodo. Worldpac may still ship.

### Order for the shelf

1. Open **Orders**.
2. Choose **New order**, then **SpeedDIAL**.
3. Export priced lines from speedDIAL, or export and submit there.
4. Open the purchase order. Enter a PO, then **Submit order**. SpeedDIAL uses
   that PO on the Worldpac order.
5. Receive quantities onto the shelf. Set a location when you receive.

If SpeedDIAL is not connected, **New order** then **SpeedDIAL** opens
Integrations so you can connect.

**New order** then **Custom** is a typed purchase order for a supplier you
call. Add that supplier under **Vendors**. Pick the vendor and whether the
parts go to stock or a job. Search an existing part by number or name.
**Add line** for each part, then **Create order**.

Open the purchase order to **Receive** quantities. **Return parts** sends
received stock back to the vendor. **Cancel order** stops an open order that
has not been received.

# Parts inventory

Inventory, Orders, and Vendors are separate items in the sidebar. `/parts` opens Inventory.

## Inventory

Search the shop’s part records. Filter All, Reorder, or On hand. **Add part** for a new shelf record. Types, locations, fees, and sell bands live under **Settings → Inventory**.

Open a row to edit the part. **Sold** shows units billed on invoiced and completed jobs, plus a month-by-month list. **Stock** is on-hand quantity and optional **min/max**. Parts below min show under the Reorder filter. Use **Count stock** when a physical count differs from the record. Enter the counted quantity and **Save count**. History records the adjustment.

The part number on the record is the one that prints. **Add number** stores an alternate or superseded identifier on this part. Search, orders, and SpeedDIAL resolve those numbers here. Stock stays on this record. If a superseded number becomes its own part, remove it here and add a new record. A number belongs to only one part.

Cost, sell, core, brand, and type sit in the side props with location, vendor, and fees. **Add fee** attaches a shop fee to this part, or choose **New fee** to create one. Fields save inline. **History** lists recent movements. **Export** downloads a CSV of the current list. **Delete part** removes the record. This can't be undone.

## Orders

Purchase order history and active orders. Defaults to **Active** (open and
partial). Switch to **Received** or **All** when you need older documents.

To order from Worldpac, use **New order** then **SpeedDIAL**, or **+ Part**
then **SpeedDIAL** on a job. See Ordering parts. **Custom** is a typed order
for a supplier you call. Pick a vendor, stock or a job, then search an existing
part by number or name. **Add line** for each part. **Create order**
opens the purchase order.

Open a row to receive quantities. Stock receives can set a location. Job
receives put parts on that job and pull stocked quantity. Line menu **Undo
receive** reverses a receive. **Return parts** sends received stock back to the
vendor. Line menu **Undo return** puts it back on the shelf. Mark **Core
return** when sending a core back. **Cancel order** stops an open order that
has not been received. Part names open the part modal. Job destinations link
to the job.

## Vendors

**Worldpac** is always first. Open it to edit account and phone. The row shows
SpeedDIAL when that integration is on. **Manage SpeedDIAL** opens Settings →
Integrations. **Add vendor** is for the suppliers you call. Preferred vendors
sort first after Worldpac. Each row shows open purchase order count.

## Jobs

On a job, **+ Part** searches the shelf. Picking a stocked part pulls quantity
when you save. A typed or catalog part is added to inventory with no on-hand.
Reducing or removing the line releases stocked quantity. Special-order parts
received on a job order land on the job automatically and raise on-hand.
Completing the job lowers on-hand and committed for those parts. A core charge
on the part is added as a fee.

When SpeedDIAL is connected, **+ Part** also offers **SpeedDIAL**. That opens
the Worldpac catalog. New parts from that export get Worldpac as the vendor.
See Ordering parts.

# Shop reports

Reports opens a list of shop bookkeeping reports. Sales and tax use visits you
keyed out. Card payments use the day they settled. The shop timezone sets the
calendar day.

Pick a date range on Sales, Sales tax, Profit & loss, and Technician hours:
this month, this quarter, this year, last month, last quarter, or custom dates.

## End of day

Daily P&L for one shop calendar day. Use the date control for previous days.

## Sales

Labor sales, parts sales, fees, discounts, tax, and gross total for the range.
Summary tiles show repair order count, average RO, and hours sold. Closed jobs
for the range are listed under the totals. Open a job to see the visit.

## Sales tax

Tax collected, taxable sales, and non-taxable sales for the range. Use
**Export CSV** for the per-invoice breakdown for bookkeeping or your CPA.

## Profit & loss

Gross profit for the range. Labor cost uses each technician's rate in
Settings → Team. Parts and tire profit use cost entered on the line. Card
payments settled in the range appear at the bottom.

## Technician hours

Billed hours from closed jobs versus clocked hours from the job timer.
Efficiency is billed hours ÷ clocked hours. Cars counts distinct repair orders
with billed labor for that technician. Use **Export CSV** for payroll.

## Monitored items

Shop-wide backlog of DVI findings marked for follow-up, grouped by vehicle.

# Shop and account settings

Open Settings from the last item in the left sidebar, or from the shop menu at
the top, to manage your shop and your own account.

## Shop details

On the shop profile page you can edit your shop's business information, such as
phone and address. Changing the shop name also updates the shop and booking
URL. Old links keep working for 30 days. New customers and plate lookups use the shop's address state
as the default. The Google review link field powers the review request
automation. Paste your shop's review link there to turn the requests on. Set
your opening hours on the Hours page. Each day can have open and close times
plus an optional mid-day break (choose Add break). Public page photos, copy,
layout, and reviews live under Settings, then Website. Changes are saved when you
choose Save changes.

## Invoicing

Under the shop's **Invoicing** page, set labor rates, parts tax rate, and DVI
labor hours used on jobs. Choose **Add rate** to create a named hourly rate
and mark one as the default for new labor lines. Open a rate to edit or
delete it. On a job, pick a different rate for a task or a single labor
line. Paste a warranty there to print it on estimates, repair orders, and
invoices. **Renumber jobs** shifts every existing job number by the same amount
so numbering can continue from another system. Type RENUMBER to confirm. Later
jobs keep counting up from there.

## Inventory

Shop settings include an **Inventory** group for integrations, parts pricing, types,
locations, and fees.

### Integrations

**Integrations** lists the parts connections this shop can turn on. Open
**SpeedDIAL** to enter the Worldpac account number, speedDIAL username, API
token, and country. Staff create the token in speedDIAL under Settings, API
Tokens. Name the token for myodo. The token is shown once. Save to connect.
The toggle turns the connection off without deleting the vendor.

### Parts pricing

Under **Parts pricing**, set cost bands and a multiplier so sell price is
filled from cost when a part is added to a job. Staff can still type a sell
price on the line, or change the multiplier or gross profit percent.

1. Choose **Add band**.
2. Enter cost from, cost to, and the multiplier (sell price equals cost times
   this number).
3. Save the band.

Open a band to edit or delete it. Gross profit and markup show for each band so
you can check the math. Choose **Restore defaults** to put the built-in bands
back.

### Types and locations

**Types** and **Locations** are labels on parts. You can create them when
editing a part, or manage the full list under Settings. Renaming a type or
location updates parts that use it. Deleting one clears that label on those
parts (you will see how many parts are affected first).

### Fees

**Fees** are named amounts you can add on a job. Seeded disposal fees start at
$0 so you can set your shop's amounts. Attach a fee on a part with **Add fee**,
or use **Type rules** so every part with that type gets the fee when it is
added to a job. Choose **Add rule**, pick the type and fee, then save. **Delete
rule** removes that pairing. Fees at $0 are skipped until you set an amount.

### Discounts

**Discounts** are a shop catalog with three types:

- **Percent off** — a percent off labor, parts, or the whole job
- **Amount off** — a dollar amount off labor, parts, or the whole job
- **Cost plus** — parts sell from cost plus a markup percent

Create them under Settings → Discounts. Set one as a customer's default on the
customer profile. That default is added when you create a **new** job. Staff can
switch or clear the job discount from **Discount** under the task list.

## Card payments

Shop admins connect card payments under the shop's **Payments** page so staff
can charge cards after **Keys in**. The processing fee is
3.1% + 30¢ online and 2.9% + 5¢ in person. Finish Stripe's setup steps before
cards work. After you
connect, **Manage payments** (or **View in Stripe** on a paid job) opens the
shop's Stripe account for bank details, payouts, payment history, refunds, and
disputes. Advisors can open that account from a job even if they cannot change
payment settings. Stripe emails the customer a card receipt when their email is
on the job (live mode). Staff can resend that receipt or share the invoice PDF
from **Share** on the job.

## Accounting

Shop admins connect QuickBooks Online under the shop's **Accounting** page.
Map labor, parts, and a bank for card deposits. Map a sales tax code for tax reports.
Invoiced jobs send to QuickBooks. Payments taken before Invoice send when you
invoice the job.
Fees use the labor item when a fee item is not mapped.
Card payments record Stripe fees when a Card fees account is mapped.
Cash and checks are unchanged. **Disconnect QuickBooks** stops new sends.
Moving a job back to Review voids the QuickBooks invoice and its payments.
Invoicing again sends a new invoice. Failed jobs show Retry.

## Card reader

When available on **Payments**, shop admins can choose **Buy kit** for WisePOS E
kits (reader and dock) shipped to the shop address. Buy another kit any time.
The price is exclusive of tax, which Stripe Checkout calculates at purchase.
Connect card payments and set the shop address under **Details** first. After
checkout, the Payments page shows order status. On Collect payment, charge one
online reader or pick among several. Use **Track package** on the Payments page
when a kit order has shipping info.

## Your account

- Profile: update your name, phone, and photo. Your photo shows on job notes
  and inbox messages so the team can tell who wrote what.
- Security: change your password.
- Notifications: choose which alerts you receive.
- Legal: review the agreements and policies that govern your use of myodo.

## Notifications

The Notifications page controls the alerts you get. Advisors, admins, and
owners get email when a customer messages the shop or books online. Technicians
don't receive those emails. Turn off anything you don't want, and it changes
your alerts only.

Desktop:

- New messages: browser notification while the app is open in a tab. Your
  browser asks for permission the first time you turn them on.

Email:

- Online bookings: when a customer books or requests service online.
- New messages: when a customer texts or messages your shop.

Choose Save changes to keep your settings.

# Managing your team and organization

When your organization has one shop, Settings, then Members is the only team
list. Invite and roles live there.

A second Members page under Organization appears when you have more than one
shop. That list is for owners and admins across every location.

## First shop setup

On first login, owners set their name and create the first shop (name, phone,
and address). The next screen is **Add your team**. Add a person per row (email and role).
Choose **Send invites**, or **Skip** to open Inbox.
After that, create more shops from **Create shop** when your organization
needs another location. Switch shops from the shop menu in the app.

## Shop team

Under Settings, then Members, you can see the people who work here and their
roles. When the organization has one shop, this is the only Members list.
Choose **Invite** to add someone by email. Each row is an email and a role
(Owner, Admin, Service Advisor, or Technician). Choose **Add person** for
another row, then **Send invites**. Someone already in the organization is
added to this shop. Choose **Change role** from the member's actions menu to
set a different role before or after they accept.

Shop roles:

- **Owner**: the organization owner. Same shop access as Admin, plus billing
  and member roles.
- **Admin**: full shop settings and every open job on the Jobs board.
- **Service Advisor**: day-to-day shop work. On Jobs, advisors see their own jobs
  plus anything still unassigned.
- **Technician**: floor work on My jobs / tech views for assigned tasks.
  Technicians do not manage shop settings such as booking or payments.

Each active member can have a **labor cost** (hourly shop cost). The end of day
report uses that rate times hours sold to calculate labor profit. Set it from
the member's actions menu.

## Organization members

This page is only in Settings when the organization has more than one shop.
**Invite** uses the same rows as shop Members. Owner and Admin apply across
every location. Service Advisor and Technician also pick which shop.

Each member row has an actions menu (the three dots on the right) with options
that depend on whether the person has accepted their invite:

- **Active members:** choose **Update name**, **Update email**, **Change role**,
  or **Suspend user**. Owners use Change role to promote a member to owner.
  Promote a second owner before changing the first owner's role. Suspending
  someone removes their access to the organization; you can invite them back later.
- **Pending invites:** choose **Change role**, **Resend invite**, or **Revoke
  invite**. Revoking stops the invite link from working.

The invite email opens **Accept invite & set password** so the person can join
and choose a sign-in password.

Managing shop access lets you pick exactly which locations a member can work in.
Owners and admins always have access to every shop, so this applies to regular
members.

Who can do what depends on your role. Owners and admins can manage members,
while other staff may only be able to view.

# Working assigned jobs as a technician

Technicians sign in and land on **My jobs**. Every in-progress job assigned to
you appears here.

## Opening a job

Tap a job to see the customer concern and a checklist of authorized **labor**.
Each task lists its parts: brand, description, part number, and quantity.
Only labor lines are tasks.

## Working a task

Tap a task to see those parts in full, then add notes and photos for that work
group (up to 10 photos, 8 MB each). Take a photo or choose one from the device. Mark the task done when that labor line is
finished. You can also mark it done from the checklist with the circle control.

On the job itself (under the task list), add **Technician notes** for
observations that are not about one task. Advisors see those on the job page
above Activity.

A digital vehicle inspection task opens a multipoint checklist by car position:
Drive-in, Under Hood, Tires, Brakes, then Undercarriage. Tap Green, Yellow,
Red, or N/A on each row without opening it. Green and N/A finish the row;
Yellow or Red opens the panel for notes, photos, and any measurements. Use N/A
when an item does not apply (for example power steering fluid on an EPS
vehicle). Notes and photos save as you work; you can remove a photo if it was
a bad shot. Tire tread and age (DOT WWYY) use a two-by-two grid for LF, RF,
LR, and RR, like tire pressure. Battery voltage, CCA, and age live under Under
Hood and use the same header chips; open the row to enter the reading.
Battery manufacture date is MM/YY. Add a custom line at the bottom when you
need an item that is not on the list. Mark the inspection complete from the
bottom of the checklist (or from the job checklist circle). Yellow findings
are monitored for a later visit. Rating the same item green (or red) on a
later inspection clears that watch. When you mark the inspection complete,
yellow and red findings also add pending tasks on the job for the advisor.

**Start voice notes** on the inspection checklist calls your phone from the
shop number. Talk through what you see across the inspection, then hang up.
A progress bar shows while myodo applies notes. It matches what you said to
checklist items and fills notes, ratings, and measurements when it is clear.
Items you did not cover stay blank. Finish the rest in the list. Add your
phone under Settings → Profile first.

**Check and set tire pressures** is a shop must-do on the checklist when it is
assigned to you. Advisors set its assignee on the job (separate from Inspection
or other labor). Enter LF, RF, LR, RR, and door-spec front and rear; values
save as you type. The task completes when all six fields are filled, and the
page confirms tire pressure is complete.

On a return visit, ratings and measurements from the vehicle's last completed
inspection are already filled in. Notes and photos start blank for this visit.

Use **Clock in** and **Clock out** on the job checklist to track time on a
labor line. Task detail shows status and elapsed time in the header. Only one
timer can run at a time; clocking in on another task clocks you out of the
previous one. Marking a task done clocks you out; mark it incomplete to clock
in again. Service advisors can clock you in or out from the job page, and can
correct those times there.

## Marking the job complete

The job stays on My jobs after the last task. When every labor task (and tire
pressure, when assigned) is done, choose **Mark job complete** to hand the
job back. If the job has no labor tasks
(parts only), you can mark it complete right away. The service advisor invoices
from the job page once approved work is finished and odometer out is entered,
even if you have not handed the job back yet.

If the advisor authorizes more labor later, the job comes back to My jobs.

## Settings

Open the gear on My jobs for technician settings.

### Profile

Name, phone, and photo. The photo shows on job notes. Email is used to sign in.
Add a phone number before **Start voice notes**.
Choose **Save changes** after you edit name or phone. Use **Upload** or
**Remove** for the photo.

### Appearance

Theme is Light, Dark, or System. The choice applies on every device for you.

# Shop website

Website settings control the public booking page customers see at your shop's
booking URL. Find them under Settings, then Website.

Online booking services, hours customers can book, and the website button
snippet stay under Settings, then Online Booking.

## Layout

Choose Basic or Full. They are two templates for the same public page.

The website button snippet on Online Booking works with either one.

On Full, a top bar keeps phone, address, and hours visible. Address opens
directions. Header links jump to Testimonials, About, Services, Photos, and
Reviews when those sections have content. Hours and Directions also sit in the
footer. Booking stays in a modal.

## Domain

Type shop.com. Save changes.

Add these records at your DNS. @ means shop.com.

TXT
Name: @
Value: paste the TXT row

A
Name: @
Value: paste each A record. Add all four.

Come back to Website after the records are live. Then open shop.com. The
myodo booking URL still works.

## Hero

Upload an image, choose Use your uploaded image to apply it, or Delete upload
to remove it. Headline and description are the hero copy.

On Full, Book appointment on the hero and in the header opens the booking
steps.

## Brand color

Pick the color for Book appointment and Review us on Google.

## Logo

Upload a logo to show it in the header. Without a logo, customers see the shop
name.

## Hours

Hours on Full come from Settings, then Hours. They show in the top bar and
the footer. Empty hours stay hidden.

## About and photos

About has a note, About photos, and badges. Full shows Welcome, the note,
badges, and Book appointment on the left. About photos you upload stack on the
right. The Photos section further down is a separate gallery. Choose Delete
photo or Delete badge on a thumbnail to remove it. Empty fields stay hidden on
the public page.

## Services

Bookable services on Full come from Settings, then Online Booking. The public
page lists each active service name and description. Book appointment opens the
same booking steps.

## Testimonials and reviews

Both sections use Google reviews. Testimonials shows three quotes and Read all
reviews. Google reviews shows the rating, the quote grid, and Review us on
Google. Both stay hidden until Google returns a rating. The Google review link
under Details is the same link used for review request automations.

Choose Preview in the page header to open the public page at the current shop
URL. Choose Save changes to keep your edits.
