MechanicDesk provides two methods for adding online booking functionality to your website:
Embed the default booking form using an iframe (simplest setup).
Integrate using the API to submit booking requests from a custom form.
This document explains both options and how they can be implemented.
1. Embedding the Default Booking Form (Iframe)
MechanicDesk includes a built-in booking form that can be embedded directly into your website using an iframe. This is the quickest way to enable online bookings without requiring custom development.
Setup Steps
Log into your MechanicDesk account.
Navigate to:
Settings → Workshop Details → Online Booking
Enable Online Booking.
Copy the iframe code snippet provided.
Paste the snippet into the page on your website where you want the booking form to appear.
Example:
<iframe src='https://www.mechanicdesk.com.au/online-booking/abcdefghijklmnopqrstuvwxyz' width='100%' height='100%' frameBorder='0'></iframe>
Once embedded, the booking form will appear inside your webpage and allow customers to submit booking requests directly from your site.
2. API Integration
For websites that require a custom booking interface or deeper system integration, MechanicDesk provides an API that allows booking requests to be created programmatically.
2.1 Create a Booking Request
Send a POST request to the following endpoint:
POST https://www.mechanicdesk.com.au/booking_requests/create_booking
This endpoint creates a booking request in MechanicDesk.
The request payload must include booking information along with a secret token that identifies your workshop.
Secret Token
The secret token can be found in your MechanicDesk account under:
Settings → Workshop Details → Online Booking
You will see a code snippet similar to the iframe example below:
<iframe src='https://www.mechanicdesk.com.au/online-booking/abcdefghijklmnopqrstuvwxyz' width='100%' height='100%' frameBorder='0'></iframe>
The token is the string at the end of the URL:
abcdefghijklmnopqrstuvwxyz
This token must be included in the API request payload.
Accepted Payload Attributes
The following attributes may be submitted when creating a booking request.
Authentication
token– Secret workshop token (required)
Customer Information
name– Customer full namefirst_name– Customer first namelast_name– Customer last namephone– Customer phone numberemail– Customer email addressstreet_line– Street addresssuburb– Suburbstate– Statepostcode– Postcode
Vehicle Information
registration_number– Vehicle registration numbermake– Vehicle makemodel– Vehicle modelyear– Vehicle yearcolor– Vehicle colourtransmission– Transmission typevin– Vehicle VIN numberfuel_type– Fuel typedrive_type– Drive typeengine_size– Engine sizebody– Vehicle body typeodometer– Vehicle odometer reading
Booking Information
drop_off_time– Vehicle drop-off timepickup_time– Vehicle pickup timejob_type_names– Array of job type names requestedcourtesy_vehicle_requested–trueorfalsenote– Additional notes from the customerrepco_smart_quote_id– Quote request key used for Repco Punchout
Important:
All date and time values must follow the format:
dd/mm/yyyy HH:MM
2.2 Retrieve Available Job Types
To allow customers to select services when making a booking, your form can retrieve available job types using the following endpoint:
GET https://www.mechanicdesk.com.au/booking_requests/available_job_types?token=abcdefghijklmnopqrstuvwxyz
This endpoint returns the list of valid job type titles configured in MechanicDesk.
Your booking form can display these options and submit the selected values using the job_type_names field when creating the booking request.
Job types returned by the API can be controlled within MechanicDesk, allowing you to hide internal or administrative job types from the booking form.
2.3 Retrieve Unavailable Days
To prevent bookings on days when your workshop is unavailable, the booking form can retrieve unavailable dates from the MechanicDesk diary.
Use the following endpoint:
GET https://www.mechanicdesk.com.au/booking_requests/unavailable_days?token=abcdefghijklmnopqrstuvwxyz
This endpoint returns the dates that should be disabled in the booking calendar.
Lookahead Range
By default, the endpoint returns unavailable dates for the next 30 days.
You can change the lookahead period using the in_days parameter. The allowed range is 1 to 90 days.
Example:
Retrieve unavailable days for the next 60 days.
GET https://www.mechanicdesk.com.au/booking_requests/unavailable_days?token=abcdefghijklmnopqrstuvwxyz&in_days=60
This allows your booking form to dynamically block unavailable dates in the calendar.