{"info":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","description":"<html><head></head><body><h2 id=\"introduction\">Introduction</h2>\n<p>This documentation describes the Navigator Public API.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>Most calla use an Api Key which is presented in the header key : <strong>x-api-key</strong></p>\n<p>To use the API, you will need an Api Key issuing.</p>\n<p>Api Keys will not necessarily allow access to the full api</p>\n<h2 id=\"for-web-site-developers\">For Web Site Developers</h2>\n<p>Web Site developers will need access to 3 key APIs in the library.</p>\n<p>vehicles/stockList -&gt; This will gain access to the full vehicle stock list. Normally, only advertised vehicles will be required and there is a filter for this. Each vehicle has a field called \"images\" which is a semi-colon list of images related to the vehicle.</p>\n<p>The images can then be downloaded using the vehicles/image api</p>\n<p>The vehicle database should not be used for live lookups but should be used once or twice a day to synchronise stock</p>\n<p>For transferring leads to Navigator, the enquiry/createEnquiry endpoint should be used.</p>\n<h2 id=\"events\"><strong>Events</strong></h2>\n<p>Evengtscan be subscribed to using the webhooks/subscription api.</p>\n<p>Part of the subscription defines which events you would like to subscribe to and the url to call.</p>\n<p>All webhooks are called as HTTP Post with a json payload.</p>\n<p>The data for each webhook is always in for generic format of :-</p>\n<p><code>{</code></p>\n<p><code>\"event\" :</code></p>\n<p><code>{</code></p>\n<p><code>\"id\" : \"{eventId}\"</code></p>\n<p><code>...</code></p>\n<p><code>}</code></p>\n<p><code>}</code></p>\n<p>The supported events currently are :-</p>\n<h2 id=\"vehicleupdated\">vehicle.updated</h2>\n<p>This event is raised whenever a stock record is updated in Navigator.</p>\n<p>The data returned in the webhook as as follows :-</p>\n<p><code>{</code></p>\n<p><code>\"event\":</code></p>\n<p><code>{</code></p>\n<p><code>\"id\": \"vehicle.update\",</code></p>\n<p><code>\"vehicleId\": \"{stockiNumber}\",</code></p>\n<p><code>\"branch\" :\"{branch}\"</code></p>\n<p><code>}</code></p>\n<p><code>}</code></p>\n<h2 id=\"customerupdated\">customer.updated</h2>\n<p>This event is raised whenever a customer record is updated in Navigator.</p>\n<p>The data returned in the webhook as as follows :-</p>\n<p><code>{</code></p>\n<p><code>\"event\":</code></p>\n<p><code>{</code></p>\n<p><code>\"id\": \"customer.update\",</code></p>\n<p><code>\"customerId\": \"{customer Id}\",</code></p>\n<p><code>}</code></p>\n<p><code>}</code></p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"6224322","collectionId":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","publishedId":"2sBXVcmD7R","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-01-04T09:49:12.000Z"},"item":[{"name":"Customer","item":[{"name":"searchCustomer","id":"64a29b3b-6033-4230-9d60-59d36483f38a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"surname\": \"verona\",\r\n    \"postCode\": \"\",\r\n    \"phone\": \"\",\r\n    \"regNo\": \"\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/customer/searchCustomer","description":"<h1 id=\"search-customer\">Search Customer</h1>\n<p>This endpoint allows you to search for customers in the DMS Navigator system using various search criteria. The search is flexible and returns matching customer records along with their associated vehicle information.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>Authentication is by a header key : <strong>x-api-key</strong></p>\n<h2 id=\"purpose\">Purpose</h2>\n<p>Search and retrieve customer records based on one or more identifying parameters such as surname, postcode, telephone number, or vehicle registration number.</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\n<p>The request accepts a JSON object with the following optional search parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>surname</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer's surname to search for (partial matches supported)</td>\n</tr>\n<tr>\n<td><code>postCode</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer's postcode</td>\n</tr>\n<tr>\n<td><code>telephone</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer's telephone number</td>\n</tr>\n<tr>\n<td><code>regNo</code></td>\n<td>string</td>\n<td>No</td>\n<td>Vehicle registration number associated with the customer</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong> At least one search parameter should be provided for meaningful results. Empty strings are treated as no filter for that parameter.</p>\n<h2 id=\"example-request-body\">Example Request Body</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"surname\": \"verona\",\n  \"postCode\": \"\",\n  \"telephone\": \"\",\n  \"regNo\": \"\"\n}\n\n</code></pre>\n<h2 id=\"response-structure\">Response Structure</h2>\n<p>The endpoint returns an array of customer objects. Each customer object contains:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>#</code></td>\n<td>string</td>\n<td>Customer reference number</td>\n</tr>\n<tr>\n<td><code>Title</code></td>\n<td>string</td>\n<td>Customer title (Mr, Mrs, Ms, etc.)</td>\n</tr>\n<tr>\n<td><code>First Name</code></td>\n<td>string</td>\n<td>Customer's first name</td>\n</tr>\n<tr>\n<td><code>Surname</code></td>\n<td>string</td>\n<td>Customer's surname</td>\n</tr>\n<tr>\n<td><code>Address</code></td>\n<td>string</td>\n<td>Customer's address (format: postcode, street)</td>\n</tr>\n<tr>\n<td><code>Telephone</code></td>\n<td>string</td>\n<td>Customer's contact telephone number</td>\n</tr>\n<tr>\n<td><code>Company Name</code></td>\n<td>string</td>\n<td>Associated company name (if applicable)</td>\n</tr>\n<tr>\n<td><code>Co Address</code></td>\n<td>string</td>\n<td>Company address</td>\n</tr>\n<tr>\n<td><code>Co Telephone</code></td>\n<td>string</td>\n<td>Company telephone number</td>\n</tr>\n<tr>\n<td><code>Reg</code></td>\n<td>string</td>\n<td>Vehicle registration number</td>\n</tr>\n<tr>\n<td><code>Make</code></td>\n<td>string</td>\n<td>Vehicle make/manufacturer</td>\n</tr>\n<tr>\n<td><code>Model</code></td>\n<td>string</td>\n<td>Vehicle model</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"#\": \"12637.3\",\n    \"Title\": \"Mr\",\n    \"First Name\": \"Simon\",\n    \"Address\": \"AB10 1AA,1C THE HIGH STREET\",\n    \"Company Name\": \"\",\n    \"Co Address\": \"\",\n    \"Co Telephone\": \" \",\n    \"Surname\": \"Verona\",\n    \"Reg\": \"OE71WMG\",\n    \"Make\": \"Polestar\",\n    \"Model\": \"2\",\n    \"Telephone\": \"07388907708\"\n  },\n  {\n    \"#\": \"14217.1\",\n    \"Title\": \"Mr\",\n    \"First Name\": \"Simon\",\n    \"Address\": \"AB10 1AA,1C THE HIGH STREET\",\n    \"Company Name\": \"\",\n    \"Co Address\": \"\",\n    \"Co Telephone\": \" \",\n    \"Surname\": \"Verona\",\n    \"Reg\": \"SX73SPV\",\n    \"Make\": \"PORSCHE\",\n    \"Model\": \"718\",\n    \"Telephone\": \"07388907708\"\n  }\n]\n\n</code></pre>\n<h2 id=\"usage-notes\">Usage Notes</h2>\n<ul>\n<li><p>The search is case-insensitive</p>\n</li>\n<li><p>Multiple matching records may be returned as an array</p>\n</li>\n<li><p>Empty result set returns an empty array <code>[]</code></p>\n</li>\n<li><p>Customers may have multiple vehicle records associated with them</p>\n</li>\n<li><p>Some fields may be empty strings if data is not available</p>\n</li>\n<li><p>The <code>#</code> field serves as a unique customer identifier in the format <code>{id}</code></p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","customer","searchCustomer"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"64a29b3b-6033-4230-9d60-59d36483f38a"},{"name":"createCustomer","id":"44d15a6c-547e-4d68-8f21-029f9edfb83b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\":\"Mr\",\r\n    \"firstName\":\"Simon\",\r\n    \"surname\":\"Verona\",\r\n    \"email\":\"simon@dmsnavigator.co.uk\",\r\n    \"phone\":\"01234567\",\r\n    \"mobile\":\"07123132123\",\r\n    \"address\":\r\n        {\r\n            \"houseNo\":\"5\",\r\n            \"line2\":\"The Street\",\r\n            \"line3\":\"The Town\",\r\n            \"line4\":\"The County\",\r\n            \"postCode\":\"AB1 1AA\"\r\n        }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/customer/createCustomer","description":"<h1 id=\"create-customer\">Create Customer</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint creates a new customer record in the DMS Navigator system. It accepts customer details including personal information and address, and returns a unique customer identifier upon successful creation.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>Authentication is by a header key : <strong>x-api-key</strong></p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>title</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer's title (e.g., Mr, Mrs, Ms, Dr)</td>\n</tr>\n<tr>\n<td><code>firstName</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer's first name</td>\n</tr>\n<tr>\n<td><code>surname</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer's surname/last name</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Customer's email address</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer's landline/primary phone number</td>\n</tr>\n<tr>\n<td><code>mobile</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer's mobile phone number</td>\n</tr>\n<tr>\n<td><code>address</code></td>\n<td>object</td>\n<td>Yes</td>\n<td>Customer's address details</td>\n</tr>\n<tr>\n<td><code>address.houseNo</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>House number or name</td>\n</tr>\n<tr>\n<td><code>address.line2</code></td>\n<td>string</td>\n<td>No</td>\n<td>Street name</td>\n</tr>\n<tr>\n<td><code>address.line3</code></td>\n<td>string</td>\n<td>No</td>\n<td>Town/City</td>\n</tr>\n<tr>\n<td><code>address.line4</code></td>\n<td>string</td>\n<td>No</td>\n<td>County/Region</td>\n</tr>\n<tr>\n<td><code>address.postCode</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Postal/ZIP code</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-response\">Example Response</h2>\n<p><strong>Success (200 OK)</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"customerId\": \"15328\"\n}\n\n</code></pre>\n<h2 id=\"response-fields\">Response Fields</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>success</code></td>\n<td>boolean</td>\n<td>Indicates whether the customer was created successfully</td>\n</tr>\n<tr>\n<td><code>customerId</code></td>\n<td>string</td>\n<td>Unique identifier assigned to the newly created customer</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"notes\">Notes</h2>\n<ul>\n<li><p>All string fields should be properly formatted and validated before submission</p>\n</li>\n<li><p>Email addresses must be in valid format</p>\n</li>\n<li><p>The <code>customerId</code> returned in the response should be stored for future reference and customer management operations</p>\n</li>\n<li><p>Phone and mobile numbers should include appropriate country codes if applicable</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","customer","createCustomer"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"44d15a6c-547e-4d68-8f21-029f9edfb83b"},{"name":"retrieveCustomer","id":"11b6eda4-e978-4447-a7b3-812dbbbb49dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"id\":\"SL476.1\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/customer/retrieveCustomer","description":"<h1 id=\"retrieve-customer\">Retrieve Customer</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint retrieves detailed customer information from the DMS Navigator system using a customer ID.</p>\n<h2 id=\"endpoint-details\">Endpoint Details</h2>\n<ul>\n<li><strong>Method:</strong> POST</li>\n<li><strong>URL:</strong> <code>https://services.dmservices.co.uk/webhooks/customer/retrieveCustomer</code></li>\n</ul>\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires API key authentication. The API key should be passed using the <code>apikey</code> variable, which is typically included as a query parameter or header.</p>\n<h2 id=\"request-body\">Request Body</h2>\n<p>The request body must be in JSON format and include the following required field:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The unique customer identifier in the system</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-body-example\">Request Body Example</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"SL476.1\"\n}\n</code></pre>\n<h2 id=\"response-format\">Response Format</h2>\n<p>The endpoint returns a JSON object containing the customer's information.</p>\n<h3 id=\"response-fields\">Response Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>success</code></td>\n<td>boolean</td>\n<td>Indicates whether the request was successful</td>\n</tr>\n<tr>\n<td><code>customer</code></td>\n<td>object</td>\n<td>Customer details object</td>\n</tr>\n<tr>\n<td><code>customer.id</code></td>\n<td>string</td>\n<td>Customer's unique identifier</td>\n</tr>\n<tr>\n<td><code>customer.firstName</code></td>\n<td>string</td>\n<td>Customer's first name</td>\n</tr>\n<tr>\n<td><code>customer.surname</code></td>\n<td>string</td>\n<td>Customer's surname/last name</td>\n</tr>\n<tr>\n<td><code>customer.title</code></td>\n<td>string</td>\n<td>Customer's title (Mr, Mrs, Ms, etc.)</td>\n</tr>\n<tr>\n<td><code>customer.email</code></td>\n<td>string</td>\n<td>Customer's email address</td>\n</tr>\n<tr>\n<td><code>customer.phone</code></td>\n<td>string</td>\n<td>Customer's phone number</td>\n</tr>\n<tr>\n<td><code>customer.mobile</code></td>\n<td>string</td>\n<td>Customer's mobile number</td>\n</tr>\n<tr>\n<td><code>customer.address</code></td>\n<td>object</td>\n<td>Customer's address details</td>\n</tr>\n<tr>\n<td><code>customer.address.houseNo</code></td>\n<td>string</td>\n<td>House number</td>\n</tr>\n<tr>\n<td><code>customer.address.line2</code></td>\n<td>string</td>\n<td>Address line 2</td>\n</tr>\n<tr>\n<td><code>customer.address.line3</code></td>\n<td>string</td>\n<td>Address line 3</td>\n</tr>\n<tr>\n<td><code>customer.address.line4</code></td>\n<td>string</td>\n<td>Address line 4</td>\n</tr>\n<tr>\n<td><code>customer.address.postCode</code></td>\n<td>string</td>\n<td>Postal code</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response-example\">Response Example</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"customer\": {\n    \"id\": \"SL476.1\",\n    \"firstName\": \"Olu\",\n    \"email\": \"leanne@dmservices.co.uk\",\n    \"address\": {\n      \"houseNo\": \"\",\n      \"line2\": \"\",\n      \"line3\": \"\",\n      \"line4\": \"\",\n      \"postCode\": \"\"\n    },\n    \"title\": \"\",\n    \"surname\": \"Parr\",\n    \"phone\": \"\",\n    \"mobile\": \"07972022552\"\n  }\n}\n</code></pre>\n<h2 id=\"usage-example\">Usage Example</h2>\n<p>To retrieve customer information, send a POST request with the customer ID in the request body. Ensure your API key is properly configured in the request authentication.</p>\n<h2 id=\"notes\">Notes</h2>\n<ul>\n<li>Some fields in the response may be empty strings if the information is not available in the system</li>\n<li>The <code>success</code> field indicates whether the customer was found and retrieved successfully</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","customer","retrieveCustomer"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"11b6eda4-e978-4447-a7b3-812dbbbb49dd"}],"id":"2520739e-ea0a-4c6c-b586-862d66cda686","description":"<p>Calls to the Customer API will allow the retrieval, creation and updating of Customer Records in the Navigator Database.</p>\n","_postman_id":"2520739e-ea0a-4c6c-b586-862d66cda686","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}}},{"name":"Enquiry","item":[{"name":"createEnquiry","id":"71741c68-71a6-414a-a17c-25e76ef7c1ac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{ \r\n    \"method\": \"Internet\",\r\n    \"source\": \"WebSite\",\r\n    \"externalRef\": \"a1234\",\r\n    \"customerId\": \"\",\r\n    \"title\": \"Mr\",\r\n    \"firstName\": \"Simon\", \r\n    \"surname\": \"Verona\",\r\n    \"phone\": \"012345674869\",\r\n    \"workPhone\": \"\",\r\n    \"mobile\": \"07123456456\",\r\n    \"email\": \"simon@dmsnavigator.co.uk\",\r\n    \"address\": {\r\n        \"houseNo\": \"5\",\r\n        \"line2\": \"The Street\",\r\n        \"line3\": \"The Town\",\r\n        \"line4\": \"\",\r\n        \"postCode\": \"AB1 1AA\"\r\n    \r\n    },\r\n    \"vehicleOfInterest\": {\r\n        \"stockNo\": \"\",\r\n        \"make\": \"audi\",\r\n        \"model\": \"a4\",\r\n        \"regNo\": \"S11SPV\",\r\n        \"colour\": \"red\"\r\n    },\r\n    \"partExchange\": {\r\n        \"make\": \"Ford\",\r\n        \"model\": \"Escort\",\r\n        \"regNo\": \"A198UFE\",\r\n        \"mileage\": \"12500\",\r\n        \"offered\": \"1500.00\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/enquiry/createEnquiry","description":"<h1 id=\"create-sales-enquiry\">Create Sales Enquiry</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint creates a new sales enquiry in the DMS Navigator system. It captures customer information, vehicle of interest details, and optional part-exchange information for automotive dealerships.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires API key authentication. The API key should be passed using the <code>apikey</code> variable (typically in headers or query parameters as configured in your environment).</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\n<h3 id=\"top-level-fields\">Top-Level Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>method</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The method through which the enquiry was received (e.g., \"Internet\", \"Phone\", \"Walk-in\")</td>\n</tr>\n<tr>\n<td><code>source</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The source of the enquiry (e.g., \"WebSite\", \"Email\", \"Social Media\")</td>\n</tr>\n<tr>\n<td><code>externalRef</code></td>\n<td>string</td>\n<td>No</td>\n<td>External reference number for tracking purposes</td>\n</tr>\n<tr>\n<td><code>customerId</code></td>\n<td>string</td>\n<td>No</td>\n<td>Existing customer ID if the customer is already in the system</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer's title (e.g., \"Mr\", \"Mrs\", \"Ms\", \"Dr\")</td>\n</tr>\n<tr>\n<td><code>firstName</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer's first name</td>\n</tr>\n<tr>\n<td><code>surname</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer's surname/last name</td>\n</tr>\n<tr>\n<td>phone</td>\n<td>string</td>\n<td>No</td>\n<td>Home Phone No</td>\n</tr>\n<tr>\n<td>workPhone</td>\n<td>string</td>\n<td>No</td>\n<td>Work Phone No</td>\n</tr>\n<tr>\n<td>mobile</td>\n<td>string</td>\n<td>No</td>\n<td>Mobile Phone No</td>\n</tr>\n<tr>\n<td>email</td>\n<td>string</td>\n<td>No</td>\n<td>Email Address</td>\n</tr>\n<tr>\n<td>team</td>\n<td>numeric</td>\n<td>No</td>\n<td>Sales Team No to send enquiry to (defaults to 1)</td>\n</tr>\n</tbody>\n</table>\n</div><p>Noites:-</p>\n<p>Either a Customer ID or a Name is required.</p>\n<p>A method of contact is required - either phone no, email or address</p>\n<h3 id=\"address-object\">Address Object</h3>\n<p>Contains the customer's contact and address information.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>houseNo</code></td>\n<td>string</td>\n<td>No</td>\n<td>House number or building name</td>\n</tr>\n<tr>\n<td><code>line2</code></td>\n<td>string</td>\n<td>No</td>\n<td>Street name or address line 2</td>\n</tr>\n<tr>\n<td><code>line3</code></td>\n<td>string</td>\n<td>No</td>\n<td>Town/City or address line 3</td>\n</tr>\n<tr>\n<td><code>line4</code></td>\n<td>string</td>\n<td>No</td>\n<td>County or address line 4</td>\n</tr>\n<tr>\n<td><code>postCode</code></td>\n<td>string</td>\n<td>No</td>\n<td>Postal/ZIP code</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"vehicle-of-interest-object\">Vehicle of Interest Object</h3>\n<p>Details about the vehicle the customer is interested in purchasing.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>stockNo</code></td>\n<td>string</td>\n<td>No</td>\n<td>Stock number if the vehicle is in inventory</td>\n</tr>\n<tr>\n<td><code>make</code></td>\n<td>string</td>\n<td>No</td>\n<td>Vehicle manufacturer (e.g., \"Audi\", \"BMW\", \"Ford\")</td>\n</tr>\n<tr>\n<td><code>model</code></td>\n<td>string</td>\n<td>No</td>\n<td>Vehicle model (e.g., \"A4\", \"3 Series\", \"Fiesta\")</td>\n</tr>\n<tr>\n<td><code>regNo</code></td>\n<td>string</td>\n<td>No</td>\n<td>Registration number if known</td>\n</tr>\n<tr>\n<td><code>colour</code></td>\n<td>string</td>\n<td>No</td>\n<td>Preferred vehicle colour</td>\n</tr>\n</tbody>\n</table>\n</div><p>If the stockNo field is supplied then the other fields are not required.</p>\n<h3 id=\"part-exchange-object\">Part Exchange Object</h3>\n<p>Information about the customer's vehicle for part-exchange (optional).</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>make</code></td>\n<td>string</td>\n<td>No</td>\n<td>Make of the part-exchange vehicle</td>\n</tr>\n<tr>\n<td><code>model</code></td>\n<td>string</td>\n<td>No</td>\n<td>Model of the part-exchange vehicle</td>\n</tr>\n<tr>\n<td><code>regNo</code></td>\n<td>string</td>\n<td>No</td>\n<td>Registration number of the part-exchange vehicle</td>\n</tr>\n<tr>\n<td><code>mileage</code></td>\n<td>string</td>\n<td>No</td>\n<td>Current mileage of the part-exchange vehicle</td>\n</tr>\n<tr>\n<td><code>offered</code></td>\n<td>string</td>\n<td>No</td>\n<td>Offered part-exchange value (in currency format)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<h3 id=\"success-response-200-ok\">Success Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"enquiryId\": \"3145\"\n}\n\n</code></pre>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>success</code></td>\n<td>boolean</td>\n<td>Indicates whether the enquiry was created successfully</td>\n</tr>\n<tr>\n<td><code>enquiryId</code></td>\n<td>string</td>\n<td>Unique identifier for the newly created enquiry</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"notes\">Notes</h2>\n<ul>\n<li><p>All string fields should be properly encoded</p>\n</li>\n<li><p>Phone numbers can be in various formats</p>\n</li>\n<li><p>The <code>offered</code> field in part-exchange should be a numeric string representing the currency value</p>\n</li>\n<li><p>Empty strings are acceptable for optional fields</p>\n</li>\n<li><p>The enquiry ID returned can be used for subsequent operations like updating or retrieving enquiry details</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","enquiry","createEnquiry"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"71741c68-71a6-414a-a17c-25e76ef7c1ac"},{"name":"updateEnquiry","id":"a7b90e90-4eac-4fa1-9b3c-b34ee058f9b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"enquiryNo\": \"3182\",\r\n    \"title\": \"Mr\",\r\n    \"firstName\": \"Simon\",\r\n    \"surname\": \"Verona\",\r\n    \"address\": {\r\n        \"houseNo\": \"5\",\r\n        \"line2\": \"The Street\",\r\n        \"line3\": \"The Town\",\r\n        \"line4\": \"\",\r\n        \"postCode\": \"AB1 1AA\",\r\n        \"phone\": \"012345674869\",\r\n        \"workPhone\": \"\",\r\n        \"mobile\": \"07123456456\",\r\n        \"email\": \"simon@dmsnavigator.co.uk\"\r\n    },\r\n    \"vehicleOfInterest\": {\r\n        \"stockNo\": \"\",\r\n        \"make\": \"audi\",\r\n        \"model\": \"a4\",\r\n        \"regNo\": \"S11SPV\",\r\n        \"colour\": \"red\"\r\n    },\r\n    \"partExchange\": {\r\n        \"make\": \"Ford\",\r\n        \"model\": \"Escort\",\r\n        \"regNo\": \"A198UFE\",\r\n        \"mileage\": \"12500\",\r\n        \"offered\": \"1500.00\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/enquiry/updateEnquiry","description":"<h1 id=\"update-sales-enquiry\">Update Sales Enquiry</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint updates an existig sales enquiry in the DMS Navigator system. It updatescustomer information, vehicle of interest details, and optional part-exchange information for automotive dealerships.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires API key authentication. The API key should be passed using the <code>apikey</code> variable (typically in headers or query parameters as configured in your environment).</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\n<h3 id=\"top-level-fields\">Top-Level Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>enquiryNo</td>\n<td>string</td>\n<td>Yes</td>\n<td>Enquiry No to update</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer's title (e.g., \"Mr\", \"Mrs\", \"Ms\", \"Dr\")</td>\n</tr>\n<tr>\n<td><code>firstName</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer's first name</td>\n</tr>\n<tr>\n<td><code>surname</code></td>\n<td>string</td>\n<td>No</td>\n<td>Customer's surname/last name</td>\n</tr>\n<tr>\n<td>phone</td>\n<td>string</td>\n<td>No</td>\n<td>Phone No</td>\n</tr>\n<tr>\n<td>workPhone</td>\n<td>string</td>\n<td>No</td>\n<td>Work Phone No</td>\n</tr>\n<tr>\n<td>mobile</td>\n<td>string</td>\n<td>No</td>\n<td>Mobile Phone No</td>\n</tr>\n<tr>\n<td>email</td>\n<td>string</td>\n<td>No</td>\n<td>Email Address</td>\n</tr>\n<tr>\n<td>team</td>\n<td>numeric</td>\n<td>No</td>\n<td>Sales team to send enquiry to</td>\n</tr>\n</tbody>\n</table>\n</div><p>Noites:-</p>\n<p>Either a Customer ID or a Name is required.</p>\n<p>A method of contact is required - either phone no, email or address</p>\n<h3 id=\"address-object\">Address Object</h3>\n<p>Contains the customer's contact and address information.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>houseNo</code></td>\n<td>string</td>\n<td>No</td>\n<td>House number or building name</td>\n</tr>\n<tr>\n<td><code>line2</code></td>\n<td>string</td>\n<td>No</td>\n<td>Street name or address line 2</td>\n</tr>\n<tr>\n<td><code>line3</code></td>\n<td>string</td>\n<td>No</td>\n<td>Town/City or address line 3</td>\n</tr>\n<tr>\n<td><code>line4</code></td>\n<td>string</td>\n<td>No</td>\n<td>County or address line 4</td>\n</tr>\n<tr>\n<td><code>postCode</code></td>\n<td>string</td>\n<td>No</td>\n<td>Postal/ZIP code</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"vehicle-of-interest-object\">Vehicle of Interest Object</h3>\n<p>Details about the vehicle the customer is interested in purchasing.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>stockNo</code></td>\n<td>string</td>\n<td>No</td>\n<td>Stock number if the vehicle is in inventory</td>\n</tr>\n<tr>\n<td><code>make</code></td>\n<td>string</td>\n<td>No</td>\n<td>Vehicle manufacturer (e.g., \"Audi\", \"BMW\", \"Ford\")</td>\n</tr>\n<tr>\n<td><code>model</code></td>\n<td>string</td>\n<td>No</td>\n<td>Vehicle model (e.g., \"A4\", \"3 Series\", \"Fiesta\")</td>\n</tr>\n<tr>\n<td><code>regNo</code></td>\n<td>string</td>\n<td>No</td>\n<td>Registration number if known</td>\n</tr>\n<tr>\n<td><code>colour</code></td>\n<td>string</td>\n<td>No</td>\n<td>Preferred vehicle colour</td>\n</tr>\n</tbody>\n</table>\n</div><p>If the stockNo field is supplied then the other fields are not required.</p>\n<h3 id=\"part-exchange-object\">Part Exchange Object</h3>\n<p>Information about the customer's vehicle for part-exchange (optional).</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>make</code></td>\n<td>string</td>\n<td>No</td>\n<td>Make of the part-exchange vehicle</td>\n</tr>\n<tr>\n<td><code>model</code></td>\n<td>string</td>\n<td>No</td>\n<td>Model of the part-exchange vehicle</td>\n</tr>\n<tr>\n<td><code>regNo</code></td>\n<td>string</td>\n<td>No</td>\n<td>Registration number of the part-exchange vehicle</td>\n</tr>\n<tr>\n<td><code>mileage</code></td>\n<td>string</td>\n<td>No</td>\n<td>Current mileage of the part-exchange vehicle</td>\n</tr>\n<tr>\n<td><code>offered</code></td>\n<td>string</td>\n<td>No</td>\n<td>Offered part-exchange value (in currency format)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<h3 id=\"success-response-200-ok\">Success Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"enquiryId\": \"3145\"\n}\n\n</code></pre>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>success</code></td>\n<td>boolean</td>\n<td>Indicates whether the enquiry was created successfully</td>\n</tr>\n<tr>\n<td><code>enquiryId</code></td>\n<td>string</td>\n<td>Unique identifier for the newly created enquiry</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"notes\">Notes</h2>\n<ul>\n<li><p>All string fields should be properly encoded</p>\n</li>\n<li><p>Phone numbers can be in various formats</p>\n</li>\n<li><p>The <code>offered</code> field in part-exchange should be a numeric string representing the currency value</p>\n</li>\n<li><p>Empty strings are acceptable for optional fields</p>\n</li>\n<li><p>The enquiry ID returned can be used for subsequent operations like updating or retrieving enquiry details</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","enquiry","updateEnquiry"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"a7b90e90-4eac-4fa1-9b3c-b34ee058f9b3"},{"name":"addContact","id":"77c5cc35-3505-423c-abb8-a4c324a4688d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n   \"contactType\":\"telephone\",\r\n   \"notes\":\"this is a test note\",\r\n   \"enquiryNo\":\"3159\"\r\n}"},"url":"https://services.dmservices.co.uk/webhooks/enquiry/addContact","description":"<h1 id=\"add-contact-to-enquiry\">Add Contact to Enquiry</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint adds a contact to an existing enquiry in the DMS Navigator system. It allows you to associate contact information and notes with a specific enquiry number.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires API key authentication using the <code>apikey</code> variable, which should be configured in your environment.</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\n<p>The request accepts a JSON payload with the following parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>contactType</code></td>\n<td>enumeration</td>\n<td>Yes</td>\n<td>The type of contact being added. Values can be \"telephone\", \"visit\", \"email\", \"sms\"</td>\n</tr>\n<tr>\n<td><code>notes</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Additional notes or information about the contact. This can include any relevant details about the interaction or contact.</td>\n</tr>\n<tr>\n<td><code>enquiryNo</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>The enquiry number to which this contact should be associated. This links the contact to an existing enquiry in the system.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"request-example\">Request Example</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"contactType\": \"telephone\",\n  \"notes\": \"this is a test note\",\n  \"enquiryNo\": \"3159\"\n}\n\n</code></pre>\n<h2 id=\"response-format\">Response Format</h2>\n<h3 id=\"success-response-200-ok\">Success Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true\n}\n\n</code></pre>\n<p>The endpoint returns a simple JSON object indicating whether the contact was successfully added to the enquiry.</p>\n<h2 id=\"usage-notes\">Usage Notes</h2>\n<ul>\n<li><p>Ensure the <code>enquiryNo</code> corresponds to an existing enquiry in the system</p>\n</li>\n<li><p>The <code>contactType</code> value should match the expected contact type codes in your DMS Navigator configuration</p>\n</li>\n<li><p>All three parameters are required for successful contact creation</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","enquiry","addContact"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"77c5cc35-3505-423c-abb8-a4c324a4688d"}],"id":"62298a29-aabd-4ef1-9754-feb590e1de48","description":"<p>The enquiry endpoint can be used to create or update a sales enquiry</p>\n","_postman_id":"62298a29-aabd-4ef1-9754-feb590e1de48","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}}},{"name":"Vehicle","item":[{"name":"stockList","id":"69890c96-9c73-4624-9159-7f118d4c3d49","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"branches\": [\r\n        \"1\",\r\n        \"2\",\r\n        \"3\"\r\n    ],\r\n    \"style\": \"WEB\",\r\n    \"newUsed\": \"used\",\r\n    \"inStockOnly\": true,\r\n    \"unsoldOnly\": true,\r\n    \"advertisedOnly\": false,\r\n    \"uninvoicedOnly\": true,\r\n    \"stockNo\": \"\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/vehicle/stockList","description":"<h1 id=\"vehicle-stock-list-endpoint\">Vehicle Stock List Endpoint</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint retrieves a filtered list of vehicle stock from the DMS Navigator system. It allows you to query vehicle inventory based on multiple criteria including branch location, vehicle condition, and availability status.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires API key authentication. The API key must be provided in the request headers.</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\n<h3 id=\"branches-array-of-strings\"><code>branches</code> (array of strings)</h3>\n<ul>\n<li><p><strong>Description</strong>: Array of branch IDs to filter the stock list</p>\n</li>\n<li><p><strong>Example</strong>: <code>[\"1\", \"2\", \"3\"]</code></p>\n</li>\n<li><p><strong>Required</strong>: Yes</p>\n</li>\n<li><p><strong>Notes</strong>: Specify which dealership branches to include in the search</p>\n</li>\n</ul>\n<h3 id=\"style-string\"><code>style</code> (string)</h3>\n<ul>\n<li><p><strong>Description</strong>: Display style format for the response</p>\n</li>\n<li><p><strong>Example</strong>: <code>\"WEB\"</code></p>\n</li>\n<li><p><strong>Required</strong>: No</p>\n</li>\n<li><p><strong>Default Values</strong>: <code>\"WEB\"</code></p>\n</li>\n</ul>\n<h3 id=\"newused-string\"><code>newUsed</code> (string)</h3>\n<ul>\n<li><p><strong>Description</strong>: Filter vehicles by condition</p>\n</li>\n<li><p><strong>Example</strong>: <code>\"used\"</code></p>\n</li>\n<li><p><strong>Required</strong>: No - defaults to \"all\"</p>\n</li>\n<li><p><strong>Accepted Values</strong>: <code>\"new\"</code>, <code>\"used\", \"all\"</code></p>\n</li>\n</ul>\n<h3 id=\"instockonly-boolean\"><code>inStockOnly</code> (boolean)</h3>\n<ul>\n<li><p><strong>Description</strong>: When <code>true</code>, returns only vehicles currently in stock</p>\n</li>\n<li><p><strong>Example</strong>: <code>true</code></p>\n</li>\n<li><p><strong>Required</strong>: No</p>\n</li>\n<li><p><strong>Default</strong>: true</p>\n</li>\n</ul>\n<h3 id=\"unsoldonly-boolean\"><code>unsoldOnly</code> (boolean)</h3>\n<ul>\n<li><p><strong>Description</strong>: When <code>true</code>, returns only vehicles that have not been sold</p>\n</li>\n<li><p><strong>Example</strong>: <code>true</code></p>\n</li>\n<li><p><strong>Required</strong>: no</p>\n</li>\n<li><p><strong>Default</strong>: true</p>\n</li>\n</ul>\n<h3 id=\"advertisedonly-boolean\"><code>advertisedOnly</code> (boolean)</h3>\n<ul>\n<li><p><strong>Description</strong>: When <code>true</code>, returns only vehicles that are currently advertised</p>\n</li>\n<li><p><strong>Example</strong>: <code>true</code></p>\n</li>\n<li><p><strong>Required</strong>: no</p>\n</li>\n<li><p><strong>Default</strong>: true</p>\n</li>\n</ul>\n<h3 id=\"uninvoicedonly-boolean\"><code>uninvoicedOnly</code> (boolean)</h3>\n<ul>\n<li><p><strong>Description</strong>: When <code>true</code>, returns only vehicles that have not been invoiced</p>\n</li>\n<li><p><strong>Example</strong>: <code>true</code></p>\n</li>\n<li><p><strong>Required</strong>: no</p>\n</li>\n<li><p><strong>Default</strong>: true</p>\n</li>\n</ul>\n<h3 id=\"stockno-string\"><code>stockNo</code> (string)</h3>\n<ul>\n<li><p><strong>Description</strong> : The stock number that is required to be downloaded. Only one is allowed and the stock no should be formatted as an integer without the branch no. If supplied, the only other parameter that is required is <strong>branches</strong> and only the single branch should be supplied.</p>\n</li>\n<li><p><strong>Example:</strong> 1234</p>\n</li>\n<li><p><strong>Required</strong>: No</p>\n</li>\n<li><p><strong>Default</strong>: null</p>\n</li>\n</ul>\n<h2 id=\"response-format\">Response Format</h2>\n<h3 id=\"success-response-200-ok\">Success Response (200 OK)</h3>\n<p>Returns an array of vehicle objects. Each vehicle object contains:</p>\n<ul>\n<li><p><strong>STOCK</strong>: Stock number/ID</p>\n</li>\n<li><p><strong>Reg</strong>: Vehicle registration number</p>\n</li>\n<li><p><strong>Make</strong>: Vehicle manufacturer (e.g., \"Mini\")</p>\n</li>\n<li><p><strong>Model</strong>: Vehicle model name</p>\n</li>\n<li><p><strong>Derivative</strong>: Specific variant/trim level</p>\n</li>\n<li><p><strong>Colour</strong>: Vehicle color</p>\n</li>\n<li><p><strong>Year</strong>: Year of manufacture</p>\n</li>\n<li><p><strong>Mileage</strong>: Current mileage</p>\n</li>\n<li><p><strong>Engine_Size</strong>: Engine displacement in cc</p>\n</li>\n<li><p><strong>Engine_Type</strong>: Fuel type (e.g., \"Petrol\", \"Diesel\")</p>\n</li>\n<li><p><strong>Transmission</strong>: Transmission type and number of gears</p>\n</li>\n<li><p><strong>Type</strong>: Vehicle type (\"New\" or \"Used\")</p>\n</li>\n<li><p><strong>Retail</strong>: Retail price</p>\n</li>\n<li><p><strong>Web_Price</strong>: Online display price</p>\n</li>\n<li><p><strong>Guide_Retail</strong>: Guide retail price</p>\n</li>\n<li><p><strong>Previous_Price</strong>: Previous listing price</p>\n</li>\n<li><p><strong>Available_for_Sale</strong>: Availability flag (\"1\" = available, \"0\" = not available)</p>\n</li>\n<li><p><strong>Advertising_Notes</strong>: Additional advertising information</p>\n</li>\n<li><p><strong>Manager_Comments</strong>: Internal comments from management</p>\n</li>\n<li><p><strong>Options</strong>: Additional features and options</p>\n</li>\n<li><p><strong>Specification</strong>: Detailed vehicle specification</p>\n</li>\n<li><p><strong>Image</strong>: Image availability indicator</p>\n</li>\n<li><p><strong>ImageList</strong>: List of available images</p>\n</li>\n<li><p><strong>Insurance_Group</strong>: Insurance classification</p>\n</li>\n<li><p><strong>Tax_Band_2</strong>: Vehicle tax band</p>\n</li>\n<li><p><strong>Commercial</strong>: Commercial vehicle flag (\"1\" = yes, \"0\" = no)</p>\n</li>\n<li><p><strong>Ex_Demo</strong>: Ex-demonstration vehicle flag</p>\n</li>\n<li><p><strong>Pre_Registered</strong>: Pre-registered vehicle flag</p>\n</li>\n<li><p><strong>Dealer_Approved</strong>: Dealer approval status</p>\n</li>\n<li><p><strong>Franchise_Approved</strong>: Franchise approval status</p>\n</li>\n<li><p><strong>Hpi_Checked</strong>: HPI check status</p>\n</li>\n<li><p><strong>Car_Data_Checked</strong>: Data verification status</p>\n</li>\n<li><p><strong>Features_Upgraded</strong>: Upgraded features list</p>\n</li>\n<li><p><strong>Special_Offer</strong>: Special offer details</p>\n</li>\n<li><p><strong>Origin</strong>: Vehicle origin information</p>\n</li>\n<li><p><strong>Delivery_Cost_Incl</strong>: Delivery cost inclusion flag</p>\n</li>\n<li><p><strong>Reg_Fee_Included</strong>: Registration fee inclusion flag</p>\n</li>\n<li><p><strong>Tax_Included</strong>: Tax inclusion flag</p>\n</li>\n<li><p><strong>Sub_Heading</strong>: Additional heading text</p>\n</li>\n<li><p><strong>Q</strong>: Qualifying indicator</p>\n</li>\n</ul>\n<h3 id=\"example-response\">Example Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"STOCK\": \"5620.1\",\n    \"Reg\": \"S111MWL\",\n    \"Make\": \"Mini\",\n    \"Model\": \"One\",\n    \"Derivative\": \"\",\n    \"Colour\": \"Orange Glow\",\n    \"Year\": \"2012\",\n    \"Mileage\": \"14000\",\n    \"Engine_Size\": \"1598\",\n    \"Engine_Type\": \"Petrol\",\n    \"Transmission\": \"Manual 6 Gears\",\n    \"Type\": \"Used\",\n    \"Retail\": \"0.00\",\n    \"Web_Price\": \"0.00\",\n    \"Available_for_Sale\": \"1\",\n    \"Specification\": \"1598 Petrol Manual 6 Gears 3 Door Hatch...\"\n  }\n]\n\n</code></pre>\n<h2 id=\"notes\">Notes</h2>\n<ul>\n<li><p>All filter parameters work in combination (AND logic)</p>\n</li>\n<li><p>Empty arrays or false boolean values will broaden the search results</p>\n</li>\n<li><p>Price values of \"0.00\" may indicate pricing is not yet set or is available on request</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","vehicle","stockList"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"69890c96-9c73-4624-9159-7f118d4c3d49"},{"name":"image","id":"c6d90921-c5be-45cd-950b-04786aa2e503","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://services.dmservices.co.uk/DmsNavigator.NavigatorWebService.svc/GetImage/{{apikey}},1,{{filename}}","description":"<h1 id=\"getimage-endpoint\">GetImage Endpoint</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint retrieves an image from the DMS Navigator system. It allows you to fetch stored images using an API key and filename identifier.</p>\n<h2 id=\"url-parameters\">URL Parameters</h2>\n<p>The endpoint uses a path-based parameter structure in the format: <code>/GetImage/{apikey},{imageType},{filename}</code></p>\n<ul>\n<li><p><strong><code>{{apikey}}</code></strong> (required): Your API authentication key for accessing the DMS Navigator Web Service. This key must be obtained from your DMS Navigator account and should be kept secure.</p>\n</li>\n<li><p><strong><code>1</code></strong> (required): This should always be a 1</p>\n</li>\n<li><p><strong><code>{{filename}}</code></strong> (required): The name or identifier of the image file you want to retrieve. This should match the filename as stored in the DMS Navigator system.</p>\n</li>\n</ul>\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires API key authentication. The API key must be:</p>\n<ul>\n<li><p>Included as part of the URL path (first parameter)</p>\n</li>\n<li><p>Valid and active in the DMS Navigator system</p>\n</li>\n<li><p>Associated with appropriate permissions to access image resources</p>\n</li>\n</ul>\n<h2 id=\"response\">Response</h2>\n<p><strong>Success Response:</strong></p>\n<ul>\n<li><p><strong>Content-Type</strong>: <code>image/jpeg</code>, <code>image/png</code>, or other image MIME types depending on the stored file</p>\n</li>\n<li><p><strong>Body</strong>: Binary image data that can be directly displayed or saved</p>\n</li>\n</ul>\n<p><strong>Error Responses:</strong></p>\n<ul>\n<li><p><strong>401 Unauthorized</strong>: Invalid or missing API key</p>\n</li>\n<li><p><strong>404 Not Found</strong>: Image file does not exist or filename is incorrect</p>\n</li>\n<li><p><strong>403 Forbidden</strong>: API key does not have permission to access the requested image</p>\n</li>\n</ul>\n<h2 id=\"example-usage-scenarios\">Example Usage Scenarios</h2>\n<h3 id=\"retrieving-a-vehicle-image\">Retrieving a Vehicle Image</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET /GetImage/your-api-key-here,1,12345_0.jpg\n\n</code></pre><p>Use this to fetch a vehicle image stored in the system for display on a website or application.</p>\n<p>The filename of a vehicle image is always the integer part of the image and the image no - starting at 0. So for stockno 12345.1 the first image will be 12345_0.jpg, the second image will be 12345_1.jpg</p>\n<p>If downloading all the images for a vehicle. cycle through all the images in turn 0,1,2,3,4 until no image is returned.</p>\n<h3 id=\"scenario-2-loading-product-images\">Scenario 2: Loading Product Images</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET /GetImage/your-api-key-here,1,part_image_abc123.jpg\n\n</code></pre><p>Fetch product or parts images for inventory management or e-commerce displays.</p>\n<h2 id=\"best-practices\">Best Practices</h2>\n<ul>\n<li><p>Store your API key securely using environment variables</p>\n</li>\n<li><p>Implement proper error handling for missing or invalid images</p>\n</li>\n<li><p>Cache images appropriately to reduce API calls</p>\n</li>\n<li><p>Validate filenames before making requests to avoid unnecessary API calls</p>\n</li>\n</ul>\n<h2 id=\"notes\">Notes</h2>\n<ul>\n<li><p>Ensure the filename matches exactly as stored in the DMS Navigator system (case-sensitive)</p>\n</li>\n<li><p>The image type parameter (currently set to <code>1</code>) may need to be adjusted based on your specific implementation</p>\n</li>\n<li><p>Large images may take longer to retrieve depending on network conditions</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["DmsNavigator.NavigatorWebService.svc","GetImage","{{apikey}},1,{{filename}}"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"c6d90921-c5be-45cd-950b-04786aa2e503"},{"name":"updateVehicle","id":"0e437ecf-37a7-47b3-8a51-ca38406d0d8c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"StockNo\":\"5620.1\",\r\n    \"RegDate\":\"01/01/2020\",\r\n    \"Colour\":\"red\",\r\n    \"Mileage\":\"10000\",\r\n    \"ShortAttentionGrabber\":\"This is the short attention grabber\",\r\n    \"SalePrice\":\"10000.00\",\r\n    \"RetailPrice\":\"10500.00\",\r\n    \"WebPrice\":\"9999.99\",\r\n    \"PreviousPrice\":\"11000.00\",\r\n    \"Seats\":\"5\",\r\n    \"EngineSize\":\"2000\",\r\n    \"Height\":\"1800\",\r\n    \"Length\":\"4500\",\r\n    \"Derivative\":\"2.0 supersport\",\r\n    \"BHP\":\"180\",\r\n    \"Width\":\"1850\"\r\n\r\n\r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/vehicle/updateVehicle","description":"<h1 id=\"update-vehicle-information\">Update Vehicle Information</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint updates vehicle information in the DMS Navigator system. It allows you to modify various attributes of a vehicle record including pricing, specifications, and marketing details.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires API key authentication using the <code>apikey</code> variable, which should be included in the request headers or query parameters.</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>StockNo</code></td>\n<td>String</td>\n<td>Vehicle stock number - unique identifier for the vehicle in inventory</td>\n</tr>\n<tr>\n<td><code>RegDate</code></td>\n<td>Optional Date</td>\n<td>Vehicle registration date in DD/MM/YYYY format (e.g., \"01/01/2020\")</td>\n</tr>\n<tr>\n<td><code>Colour</code></td>\n<td>Optional String</td>\n<td>Vehicle color/colour</td>\n</tr>\n<tr>\n<td><code>Mileage</code></td>\n<td>Optional integer</td>\n<td>Current mileage of the vehicle</td>\n</tr>\n<tr>\n<td><code>ShortAttentionGrabber</code></td>\n<td>Optional String</td>\n<td>Marketing headline text used to attract customer attention</td>\n</tr>\n<tr>\n<td><code>SalePrice</code></td>\n<td>Optional Currency</td>\n<td>Sale price of the vehicle (decimal format: \"10000.00\")</td>\n</tr>\n<tr>\n<td><code>RetailPrice</code></td>\n<td>Optional Currency</td>\n<td>Guide Retail price of the vehicle (decimal format: \"10500.00\")</td>\n</tr>\n<tr>\n<td><code>WebPrice</code></td>\n<td>Optional Currency</td>\n<td>Price displayed on website (decimal format: \"9999.99\") - this field is not used by default and most providers should use SalePrice</td>\n</tr>\n<tr>\n<td><code>PreviousPrice</code></td>\n<td>Optional Currency</td>\n<td>Previous price for comparison/discount display (decimal format: \"11000.00\")</td>\n</tr>\n<tr>\n<td><code>Seats</code></td>\n<td>Optional Integer</td>\n<td>Number of seats in the vehicle</td>\n</tr>\n<tr>\n<td><code>EngineSize</code></td>\n<td>Optional Integer</td>\n<td>Engine size in cubic centimeters (cc)</td>\n</tr>\n<tr>\n<td><code>Height</code></td>\n<td>Optional Integer</td>\n<td>Vehicle height in millimeters (mm)</td>\n</tr>\n<tr>\n<td><code>Length</code></td>\n<td>Optional Integer</td>\n<td>Vehicle length in millimeters (mm)</td>\n</tr>\n<tr>\n<td><code>Derivative</code></td>\n<td>Optional String</td>\n<td>Vehicle model derivative/trim level (e.g., \"2.0 supersport\")</td>\n</tr>\n<tr>\n<td><code>BHP</code></td>\n<td>Optional Integer</td>\n<td>Brake horsepower - engine power output</td>\n</tr>\n<tr>\n<td><code>Width</code></td>\n<td>Optional Integer</td>\n<td>Vehicle width in millimeters (mm)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response-format\">Response Format</h2>\n<h3 id=\"success-response-200-ok\">Success Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true\n}\n\n</code></pre>\n<p>The endpoint returns a simple JSON object with a <code>success</code> boolean field indicating whether the vehicle information was updated successfully.</p>\n<h2 id=\"example-usage-notes\">Example Usage Notes</h2>\n<ul>\n<li><p>All price fields should be provided as strings with decimal notation (e.g., \"10000.00\")</p>\n</li>\n<li><p>Date format must be DD/MM/YYYY</p>\n</li>\n<li><p>Numeric values for dimensions and specifications should be provided as intgers</p>\n</li>\n<li><p>The <code>StockNo</code> field is critical as it identifies which vehicle record to update - this should include the branch no suffix ie 1234.1 NOT 1234</p>\n</li>\n<li><p>Ensure all required fields are populated to maintain data integrity in the system</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","vehicle","updateVehicle"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"0e437ecf-37a7-47b3-8a51-ca38406d0d8c"},{"name":"profitReport","id":"298ced6d-e00b-4c15-919f-d666b2e17463","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"branches\": [\r\n        \"1\",\r\n        \"2\"\r\n    ],\r\n    \"dateFrom\": \"01/8/25\",\r\n    \"dateTo\": \"31/8/25\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/vehicle/profitReport","description":"<h1 id=\"profit-report-endpoint\">Profit Report Endpoint</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint generates comprehensive profit reports for vehicle sales across specified branches and date ranges. It returns detailed financial data for each vehicle transaction, including costs, profits, margins, and associated business information.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<h3 id=\"body-parameters-json\">Body Parameters (JSON)</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>branches</code></td>\n<td>array of strings</td>\n<td>Yes</td>\n<td>Array of branch IDs to include in the report. Example: <code>[\"1\", \"2\"]</code></td>\n</tr>\n<tr>\n<td><code>dateFrom</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Start date for the report period in DD/M/YY format. Example: <code>\"01/8/25\"</code></td>\n</tr>\n<tr>\n<td><code>dateTo</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>End date for the report period in DD/M/YY format. Example: <code>\"31/8/25\"</code></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-request-body\">Example Request Body</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"branches\": [\"1\", \"2\"],\n  \"dateFrom\": \"01/8/25\",\n  \"dateTo\": \"31/8/25\"\n}\n\n</code></pre>\n<h2 id=\"response-structure\">Response Structure</h2>\n<p>The endpoint returns an array of vehicle profit records. Each record contains the following fields:</p>\n<h3 id=\"vehicle-information\">Vehicle Information</h3>\n<ul>\n<li><p><strong>SM</strong> - Sales Executive</p>\n</li>\n<li><p><strong>MAKE</strong> - Vehicle manufacturer (e.g., TESLA, VAUXHALL, CITROEN)</p>\n</li>\n<li><p><strong>MODEL</strong> - Vehicle model name</p>\n</li>\n<li><p><strong>DERIV</strong> - Vehicle derivative/trim specification</p>\n</li>\n<li><p><strong>Chassis</strong> - Vehicle chassis/VIN number</p>\n</li>\n<li><p><strong>Reg_No</strong> - Vehicle registration number</p>\n</li>\n<li><p><strong>Reg_Date</strong> - Vehicle registration date</p>\n</li>\n<li><p><strong>Vehicle_Type</strong> - Type of vehicle (e.g., Car)</p>\n</li>\n<li><p><strong>Vehicle_Category</strong> - Category classification (e.g., Motorhome)</p>\n</li>\n<li><p><strong>Type</strong> - Sale type (New/Used)</p>\n</li>\n</ul>\n<h3 id=\"business--customer-details\">Business &amp; Customer Details</h3>\n<ul>\n<li><p><strong>Branch</strong> - Branch name where the sale occurred</p>\n</li>\n<li><p><strong>Business_Manager</strong> - Name of the business manager</p>\n</li>\n<li><p><strong>Customer</strong> - Customer name</p>\n</li>\n<li><p><strong>Close_Date</strong> - Date the sale was closed (DD/MM/YY format)</p>\n</li>\n<li><p><strong>Invoice_No</strong> - Invoice number for the transaction</p>\n</li>\n<li><p><strong>Invoice_Date</strong> - Date the invoice was issued</p>\n</li>\n</ul>\n<h3 id=\"financial-data\">Financial Data</h3>\n<ul>\n<li><p><strong>VEHICLE_RETAIL</strong> - Retail price of the vehicle</p>\n</li>\n<li><p><strong>VEHICLES_COST</strong> - Cost of the vehicle</p>\n</li>\n<li><p><strong>VEHICLE_Disc</strong> - Discount applied to the vehicle</p>\n</li>\n<li><p><strong>VEHICLE_PROFIT</strong> - Profit from the vehicle sale</p>\n</li>\n<li><p><strong>TOTAL_PROFIT</strong> - Total profit including all components</p>\n</li>\n<li><p><strong>TOTAL_PROFIT_LESS_HOUSE_CHARGE</strong> - Total profit after house charges</p>\n</li>\n</ul>\n<h3 id=\"additional-revenue--costs\">Additional Revenue &amp; Costs</h3>\n<ul>\n<li><p><strong>FINANCE_COMMSN</strong> - Finance commission earned</p>\n</li>\n<li><p><strong>BONUSES</strong> - Bonuses associated with the sale</p>\n</li>\n<li><p><strong>WARR_SALE</strong> - Warranty sale amount</p>\n</li>\n<li><p><strong>WARR_PROFIT</strong> - Warranty profit</p>\n</li>\n<li><p><strong>D-OPT_SALE</strong> - Dealer options sale amount</p>\n</li>\n<li><p><strong>D-OPTS_PROFIT</strong> - Dealer options profit</p>\n</li>\n<li><p><strong>Fitted_Dealer_Options_sale</strong> - Fitted dealer options sale amount</p>\n</li>\n<li><p><strong>Fitted_Dealer_Options_margin</strong> - Fitted dealer options margin</p>\n</li>\n<li><p><strong>RFL_Profit</strong> - Road Fund License profit</p>\n</li>\n<li><p><strong>PDI/PREP</strong> - Pre-delivery inspection/preparation costs</p>\n</li>\n<li><p><strong>OTHER_COSTS</strong> - Other miscellaneous costs</p>\n</li>\n<li><p><strong>WRITE_DOWN</strong> - Write-down amount</p>\n</li>\n</ul>\n<h3 id=\"stock--trade-information\">Stock &amp; Trade Information</h3>\n<ul>\n<li><p><strong>STOCK</strong> - Stock number</p>\n</li>\n<li><p><strong>Days_in_stock</strong> - Number of days the vehicle was in stock</p>\n</li>\n<li><p><strong>Date_Expected_Into_Stock</strong> - Expected stock arrival date</p>\n</li>\n<li><p><strong>Qty</strong> - Quantity (negative values indicate sales)</p>\n</li>\n<li><p><strong>Px</strong> - Part exchange indicator</p>\n</li>\n<li><p><strong>P-EXCH_W/DOWN</strong> - Part exchange write-down amount</p>\n</li>\n<li><p><strong>Purchased_By</strong> - Person who purchased the vehicle for stock</p>\n</li>\n<li><p><strong>Supplier</strong> - Supplier information</p>\n</li>\n<li><p><strong>Source</strong> - Source of the vehicle (e.g., UNKNOWN)</p>\n</li>\n</ul>\n<h3 id=\"enquiry-information\">Enquiry Information</h3>\n<ul>\n<li><p><strong>Enquiry_Source</strong> - Source of the customer enquiry</p>\n</li>\n<li><p><strong>Enquiry_Sub_Source</strong> - Sub-source of the enquiry</p>\n</li>\n<li><p><strong>Enquiry_Type</strong> - Type of enquiry</p>\n</li>\n</ul>\n<h3 id=\"example-response\">Example Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"SM\": \"SIMON-HOME\",\n    \"MAKE\": \"TESLA\",\n    \"MODEL\": \"MODEL\",\n    \"DERIV\": \"5 Door Hatchback X 90D\",\n    \"Chassis\": \"1FA6P8LH5K8263561\",\n    \"Category\": \"Retail\",\n    \"Branch\": \"Dev B1\",\n    \"TOTAL_PROFIT\": \"-58942.50\",\n    \"VEHICLE_RETAIL\": \"-37500.00\",\n    \"Customer\": \"Ronaldo\",\n    \"Close_Date\": \"01/08/25\",\n    ...\n  }\n]\n\n</code></pre>\n<h2 id=\"use-cases\">Use Cases</h2>\n<h3 id=\"1-monthly-branch-performance-analysis\">1. Monthly Branch Performance Analysis</h3>\n<p>Generate profit reports for specific branches over a monthly period to analyze sales performance, identify top-performing vehicles, and assess profitability.</p>\n<h3 id=\"2-multi-branch-comparison\">2. Multi-Branch Comparison</h3>\n<p>Compare profit metrics across multiple branches for the same time period to identify best practices and areas for improvement.</p>\n<h3 id=\"3-financial-period-reporting\">3. Financial Period Reporting</h3>\n<p>Extract comprehensive financial data for accounting periods, including all revenue streams (vehicle sales, finance commission, warranties, dealer options).</p>\n<h3 id=\"4-stock-performance-analysis\">4. Stock Performance Analysis</h3>\n<p>Analyze days in stock, write-downs, and profit margins to optimize inventory management and pricing strategies.</p>\n<h3 id=\"5-sales-manager-performance-review\">5. Sales Manager Performance Review</h3>\n<p>Review individual sales manager performance based on total profits, customer satisfaction, and deal structures.</p>\n<h2 id=\"important-notes\">Important Notes</h2>\n<h3 id=\"date-format\">Date Format</h3>\n<ul>\n<li><p>Dates in the request body use <strong>DD/M/YY</strong> format (e.g., <code>\"01/8/25\"</code> for August 1, 2025)</p>\n</li>\n<li><p>Response dates may use <strong>DD/MM/YY</strong> format (e.g., <code>\"01/08/25\"</code>)</p>\n</li>\n<li><p>Single-digit months do not require leading zeros in the request</p>\n</li>\n</ul>\n<h3 id=\"negative-values\">Negative Values</h3>\n<ul>\n<li>Many financial fields may contain negative values, which typically indicate:<ul>\n<li><p><strong>Negative Qty/Px</strong>: Indicates a sale (outgoing stock)</p>\n</li>\n<li><p><strong>Negative profit values</strong>: May indicate losses or adjustments</p>\n</li>\n<li><p><strong>Negative costs</strong>: May indicate credits or reversals</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"branch-ids\">Branch IDs</h3>\n<ul>\n<li><p>Branch IDs are passed as strings in an array</p>\n</li>\n<li><p>Ensure branch IDs are valid for your organization</p>\n</li>\n</ul>\n<h3 id=\"data-completeness\">Data Completeness</h3>\n<ul>\n<li><p>Some fields may be empty strings or \"0.00\" when not applicable</p>\n</li>\n<li><p>The <code>Source</code> field may show \"UNKNOWN\" if the vehicle source wasn't tracked</p>\n</li>\n<li><p>Business Manager and Enquiry fields may be empty for some records</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","vehicle","profitReport"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"298ced6d-e00b-4c15-919f-d666b2e17463"},{"name":"pipelineProfitReport","id":"ed169386-c0c0-487a-8da6-02b1a195fe7d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n\"branches\":[\"1\",\"2\"],\r\n\"dateFrom\":\"01/08/25\",\r\n\"dateTo\":\"31/08/25\",\r\n\"invoicedOnly\":true,\r\n\"vehicleType\":\"new\",\r\n\"dateSelection\":\"OrderDate\"\r\n}"},"url":"https://services.dmservices.co.uk/webhooks/vehicle/pipelineProfitReport","description":"<h1 id=\"pipeline-profit-report\">Pipeline Profit Report</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint generates a comprehensive pipeline profit report for vehicles based on specified criteria. It provides detailed financial and operational data for vehicles in the sales pipeline, including profit margins, customer information, and vehicle details. The pipeline profit report is generally used for vehicles that have not yet been closed to indicate expected profit for the deal. The figures are therefore a blended mix of actual and estimated costs (actuals tend to be used if they exceed estimated)</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires API key authentication. The API key should be provided using the <code>apikey</code> variable, which is configured in the active environment.</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>branches</code></td>\n<td>Array of strings</td>\n<td>Yes</td>\n<td>Array of branch IDs to include in the report. Example: <code>[\"1\",\"2\"]</code></td>\n</tr>\n<tr>\n<td><code>dateFrom</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Start date for the report period in DD/MM/YY format. Example: <code>\"01/08/25\"</code></td>\n</tr>\n<tr>\n<td><code>dateTo</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>End date for the report period in DD/MM/YY format. Example: <code>\"31/08/25\"</code></td>\n</tr>\n<tr>\n<td><code>invoicedOnly</code></td>\n<td>Boolean</td>\n<td>Yes</td>\n<td>Filter to include only invoiced vehicles when set to <code>true</code>, or all vehicles when <code>false</code></td>\n</tr>\n<tr>\n<td><code>vehicleType</code></td>\n<td>Enumerated</td>\n<td>Yes</td>\n<td>Type of vehicle to include in the report. Accepted values: <code>\"new\"</code> , <code>\"used\" or \"both\"</code></td>\n</tr>\n<tr>\n<td><code>dateSelection</code></td>\n<td>Enumarated</td>\n<td>Yes</td>\n<td>The date field to use for filtering. <code>\"OrderDate\", \"InvoiceDate\", \"Either\"</code></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response-structure\">Response Structure</h2>\n<p>The endpoint returns an array of vehicle records with the following fields:</p>\n<h3 id=\"vehicle-identification\">Vehicle Identification</h3>\n<ul>\n<li><p><code>Stock</code> - Stock number/ID of the vehicle</p>\n</li>\n<li><p><code>Chassis_No</code> - Vehicle chassis number</p>\n</li>\n<li><p><code>Reg_No</code> - Registration number</p>\n</li>\n<li><p><code>Make</code> - Vehicle manufacturer (e.g., \"Audi\")</p>\n</li>\n<li><p><code>Model</code> - Vehicle model (e.g., \"R8\")</p>\n</li>\n<li><p><code>Deriv</code> - Vehicle derivative/trim level</p>\n</li>\n<li><p><code>Year</code> - Model year</p>\n</li>\n<li><p><code>Type</code> - Vehicle type (e.g., \"Car\")</p>\n</li>\n<li><p><code>New/Used</code> - Indicates whether vehicle is new or used</p>\n</li>\n<li><p><code>Category</code> - Sales category (e.g., \"Retail\")</p>\n</li>\n<li><p><code>Vehicle_Accounting_Category</code> - Accounting classification</p>\n</li>\n</ul>\n<h3 id=\"financial-information\">Financial Information</h3>\n<ul>\n<li><p><code>Actual_profit</code> - Actual profit amount (decimal)</p>\n</li>\n<li><p><code>Expected_profit</code> - Expected profit amount (decimal)</p>\n</li>\n<li><p><code>Vehicle_sale</code> - Vehicle sale price (decimal)</p>\n</li>\n<li><p><code>Vehicle_margin</code> - Profit margin on vehicle sale (decimal)</p>\n</li>\n<li><p><code>Accessory_sale</code> - Total accessory sales amount (decimal)</p>\n</li>\n<li><p><code>Accessory_margin</code> - Profit margin on accessories (decimal)</p>\n</li>\n<li><p><code>Fitted_Dealer_Options_sale</code> - Sales amount for fitted dealer options (decimal)</p>\n</li>\n<li><p><code>Fitted_Dealer_Options_margin</code> - Profit margin on dealer options (decimal)</p>\n</li>\n<li><p><code>Finance_margin</code> - Profit from finance arrangements (decimal)</p>\n</li>\n<li><p><code>Warr_sale</code> - Warranty sales amount (decimal)</p>\n</li>\n<li><p><code>Warr_margin</code> - Profit margin on warranty (decimal)</p>\n</li>\n<li><p><code>Rfl_Margin</code> - RFL (Road Fund License) margin (decimal)</p>\n</li>\n<li><p><code>Bonus</code> - Any bonus amounts (decimal)</p>\n</li>\n<li><p><code>PDI/Prep</code> - Pre-delivery inspection and preparation costs (decimal)</p>\n</li>\n<li><p><code>Other_Costs</code> - Other associated costs (decimal)</p>\n</li>\n<li><p><code>Sundry_Costs</code> - Miscellaneous costs (decimal)</p>\n</li>\n<li><p><code>Write_down</code> - Any write-down amounts (decimal)</p>\n</li>\n<li><p><code>Px_Overall.</code> - Part exchange overall value (decimal)</p>\n</li>\n</ul>\n<h3 id=\"customer-information\">Customer Information</h3>\n<ul>\n<li><p><code>Customer</code> - Customer name</p>\n</li>\n<li><p><code>Customer_Email</code> - Customer email address</p>\n</li>\n<li><p><code>Customer_Number</code> - Customer reference number</p>\n</li>\n<li><p><code>Post_Code</code> - Customer postal code</p>\n</li>\n<li><p><code>Salesman</code> - Assigned salesperson</p>\n</li>\n</ul>\n<h3 id=\"dates-and-status\">Dates and Status</h3>\n<ul>\n<li><p><code>Ordered</code> - Order date</p>\n</li>\n<li><p><code>Date_In_Stock</code> - Date vehicle entered stock</p>\n</li>\n<li><p><code>Delivery</code> - Scheduled delivery date</p>\n</li>\n<li><p><code>Delivered</code> - Actual delivery date (if delivered)</p>\n</li>\n<li><p><code>Invoiced</code> - Invoice date (if invoiced)</p>\n</li>\n</ul>\n<h3 id=\"additional-information\">Additional Information</h3>\n<ul>\n<li><p><code>Branch</code> - Branch ID where the vehicle is located</p>\n</li>\n<li><p><code>Quantity</code> - Quantity (typically \"1\" for vehicles)</p>\n</li>\n<li><p><code>Consigned</code> - Consignment status</p>\n</li>\n<li><p><code>Finance</code> - Finance Commision</p>\n</li>\n<li><p><code>Ext._warr</code> - Extended Warranty Profit</p>\n</li>\n<li><p><code>Finance_Co</code> - Finance company name</p>\n</li>\n<li><p><code>Px</code> - No of Part exchanges</p>\n</li>\n<li><p><code>Supplier</code> - Supplier code/reference</p>\n</li>\n<li><p><code>Vat_Qualifying</code> - Boolean indicating if VAT qualifying</p>\n</li>\n<li><p><code>not_used</code> - Reserved field (not currently used)</p>\n</li>\n</ul>\n<h2 id=\"example-use-case\">Example Use Case</h2>\n<p><strong>Scenario:</strong> A dealership manager wants to generate a profit report for all new vehicles ordered in August 2025 across branches 1 and 2, including only those that have been invoiced.</p>\n<p><strong>Request:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"branches\": [\"1\", \"2\"],\n  \"dateFrom\": \"01/08/25\",\n  \"dateTo\": \"31/08/25\",\n  \"invoicedOnly\": true,\n  \"vehicleType\": \"new\",\n  \"dateSelection\": \"OrderDate\"\n}\n\n</code></pre>\n<p><strong>Use Case:</strong> This report helps management:</p>\n<ul>\n<li><p>Track profitability across multiple branches</p>\n</li>\n<li><p>Analyze profit margins on vehicle sales and add-ons (accessories, warranties, finance)</p>\n</li>\n<li><p>Monitor sales performance by salesperson</p>\n</li>\n<li><p>Identify high-margin vs low-margin deals</p>\n</li>\n<li><p>Review the complete financial picture including all costs and revenue streams</p>\n</li>\n<li><p>Make data-driven decisions about pricing and inventory management</p>\n</li>\n</ul>\n<h2 id=\"response-format\">Response Format</h2>\n<p>The response is returned as a JSON array with HTTP status code 200 on success. Each object in the array represents one vehicle record with all associated financial and operational data.</p>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","vehicle","pipelineProfitReport"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"ed169386-c0c0-487a-8da6-02b1a195fe7d"}],"id":"eb23aaba-a850-409a-a257-2439c24711ad","_postman_id":"eb23aaba-a850-409a-a257-2439c24711ad","description":"","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}}},{"name":"Workshop","item":[{"name":"createBooking","id":"5f5d1d65-efc0-48c2-be21-276b479c20c2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"bookDate\": \"10/01/2022\",\r\n    \"bookTime\": \"09:00:00\",\r\n    \"branchId\": 1,\r\n    \"jobLines\": [\r\n        {\r\n            \"jobCode\": \"1\",\r\n            \"jobDescription\": \"Service\"\r\n        },\r\n         {\r\n            \"jobCode\": \"2\",\r\n            \"jobDescription\": \"MOT\"\r\n        }\r\n    ],\r\n    \"extraWork\": \"this is the free text work\",\r\n    \"vrm\": \"FV71AFK\",\r\n    \"regNo\": \"FV71AFK\",\r\n    \"regDate\": \"01/08/2021\",\r\n    \"vehicleColour\": \"\",\r\n    \"vehicleMake\": \"Audi\",\r\n    \"vehicleModel\": \"Etron\",\r\n    \"vehicleDerivative\": \"50\",\r\n    \"vehicleDoorPlan\": \"\",\r\n    \"vehicleEngineType\": \"\",\r\n    \"vehicleEngineNumber\": \"\",\r\n    \"VehicleEngineSize\": \"\",\r\n    \"vehicleTransmission\": \"\",\r\n    \"vehicleChassis\": \"\",\r\n    \"vehicleYearOfManufacture\": \"\",\r\n    \"vehicleModelYear\": \"\",\r\n    \"customerTitle\": \"Mr\",\r\n    \"customerForename\": \"Simon\",\r\n    \"customerSurname\": \"Verona\",\r\n    \"buildingName\": \"Navigator House\",\r\n    \"addr1\": \"12 O'Clock Court\",\r\n    \"addr2\": \"Attercliffe Road\",\r\n    \"addr3\": \"Sheffield\",\r\n    \"addr4\": \"\",\r\n    \"postCode\": \"S4 7WW\",\r\n    \"telNumber\": \"0844 693 0208\",\r\n    \"emailAddr\": \"simon@dmsnavigator.co.uk\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/workshop/createBooking","description":"<h1 id=\"create-workshop-booking\">Create Workshop Booking</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint creates a new workshop booking in the DMS Navigator system. It allows you to schedule service appointments by providing booking details, vehicle information, and customer data in a single API call.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires API key authentication using the <code>apikey</code> variable, which should be passed as a query parameter or header (depending on your configuration).</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\n<h3 id=\"booking-information\">Booking Information</h3>\n<ul>\n<li><p><strong>bookDate</strong> (string, required): The date of the booking in DD/MM/YYYY format (e.g., \"10/01/2022\")</p>\n</li>\n<li><p><strong>bookTime</strong> (string, required): The time of the booking in HH:MM:SS format (e.g., \"09:00:00\")</p>\n</li>\n<li><p><strong>branchId</strong> (integer, required): The ID of the branch where the booking will take place</p>\n</li>\n</ul>\n<h3 id=\"job-details\">Job Details</h3>\n<ul>\n<li><p><strong>jobLines</strong> array containing an array of job objects:-</p>\n<ul>\n<li><p><strong>jobCode</strong> : Optional: The Navigator Job Code job codes (e.g., 1) -</p>\n</li>\n<li><p><strong>jobDescription</strong> job descriptions corresponding to the job code (e.g., \"Service\")</p>\n</li>\n</ul>\n</li>\n<li><p><strong>extraWork</strong> (string, optional): Free text field for additional work requirements or notes</p>\n</li>\n</ul>\n<h3 id=\"vehicle-information\">Vehicle Information</h3>\n<ul>\n<li><p><strong>vrm</strong> (string, required): Vehicle Registration Mark (license plate number)</p>\n</li>\n<li><p><strong>regNo</strong> (string, required): Registration number (typically same as VRM)</p>\n</li>\n<li><p><strong>regDate</strong> (string, optional): Vehicle registration date in DD/MM/YYYY format</p>\n</li>\n<li><p><strong>vehicleColour</strong> (string, optional): Color of the vehicle</p>\n</li>\n<li><p><strong>vehicleMake</strong> (string, required): Vehicle manufacturer (e.g., \"Audi\")</p>\n</li>\n<li><p><strong>vehicleModel</strong> (string, required): Vehicle model (e.g., \"Etron\")</p>\n</li>\n<li><p><strong>vehicleDerivative</strong> (string, optional): Specific vehicle variant or trim level</p>\n</li>\n<li><p><strong>vehicleDoorPlan</strong> (string, optional): Number of doors or body style</p>\n</li>\n<li><p><strong>vehicleEngineType</strong> (string, optional): Type of engine (e.g., petrol, diesel, electric)</p>\n</li>\n<li><p><strong>vehicleEngineNumber</strong> (string, optional): Engine identification number</p>\n</li>\n<li><p><strong>VehicleEngineSize</strong> (string, optional): Engine capacity/displacement</p>\n</li>\n<li><p><strong>vehicleTransmission</strong> (string, optional): Transmission type (e.g., manual, automatic)</p>\n</li>\n<li><p><strong>vehicleChassis</strong> (string, optional): Chassis or VIN number</p>\n</li>\n<li><p><strong>vehicleYearOfManufacture</strong> (string, optional): Year the vehicle was manufactured</p>\n</li>\n<li><p><strong>vehicleModelYear</strong> (string, optional): Model year of the vehicle</p>\n</li>\n</ul>\n<h3 id=\"customer-information\">Customer Information</h3>\n<ul>\n<li><p><strong>customerTitle</strong> (string, required): Customer's title (e.g., \"Mr\", \"Mrs\", \"Ms\")</p>\n</li>\n<li><p><strong>customerForename</strong> (string, required): Customer's first name</p>\n</li>\n<li><p><strong>customerSurname</strong> (string, required): Customer's last name</p>\n</li>\n<li><p><strong>buildingName</strong> (string, optional): Building name in customer's address</p>\n</li>\n<li><p><strong>addr1</strong> (string, required): First line of customer's address</p>\n</li>\n<li><p><strong>addr2</strong> (string, optional): Second line of customer's address</p>\n</li>\n<li><p><strong>addr3</strong> (string, optional): Third line of customer's address (typically city/town)</p>\n</li>\n<li><p><strong>addr4</strong> (string, optional): Fourth line of customer's address</p>\n</li>\n<li><p><strong>postCode</strong> (string, required): Customer's postal code</p>\n</li>\n<li><p><strong>telNumber</strong> (string, required): Customer's telephone number</p>\n</li>\n<li><p><strong>emailAddr</strong> (string, required): Customer's email address</p>\n</li>\n</ul>\n<h2 id=\"response-format\">Response Format</h2>\n<p>On successful booking creation, the API returns:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"jobNo\": \"11515\"\n}\n\n</code></pre>\n<ul>\n<li><p><strong>success</strong> (boolean): Indicates whether the booking was created successfully</p>\n</li>\n<li><p><strong>jobNo</strong> (string): The unique job number assigned to the booking</p>\n</li>\n</ul>\n<h2 id=\"example-use-case\">Example Use Case</h2>\n<p>A customer calls to book their Audi Etron for a service and MOT on January 10th, 2022 at 9:00 AM. The service advisor uses this endpoint to create the booking, providing the vehicle registration (FV71AFK), customer details (Simon Verona), and the required job types (Service and MOT with codes \"1\" and \"2\"). The system returns a job number (11515) which can be used to track and reference this booking throughout the workshop process.</p>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","workshop","createBooking"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"5f5d1d65-efc0-48c2-be21-276b479c20c2"},{"name":"diaryDetail","id":"8d5bf0df-b1c7-41fc-9ee7-40d1aa3a5cc3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"branch\":\"1\",\r\n    \"shift\":\"1\",\r\n    \"dateFrom\":\"10/01/26\",\r\n    \"dateTo\":\"30/01/26\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/workshop/diaryDetail","description":"<h1 id=\"workshop-diary-detail-api\">Workshop Diary Detail API</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint retrieves detailed diary/job information for a workshop within a specified date range. It returns a list of all jobs scheduled or in progress, including customer details, vehicle information, timing data, and technician assignments.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires API key authentication using the <code>apikey</code> variable, which should be included in the request headers or query parameters.</p>\n<h2 id=\"request-parameters\">Request Parameters</h2>\n<p>The request body accepts the following JSON parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Format</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>branch</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Numeric string</td>\n<td>Branch identifier - specifies which workshop branch to query</td>\n</tr>\n<tr>\n<td><code>shift</code></td>\n<td>String</td>\n<td>No</td>\n<td>Numeric string</td>\n<td>Shift number - identifies the specific shift period (defaults to 1)</td>\n</tr>\n<tr>\n<td><code>dateFrom</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>DD/MM/YY</td>\n<td>Start date for the diary query range</td>\n</tr>\n<tr>\n<td><code>dateTo</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>DD/MM/YY</td>\n<td>End date for the diary query range</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-request-body\">Example Request Body</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"branch\": \"1\",\n  \"shift\": \"1\",\n  \"dateFrom\": \"10/01/26\",\n  \"dateTo\": \"30/01/26\"\n}\n\n</code></pre>\n<h2 id=\"response-structure\">Response Structure</h2>\n<p>The endpoint returns an array of job objects with the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Job_No</code></td>\n<td>String</td>\n<td>Unique job number identifier (e.g., \"11518.1\")</td>\n</tr>\n<tr>\n<td><code>Customer</code></td>\n<td>String</td>\n<td>Customer name</td>\n</tr>\n<tr>\n<td><code>Customer_Address</code></td>\n<td>String</td>\n<td>Full customer address</td>\n</tr>\n<tr>\n<td><code>Reg</code></td>\n<td>String</td>\n<td>Vehicle registration number</td>\n</tr>\n<tr>\n<td><code>Chassis_No</code></td>\n<td>String</td>\n<td>Vehicle chassis/VIN number</td>\n</tr>\n<tr>\n<td><code>Model</code></td>\n<td>String</td>\n<td>Vehicle model name</td>\n</tr>\n<tr>\n<td><code>Vehicle</code></td>\n<td>String</td>\n<td>Vehicle description</td>\n</tr>\n<tr>\n<td><code>Operation</code></td>\n<td>String</td>\n<td>Type of operation/service being performed (e.g., \"Due for Service\")</td>\n</tr>\n<tr>\n<td><code>Date_Created</code></td>\n<td>String</td>\n<td>Date when the job was created (DD/MM/YY format)</td>\n</tr>\n<tr>\n<td><code>Time_In</code></td>\n<td>String</td>\n<td>Time the vehicle arrived (HH:MM format)</td>\n</tr>\n<tr>\n<td><code>Time/Date_In</code></td>\n<td>String</td>\n<td>Combined time and date of vehicle arrival</td>\n</tr>\n<tr>\n<td><code>Time_Out</code></td>\n<td>String</td>\n<td>Scheduled time for vehicle completion (HH:MM format)</td>\n</tr>\n<tr>\n<td><code>Time/Date_Out</code></td>\n<td>String</td>\n<td>Combined time and date for vehicle completion</td>\n</tr>\n<tr>\n<td><code>Technician</code></td>\n<td>String</td>\n<td>Assigned technician name (may be empty if not yet assigned)</td>\n</tr>\n<tr>\n<td><code>Time_on_Job_Today</code></td>\n<td>String</td>\n<td>Hours to be worked on the job today</td>\n</tr>\n<tr>\n<td><code>Total_Time_of_job</code></td>\n<td>String</td>\n<td>Total hours allocated/spent on the job</td>\n</tr>\n<tr>\n<td><code>Collection</code></td>\n<td>Boolean</td>\n<td>Indicates if this is a collection job</td>\n</tr>\n<tr>\n<td><code>Courtesy_Car</code></td>\n<td>Boolean</td>\n<td>Indicates if a courtesy car is provided</td>\n</tr>\n<tr>\n<td><code>Mot</code></td>\n<td>Boolean</td>\n<td>Indicates if MOT is included</td>\n</tr>\n<tr>\n<td><code>Waiting</code></td>\n<td>Boolean</td>\n<td>Indicates if customer is waiting</td>\n</tr>\n<tr>\n<td><code>Type</code></td>\n<td>String</td>\n<td>Additional job type classification</td>\n</tr>\n<tr>\n<td>Customer_Email</td>\n<td>String</td>\n<td>Customer Email Address</td>\n</tr>\n<tr>\n<td>Customer_Mobile</td>\n<td>String</td>\n<td>Customer Mobile No</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-response\">Example Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"Job_No\": \"11518.1\",\n    \"Customer\": \"Mr S Verona\",\n    \"Collection\": false,\n    \"Chassis_No\": \"WF0NXXGCHNKT88129\",\n    \"Courtesy_Car\": false,\n    \"Date_Created\": \"10/01/26\",\n    \"Customer_Address\": \"1C THE HIGH STREET SOME VILLAGE ABERDEEN\",\n    \"Customer_Address\": \"1D THE HIGH STREET 0 ABERDEEN  AB10 1AA\",\n    \"Customer_Email\": \"simonverona87@gmail.com\",\n    \"Reg\": \"AF69AMY\",\n    \"Operation\": \"Due for Service\",\n    \"Mot\": false,\n    \"Model\": \"FOCUS\",\n    \"Vehicle\": \"FOCUS\",\n    \"Time/Date_In\": \"09:00 12/01/26\",\n    \"Time_In\": \"09:00\",\n    \"Technician\": \"\",\n    \"Time_Out\": \"17:00\",\n    \"Time_on_Job_Today\": \"6.00\",\n    \"Time/Date_Out\": \"17:00 12/01/26\",\n    \"Total_Time_of_job\": \"6.00\",\n    \"Type\": \"\",\n    \"Waiting\": false\n  }\n]\n\n</code></pre>\n<h2 id=\"use-case-example\">Use Case Example</h2>\n<p><strong>Scenario:</strong> A workshop manager wants to view all scheduled jobs for Branch 1, Shift 1, between January 10th and January 30th, 2026.</p>\n<p><strong>Request:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>POST https://services.dmservices.co.uk/webhooks/workshop/diaryDetail\nContent-Type: application/json\nAuthorization: {{apikey}}\n{\n  \"branch\": \"1\",\n  \"shift\": \"1\",\n  \"dateFrom\": \"10/01/26\",\n  \"dateTo\": \"30/01/26\"\n}\n\n</code></pre><p><strong>Result:</strong> The API returns a complete list of all jobs within that date range, allowing the manager to:</p>\n<ul>\n<li><p>Review upcoming workload</p>\n</li>\n<li><p>Assign technicians to unassigned jobs</p>\n</li>\n<li><p>Plan resource allocation</p>\n</li>\n<li><p>Identify jobs requiring courtesy cars or collections</p>\n</li>\n<li><p>Track job progress and timing</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","workshop","diaryDetail"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"8d5bf0df-b1c7-41fc-9ee7-40d1aa3a5cc3"},{"name":"diaryAvailability","id":"b65b854b-6f60-4a99-af3a-291a832d8224","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"branch\":\"1\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/workshop/diaryAvailability","description":"<h1 id=\"diary-availability\">Diary Availability</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint retrieves workshop diary availability data for a specified branch. It returns detailed scheduling information including available time slots, booked jobs, and resource allocation across multiple days. This is typically used to check workshop capacity and plan service bookings.</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\n<h3 id=\"branch-required\"><code>branch</code> (required)</h3>\n<ul>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>Description:</strong> The branch identifier for which to retrieve diary availability</p>\n</li>\n<li><p><strong>Example:</strong> <code>\"1\"</code></p>\n</li>\n<li><p><strong>Notes:</strong> This should correspond to a valid branch ID in your DMS system</p>\n</li>\n</ul>\n<h2 id=\"response-structure\">Response Structure</h2>\n<p>The endpoint returns an array of availability objects, with each object representing a single day/shift combination:</p>\n<h3 id=\"time-and-date-fields\">Time and Date Fields</h3>\n<ul>\n<li><p><strong><code>Day</code></strong>: Day of the week (e.g., \"MONDAY\", \"TUESDAY\")</p>\n</li>\n<li><p><strong><code>Dates</code></strong>: Date in DD/MM/YY format (e.g., \"12/01/26\")</p>\n</li>\n<li><p><strong><code>Shift</code></strong>: Shift number for the day (typically \"1\" for standard shift)</p>\n</li>\n</ul>\n<h3 id=\"availability-metrics\">Availability Metrics</h3>\n<ul>\n<li><p><strong><code>Available</code></strong>: Total available hours for the day/shift</p>\n</li>\n<li><p><strong><code>Available_Time</code></strong>: Percentage of time available (0-100)</p>\n</li>\n<li><p><strong><code>Tot_Hours</code></strong>: Total working hours for the day/shift</p>\n</li>\n</ul>\n<h3 id=\"job-allocation\">Job Allocation</h3>\n<ul>\n<li><p><strong><code>Jobs</code></strong>: Number of jobs scheduled</p>\n</li>\n<li><p><strong><code>Services</code></strong>: Number of service jobs</p>\n</li>\n<li><p><strong><code>Service_Hours</code></strong>: Hours allocated to service work</p>\n</li>\n<li><p><strong><code>MOTs</code></strong>: Number of MOT tests scheduled</p>\n</li>\n<li><p><strong><code>Repair</code></strong>: Hours allocated to repair work</p>\n</li>\n<li><p><strong><code>Warranty_Hours</code></strong>: Hours allocated to warranty work</p>\n</li>\n<li><p><strong><code>Retail_Hours</code></strong>: Hours allocated to retail/customer-facing work</p>\n</li>\n<li><p><strong><code>Retail_%</code></strong>: Percentage of retail work (0-100)</p>\n</li>\n</ul>\n<h3 id=\"additional-resources\">Additional Resources</h3>\n<ul>\n<li><p><strong><code>Loan</code></strong>: Number of loan vehicles available/allocated</p>\n</li>\n<li><p><strong><code>Diagnosis</code></strong>: Number of diagnostic jobs</p>\n</li>\n<li><p><strong><code>Sub_Con</code></strong>: Subcontractor work Count</p>\n</li>\n<li><p><strong><code>CD</code></strong>: Customer delivery/collection count</p>\n</li>\n</ul>\n<h3 id=\"metadata\">Metadata</h3>\n<ul>\n<li><p><strong><code>ID23</code></strong>: Unique identifier for the diary entry (format: day_id.branch.shift)</p>\n</li>\n<li><p><strong><code>Colour</code></strong>: Visual indicator/status color (may be empty)</p>\n</li>\n<li><p><strong><code>Notes</code></strong>: Additional notes or comments for the day</p>\n</li>\n</ul>\n<h2 id=\"example-use-cases\">Example Use Cases</h2>\n<ol>\n<li><p><strong>Booking System Integration</strong>: Check available capacity before allowing customers to book service appointments</p>\n</li>\n<li><p><strong>Workshop Planning</strong>: Review upcoming availability to optimize resource allocation</p>\n</li>\n<li><p><strong>Capacity Reporting</strong>: Generate reports on workshop utilization and available hours</p>\n</li>\n<li><p><strong>Multi-branch Comparison</strong>: Query multiple branches to find the location with earliest availability</p>\n</li>\n<li><p><strong>Load Balancing</strong>: Identify days with low utilization to promote special offers or move bookings</p>\n</li>\n</ol>\n<h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"Colour\": \" \",\n    \"Available\": \"10.00\",\n    \"Jobs\": \"1\",\n    \"Repair\": \"0.00\",\n    \"Sub_Con\": \"0\",\n    \"CD\": \"0\",\n    \"Available_Time\": \"62\",\n    \"Day\": \"MONDAY\",\n    \"Dates\": \"12/01/26\",\n    \"Shift\": \"1\",\n    \"Loan\": \"16\",\n    \"Diagnosis\": \"0\",\n    \"ID23\": \"21197.1.1\",\n    \"Services\": \"1\",\n    \"Service_Hours\": \"6.00\",\n    \"MOTs\": \"0\",\n    \"Retail_Hours\": \"6.00\",\n    \"Retail_%\": \"100\",\n    \"Notes\": \"\",\n    \"Tot_Hours\": \"16.00\",\n    \"Warranty_Hours\": \"0.00\"\n  }\n]\n\n</code></pre>\n<h2 id=\"notes\">Notes</h2>\n<ul>\n<li><p>All hour values are returned as strings with decimal precision</p>\n</li>\n<li><p>Percentage values are whole numbers (0-100)</p>\n</li>\n<li><p>Empty string values indicate no data for that field</p>\n</li>\n<li><p>The response typically covers multiple days/weeks of availability (up to the next 90 days)</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","workshop","diaryAvailability"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"b65b854b-6f60-4a99-af3a-291a832d8224"},{"name":"wipReport","id":"fa2143ef-1fd8-45e3-ae44-e20eb53bf1e4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"branches\": [\r\n        \"1\",\r\n        \"2\"\r\n    ],\r\n    \"includeInvoiced\":false \r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/workshop/wipReport","description":"<h1 id=\"wip-report-work-in-progress-report\">WIP Report (Work In Progress Report)</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint retrieves a comprehensive Work In Progress (WIP) report for workshop jobs. It returns detailed information about jobs across specified branches, including financial data, customer information, vehicle details, and job status. The report helps track outstanding work, invoicing status, and job progress across the workshop.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>This endpoint requires API key authentication using the <code>apikey</code> variable, which should be included in the request headers or query parameters.</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\n<h3 id=\"branches-array-of-strings-required\"><code>branches</code> (array of strings, required)</h3>\n<p>An array of branch IDs to filter the report. Only jobs from the specified branches will be included in the response.</p>\n<ul>\n<li><p><strong>Example:</strong> <code>[\"1\", \"2\"]</code> - Returns jobs from branches 1 and 2</p>\n</li>\n<li><p><strong>Type:</strong> Array of strings</p>\n</li>\n</ul>\n<h3 id=\"includeinvoiced-boolean-required\"><code>includeInvoiced</code> (boolean, required)</h3>\n<p>Controls whether fully invoiced jobs should be included in the report.</p>\n<ul>\n<li><p><strong><code>true</code></strong> - Includes all jobs, including those that have been fully invoiced</p>\n</li>\n<li><p><strong><code>false</code></strong> - Excludes fully invoiced jobs, showing only active WIP</p>\n</li>\n<li><p><strong>Type:</strong> Boolean</p>\n</li>\n<li><p><strong>Example:</strong> <code>false</code></p>\n</li>\n</ul>\n<h2 id=\"response-structure\">Response Structure</h2>\n<p>The endpoint returns an array of job objects. Each job object contains the following fields:</p>\n<h3 id=\"job-identification\">Job Identification</h3>\n<ul>\n<li><p><strong><code>Job_No</code></strong> (string) - Unique job number identifier</p>\n</li>\n<li><p><strong><code>Branch</code></strong> (string) - Branch ID where the job is located</p>\n</li>\n</ul>\n<h3 id=\"dates--timing\">Dates &amp; Timing</h3>\n<ul>\n<li><p><strong><code>Appt_Date</code></strong> (string) - Appointment date in DD/MM/YY format</p>\n</li>\n<li><p><strong><code>Date_wanted</code></strong> (string) - Customer's requested completion date in DD/MM/YY format</p>\n</li>\n<li><p><strong><code>Days_over</code></strong> (string) - Number of days the job is overdue</p>\n</li>\n</ul>\n<h3 id=\"financial-information\">Financial Information</h3>\n<ul>\n<li><p><strong><code>Invoiced_Amount</code></strong> (decimal) - Total amount that has been invoiced</p>\n</li>\n<li><p><strong><code>Wip_Invoiced</code></strong> (decimal) - Work in progress amount that has been invoiced</p>\n</li>\n<li><p><strong><code>Parts</code></strong> (decimal) - Total parts cost</p>\n</li>\n<li><p><strong><code>Sub_contract</code></strong> (decimal) - Subcontractor costs</p>\n</li>\n</ul>\n<h3 id=\"time-tracking\">Time Tracking</h3>\n<ul>\n<li><p><strong><code>Balance</code></strong> (decimal) - Outstanding balance of hours on the job</p>\n</li>\n<li><p><strong><code>Time_spent</code></strong> (decimal) - Total hours spent on the job</p>\n</li>\n<li><p><strong><code>Hrs_Invoiced</code></strong> (decimal) - Hours that have been invoiced</p>\n</li>\n<li><p><strong><code>Warranty</code></strong> (decimal) - Warranty hours on job</p>\n</li>\n<li><p><strong><code>Internal</code></strong> (decimal) - Internal hours on job</p>\n</li>\n<li><p><strong><code>Retail</code></strong> (decimal) - Retail hours on the job</p>\n</li>\n</ul>\n<h3 id=\"customer--vehicle-information\">Customer &amp; Vehicle Information</h3>\n<ul>\n<li><p><strong><code>Customer_name</code></strong> (string) - Name of the customer</p>\n</li>\n<li><p><strong><code>Reg_No</code></strong> (string) - Vehicle registration number</p>\n</li>\n<li><p><strong><code>Make</code></strong> (string) - Vehicle manufacturer</p>\n</li>\n<li><p><strong><code>Model</code></strong> (string) - Vehicle model</p>\n</li>\n</ul>\n<h3 id=\"job-status-flags\">Job Status Flags</h3>\n<ul>\n<li><p><strong><code>Invoiced</code></strong> (boolean) - Whether the job has been invoiced</p>\n</li>\n<li><p><strong><code>Partial_Invoice</code></strong> (boolean) - Whether the job has been partially invoiced</p>\n</li>\n<li><p><strong><code>Part_paid</code></strong> (boolean) - Whether the job has been partially paid</p>\n</li>\n<li><p><strong><code>Warr</code></strong> (boolean) - Whether this is a warranty job</p>\n</li>\n<li><p><strong><code>Sales</code></strong> (boolean) - Whether this is a sales-related job</p>\n</li>\n<li><p><strong><code>Loan_car</code></strong> (boolean) - Whether a loan car has been provided</p>\n</li>\n</ul>\n<h3 id=\"job-details\">Job Details</h3>\n<ul>\n<li><p><strong><code>Job_status</code></strong> (string) - Current status of the job (e.g., \"WAITING RESTART\", \"INVOICED\")</p>\n</li>\n<li><p><strong><code>Work_type</code></strong> (string) - Type of work being performed (e.g., \"Electrician\", \"TEST 1\")</p>\n</li>\n</ul>\n<h2 id=\"example-use-cases\">Example Use Cases</h2>\n<h3 id=\"1-daily-wip-review\">1. Daily WIP Review</h3>\n<p>Filter by specific branches and exclude invoiced jobs to see active work in progress:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"branches\": [\"1\"],\n  \"includeInvoiced\": false\n}\n\n</code></pre>\n<p><strong>Use case:</strong> Workshop managers reviewing daily outstanding jobs that need attention.</p>\n<h3 id=\"2-complete-branch-report\">2. Complete Branch Report</h3>\n<p>Include all jobs, even invoiced ones, for comprehensive reporting:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"branches\": [\"1\", \"2\"],\n  \"includeInvoiced\": true\n}\n\n</code></pre>\n<p><strong>Use case:</strong> End-of-day or end-of-week reporting to track all job activity.</p>\n<h3 id=\"3-overdue-jobs-analysis\">3. Overdue Jobs Analysis</h3>\n<p>Review jobs with high <code>Days_over</code> values to identify delayed work and prioritize completion.</p>\n<h3 id=\"4-financial-reconciliation\">4. Financial Reconciliation</h3>\n<p>Use <code>Balance</code>, <code>Invoiced_Amount</code>, and <code>Wip_Invoiced</code> fields to reconcile outstanding payments and identify jobs requiring invoicing.</p>\n<h3 id=\"5-resource-planning\">5. Resource Planning</h3>\n<p>Analyze <code>Time_spent</code> vs <code>Hrs_Invoiced</code> to understand labor utilization and identify unbilled hours.</p>\n<h2 id=\"response-example\">Response Example</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"Job_No\": \"11130\",\n    \"Branch\": \"1\",\n    \"Appt_Date\": \"19/11/24\",\n    \"Balance\": \"-18.67\",\n    \"Customer_name\": \"John Smith\",\n    \"Date_wanted\": \"19/11/24\",\n    \"Internal\": \"0.00\",\n    \"Days_over\": \"418\",\n    \"Hrs_Invoiced\": \"26.68\",\n    \"Invoiced\": false,\n    \"Invoiced_Amount\": \"1194.88\",\n    \"Warr\": false,\n    \"Sales\": false,\n    \"Reg_No\": \"X66KEL\",\n    \"Job_status\": \"WAITING RESTART\",\n    \"Loan_car\": false,\n    \"Parts\": \"0.00\",\n    \"Part_paid\": false,\n    \"Make\": \"JEEP\",\n    \"Model\": \"GRAND\",\n    \"Partial_Invoice\": true,\n    \"Retail\": \"8.00\",\n    \"Time_spent\": \"26.67\",\n    \"Sub_contract\": \"0.00\",\n    \"Warranty\": \"0.00\",\n    \"Work_type\": \"Electrician\",\n    \"Wip_Invoiced\": \"178.48\"\n  }\n]\n\n</code></pre>\n<h2 id=\"notes\">Notes</h2>\n<ul>\n<li><p>All monetary values are returned as strings</p>\n</li>\n<li><p>Dates are in DD/MM/YY format</p>\n</li>\n<li><p>Boolean flags help quickly identify job characteristics</p>\n</li>\n<li><p>Negative balance indicates overpayment or credit</p>\n</li>\n<li><p>Empty strings may appear for optional fields like <code>Customer_name</code> when data is not available</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","workshop","wipReport"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"fa2143ef-1fd8-45e3-ae44-e20eb53bf1e4"},{"name":"invoiceReport","id":"f2790d99-7c6a-4a8a-9b45-fcb71701271a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"branches\": [\r\n        \"1\",\r\n        \"2\"\r\n    ],\r\n    \"dateFrom\": \"01/12/25\",\r\n    \"dateTo\": \"31/12/25\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/workshop/invoiceReport","description":"<h1 id=\"invoice-report-endpoint\">Invoice Report Endpoint</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint generates comprehensive invoice reports for specified branches within a given date range. It retrieves detailed financial and operational data for all invoices processed during the specified period, providing insights into sales, costs, profit margins, and job details.</p>\n<h2 id=\"request-body-parameters\">Request Body Parameters</h2>\n<h3 id=\"branches-array-of-strings-required\"><code>branches</code> (Array of Strings, Required)</h3>\n<p>An array of branch IDs to include in the report. Each branch ID should be provided as a string.</p>\n<p><strong>Example:</strong> <code>[\"1\", \"2\"]</code></p>\n<h3 id=\"datefrom-string-required\"><code>dateFrom</code> (String, Required)</h3>\n<p>The start date for the report period. Must be provided in <strong>DD/MM/YY</strong> format.</p>\n<p><strong>Example:</strong> <code>\"01/12/25\"</code> (December 1, 2025)</p>\n<h3 id=\"dateto-string-required\"><code>dateTo</code> (String, Required)</h3>\n<p>The end date for the report period. Must be provided in <strong>DD/MM/YY</strong> format.</p>\n<p><strong>Example:</strong> <code>\"31/12/25\"</code> (December 31, 2025)</p>\n<h2 id=\"response-structure\">Response Structure</h2>\n<p>The endpoint returns an array of invoice objects. Each invoice object contains the following fields:</p>\n<h3 id=\"invoice-information\">Invoice Information</h3>\n<ul>\n<li><p><strong><code>Inv_No.</code></strong> - Invoice number (unique identifier for the invoice)</p>\n</li>\n<li><p><strong><code>Date</code></strong> - Invoice date in DD/MM/YY format</p>\n</li>\n<li><p><strong><code>Branch</code></strong> - Branch ID where the invoice was generated</p>\n</li>\n<li><p><strong><code>Invoice_type</code></strong> - Type of invoice (e.g., \"Service (Customer)\")</p>\n</li>\n<li><p><strong><code>Partial</code></strong> - Boolean indicating if this is a partial invoice</p>\n</li>\n</ul>\n<h3 id=\"customer-details\">Customer Details</h3>\n<ul>\n<li><p><strong><code>Name</code></strong> - Customer name</p>\n</li>\n<li><p><strong><code>Acc_Rpt</code></strong> - Account report code</p>\n</li>\n<li><p><strong><code>Rpt</code></strong> - Report code</p>\n</li>\n<li><p><strong><code>SL_Account</code></strong> - Sales ledger account</p>\n</li>\n<li><p><strong><code>Type</code></strong> - Customer type (e.g., \"(1) RETAIL\")</p>\n</li>\n</ul>\n<h3 id=\"vehicle-information\">Vehicle Information</h3>\n<ul>\n<li><p><strong><code>Make</code></strong> - Vehicle manufacturer (e.g., \"Alfa Romeo\", \"Audi\", \"Mercedes-Benz\")</p>\n</li>\n<li><p><strong><code>VRM</code></strong> - Vehicle Registration Mark (license plate)</p>\n</li>\n<li><p><strong><code>Mileage</code></strong> - Vehicle mileage at time of service</p>\n</li>\n</ul>\n<h3 id=\"job-details\">Job Details</h3>\n<ul>\n<li><p><strong><code>Job_No</code></strong> - Job number reference</p>\n</li>\n<li><p><strong><code>Job_count</code></strong> - Count of jobs (positive for invoices, negative for credits)</p>\n</li>\n<li><p><strong><code>Hours</code></strong> - Labour hours charged</p>\n</li>\n<li><p><strong><code>Time_Taken</code></strong> - Actual time taken to complete the job</p>\n</li>\n<li><p><strong><code>Work_type</code></strong> - categorisation of work from job card</p>\n</li>\n<li><p><strong><code>Technician</code></strong> - Technician assigned to the job (this is the first technician - not all technicians on the job)</p>\n</li>\n</ul>\n<h3 id=\"financial-data-labour\">Financial Data (Labour)</h3>\n<ul>\n<li><p><strong><code>Labour</code></strong> - Labour charges (can be negative for credit notes)</p>\n</li>\n<li><p><strong><code>Labour_Cost</code></strong> - Cost of labour</p>\n</li>\n<li><p><strong><code>Recovery</code></strong> - Labour recovery per hour</p>\n</li>\n</ul>\n<h3 id=\"financial-data-parts--materials\">Financial Data (Parts &amp; Materials)</h3>\n<ul>\n<li><p><strong><code>Parts</code></strong> - Parts sales amount (can be negative for credit notes)</p>\n</li>\n<li><p><strong><code>Parts_Profit</code></strong> - Profit from parts sales</p>\n</li>\n<li><p><strong><code>Paint/Sundries</code></strong> - Paint and sundries charges</p>\n</li>\n<li><p><strong><code>Other_Body</code></strong> - Other body work charges</p>\n</li>\n<li><p><strong><code>Oil_sales</code></strong> - Oil sales amount</p>\n</li>\n<li><p><strong><code>Oil_profit</code></strong> - Profit from oil sales</p>\n</li>\n<li><p><strong><code>Non_Labour</code></strong> - Non-labour charges</p>\n</li>\n</ul>\n<h3 id=\"financial-data-subcontractor\">Financial Data (Subcontractor)</h3>\n<ul>\n<li><p><strong><code>Sub_Con_Sale</code></strong> - Subcontractor sales amount</p>\n</li>\n<li><p><strong><code>Sub_Con_Profit</code></strong> - Profit from subcontractor work</p>\n</li>\n</ul>\n<h3 id=\"financial-data-totals\">Financial Data (Totals)</h3>\n<ul>\n<li><p><strong><code>Discount</code></strong> - Discount applied to the invoice</p>\n</li>\n<li><p><strong><code>Vat_Total</code></strong> - Total VAT amount</p>\n</li>\n<li><p><strong><code>Total_Profit</code></strong> - Total profit for the invoice</p>\n</li>\n</ul>\n<h2 id=\"use-cases\">Use Cases</h2>\n<ol>\n<li><p><strong>Financial Reporting</strong> - Generate comprehensive financial reports for specific branches and time periods to analyze revenue, costs, and profitability</p>\n</li>\n<li><p><strong>Branch Performance Analysis</strong> - Compare performance across multiple branches by analyzing invoice data</p>\n</li>\n<li><p><strong>Period-over-Period Comparison</strong> - Track business performance by generating reports for different date ranges</p>\n</li>\n<li><p><strong>Profit Margin Analysis</strong> - Evaluate profit margins on labour, parts, and overall jobs</p>\n</li>\n<li><p><strong>Customer Analysis</strong> - Analyze customer spending patterns and service history</p>\n</li>\n<li><p><strong>VAT Reporting</strong> - Extract VAT information for tax compliance and reporting</p>\n</li>\n</ol>\n<h2 id=\"important-notes\">Important Notes</h2>\n<h3 id=\"date-format\">Date Format</h3>\n<ul>\n<li><p>All dates must be provided in <strong>DD/MM/YY</strong> format</p>\n</li>\n<li><p>Ensure the <code>dateFrom</code> is earlier than or equal to <code>dateTo</code></p>\n</li>\n</ul>\n<h3 id=\"branch-ids\">Branch IDs</h3>\n<ul>\n<li><p>Branch IDs must be provided as strings, not numbers</p>\n</li>\n<li><p>Multiple branches can be queried in a single request</p>\n</li>\n</ul>\n<h3 id=\"credit-notes\">Credit Notes</h3>\n<ul>\n<li><p>Credit notes are represented with negative values in financial fields</p>\n</li>\n<li><p>The <code>Job_count</code> field will be negative for credit notes</p>\n</li>\n</ul>\n<h3 id=\"response-data\">Response Data</h3>\n<ul>\n<li><p>The response is an array that may contain multiple records per job (e.g., original invoice and credit note pairs)</p>\n</li>\n<li><p>Empty string values indicate data not applicable or not recorded for that field</p>\n</li>\n<li><p>Financial values are in the currency configured for the system (no currency symbol included)</p>\n</li>\n</ul>\n<h3 id=\"performance-considerations\">Performance Considerations</h3>\n<ul>\n<li><p>Large date ranges or multiple branches may result in larger response payloads</p>\n</li>\n<li><p>Consider breaking down large queries into smaller date ranges for better performance - the maximum allowed date range is 180 days</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","workshop","invoiceReport"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"f2790d99-7c6a-4a8a-9b45-fcb71701271a"}],"id":"ff6f731b-af5d-4973-915b-328dec2f3856","_postman_id":"ff6f731b-af5d-4973-915b-328dec2f3856","description":"","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}}},{"name":"Webhooks","item":[{"name":"addSubscription","id":"9153105f-5922-41a6-a149-14cf53ae3178","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"endpoint\": \"https://my.endpoint.com\",\r\n    \"subscriptions\": [\r\n        \"vehicle.update\",\r\n        \"customer.update\"\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/webhooks/addSubscription","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","webhooks","addSubscription"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"9153105f-5922-41a6-a149-14cf53ae3178"},{"name":"deleteSubscription","id":"c7eb7a4e-1cb4-44cd-a56c-7b9d0f2efc8a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n     \"subscriptions\": [\r\n        \"vehicle.update\",\r\n        \"customer.update\"\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/webhooks/deleteSubscription","description":"<h1 id=\"delete-webhook-subscriptions\">Delete Webhook Subscriptions</h1>\n<p>This endpoint allows you to delete one or more webhook subscriptions from your account. When you no longer need to receive notifications for specific events, use this endpoint to remove those subscriptions.</p>\n<h2 id=\"request-body-structure\">Request Body Structure</h2>\n<p>The request accepts a JSON payload with the following structure:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"subscriptions\": [\"event.type1\", \"event.type2\"]\n}\n\n</code></pre>\n<h3 id=\"parameters\">Parameters</h3>\n<ul>\n<li><strong>subscriptions</strong> (array, required): An array of subscription event types to delete. Each element should be a string representing the event type you want to unsubscribe from.</li>\n</ul>\n<h3 id=\"example-subscription-types\">Example Subscription Types</h3>\n<p>Common subscription types include:</p>\n<ul>\n<li><p><code>vehicle.update</code> - Notifications when vehicle records are updated</p>\n</li>\n<li><p><code>customer.update</code> - Notifications when customer records are updated</p>\n</li>\n</ul>\n<h2 id=\"response-format\">Response Format</h2>\n<h3 id=\"success-response-200-ok\">Success Response (200 OK)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true\n}\n\n</code></pre>\n<ul>\n<li><strong>success</strong> (boolean): Indicates whether the deletion operation was successful</li>\n</ul>\n<h2 id=\"usage-notes\">Usage Notes</h2>\n<ul>\n<li><p>You can delete multiple subscriptions in a single request by including multiple event types in the <code>subscriptions</code> array</p>\n</li>\n<li><p>The endpoint will process all subscriptions provided in the array</p>\n</li>\n<li><p>Ensure you have the necessary authentication (API key) configured in your request headers</p>\n</li>\n<li><p>Once deleted, you will no longer receive webhook notifications for the specified event types</p>\n</li>\n<li><p>If you need to re-subscribe to these events later, you'll need to use the subscription creation endpoint</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","webhooks","deleteSubscription"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"c7eb7a4e-1cb4-44cd-a56c-7b9d0f2efc8a"}],"id":"5e21a9f3-d87d-4a9b-b1af-58efcb2fed8f","_postman_id":"5e21a9f3-d87d-4a9b-b1af-58efcb2fed8f","description":"","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}}},{"name":"Phone","item":[{"name":"Inbound Phone Call Popup","id":"846834ea-d91f-4f69-a349-056ba5eb531b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n\"extension\": \"123\",\r\n\"userId\":\"1\",\r\n\"pcName\":\"PCNAME\",\r\n\"phoneNo\":\"01234567890\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://services.dmservices.co.uk/webhooks/phone","description":"<h2 id=\"phone-webhook--trigger-phone-popup\">Phone Webhook — Trigger Phone Popup</h2>\n<p>This endpoint triggers a phone popup/webhook event for an incoming or outgoing phone call. It is used to notify the DMS Navigator system of a call event, associating the call with a specific user, PC, and phone extension.</p>\n<hr />\n<h2 id=\"request-body\">Request Body</h2>\n<p>The request body must be sent as raw JSON (<code>application/json</code>):</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>extension</code></td>\n<td>string</td>\n<td>The phone extension number associated with the call (e.g. <code>\"123\"</code>).</td>\n</tr>\n<tr>\n<td><code>userId</code></td>\n<td>string</td>\n<td>The ID of the user associated with the phone event (e.g. <code>\"1\"</code>).</td>\n</tr>\n<tr>\n<td><code>pcName</code></td>\n<td>string</td>\n<td>The name of the PC/workstation from which the call event originates (e.g. <code>\"PCNAME\"</code>).</td>\n</tr>\n<tr>\n<td><code>phoneNo</code></td>\n<td>string</td>\n<td>The full phone number involved in the call event (e.g. <code>\"01234567890\"</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Request Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"extension\": \"123\",\n  \"userId\": \"1\",\n  \"pcName\": \"PCNAME\",\n  \"phoneNo\": \"01234567890\"\n}\n\n</code></pre>\n<p>Please note that one of extension, userId or pcName is required.</p>\n<p>This causes the Navigator process logged in either by that user or pcName to pop up a customer lookup on screen. If Navigator is not logged in for that user on on that PC then no popup will occur and won't occur when they log in.</p>\n<p>If an extension is supplied, then this is looked up on the server to find which user or pc is associated with that extension (this is configured in Navigator at Interfaces &gt; Navigator Phone &gt; Cti Setup).</p>\n<p>This only works if Navigator is licenced for CTI integration</p>\n","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}},"urlObject":{"protocol":"https","path":["webhooks","phone"],"host":["services","dmservices","co","uk"],"query":[],"variable":[]}},"response":[],"_postman_id":"846834ea-d91f-4f69-a349-056ba5eb531b"}],"id":"8c282c92-0495-4dd1-83e4-0cba2b6d030c","_postman_id":"8c282c92-0495-4dd1-83e4-0cba2b6d030c","description":"","auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","id":"87688141-5ef6-4592-aa8c-0ea0f22d3d5b","name":"Navigator Public API","type":"collection"}}}],"auth":{"type":"apikey","apikey":{"value":"{{apikey}}","key":"<key>"}},"event":[{"listen":"prerequest","script":{"id":"ceb0246d-214e-4c5e-8341-978e86a79067","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"35f57784-214e-4fb0-80d0-42ff5f5df30d","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}]}