Jim’s WebAPI

1. Introduction

The Jim’s Customer Booking Form is a plug‑and‑play web component that allows customers to submit service enquiries directly from any website.

  • Works on any platform (WordPress, custom HTML, Shopify, etc.).
  • Renders via a custom HTML tag (<jims-customer-booking>).
  • Controlled by a JSON configuration object that defines appearance, divisions, services, and behaviour.
  • Requires only one external script (customerbookingform.js) hosted on Jim’s CDN.

2. Installation Guide

Step 1 – Add Required Script

Insert this line before the closing </body> tag:

<script src="https://cdn.jims.net/customerbookingform/customerbookingform.js"></script>

Step 2 – Place the Form

Add this wherever you want the booking form to appear:

<jims-customer-booking settings='{{json of settings}}'></jims-customer-booking>

Replace {{json of settings}} with your configuration JSON.

Note: The form will render automatically when the page loads. No other libraries are required.

3. Configuration Guide

3.1 Default JSON Example

{
  "fmslist": "",
  "core": { "popup": false, "work_guarantee": true },
  "utm": {},
  "urlparams": [],
  "steps": { "showSearch": true, "showHeadings": true },
  "country": { "show": true, "selected": "au" },
  "divisions": { "show": true, "selected": null, "toShow": [] },
  "services": { "selected": [], "multiple": true, "showAllWhenGrouped": true, "groups": [] },
  "customer": {
    "showServices": true,
    "showFieldLabels": false,
    "fields": {
      "business_name": { "show": true },
      "comments": { "value": "", "show": true },
      "subscribe": { "show": true }
    }
  },
  "complete": {
    "redirect": "",
    "franchiseeVideo": "https://www.youtube.com/embed/GhoPObTObJQ",
    "contractorVideo": "https://www.youtube.com/embed/jclpE6EFdBk"
  },
  "header": {
    "show": true,
    "logo": {
      "url": "https://cdn.jims.net/assets/jims-group/jims-local-expert.svg",
      "division": null,
      "show": true
    }
  }
}

3.2 Config Options Explained

Core

"core": { "popup": false, "work_guarantee": true }
  • popup – If true, form opens in popup mode.
  • work_guarantee – Show Jim’s work guarantee badge.

Steps

"steps": { "showSearch": true, "showHeadings": true }
  • Controls visibility of search bar & headings in step flow.

Country

"country": { "show": true, "selected": "au" }
  • Default country code (au, nz, etc.).

Divisions

"divisions": { "show": true, "selected": null, "toShow": [] }

Services

"services": { "selected": [], "multiple": true, "showAllWhenGrouped": true, "groups": [] }

Customer Fields

"customer": { "showServices": true, "showFieldLabels": false, ... }
  • Toggle visibility of customer input fields.
  • Add new custom fields if required.

Completion Settings

"complete": { "redirect": "", "franchiseeVideo": "https://..." }
  • redirect = URL to redirect after successful booking.

Header

"header": { "show": true, "logo": { "url": "..." } }
  • Controls branding logo. Can set per‑division if needed.
  • If header.logo.division is a division ID, it will load the logo for that division

4. How to Configure

  1. Adjust the default config – country, divisions, and services to your requirements.
  2. Paste updated JSON into the settings attribute of your form tag.
  3. Test the form in your website.

Basic Config:

'{"divisions": {"selected": 1,"show": false }, "country": {"selected": "au"  }}'

Jims Mowing Australia Division Example:

<jims-customer-booking settings='{"divisions": {"selected": 1,"show": false }, "country": {"selected": "au"}}'></jims-customer-booking>

5. Troubleshooting

  • Form not showing → Check the script is included. Validate JSON format.
  • Logo not displaying → Confirm header.logo.url is valid.
  • Redirect not working → Ensure complete.redirect is a full valid URL.
  • Services missing → Verify correct IDs are used in config.

6. Summary

  • One script + one tag = working booking form.
  • Configurable via JSON only (technical knowledge required).
  • Independent of CMS/platform.