Purpose: The purpose of the SearchLabour method is to search the third party for any labour work that can be applied to the VHC.
Detail: The example API below can be used by third party to generate an API from the WSDL. The below is only an example and we require the third party to creating an API for autoVHC to interact with.
Example API: http://demo.wsautovhc.co.uk/IntegrationAPI.asmx
Method: SearchLabour
Sequence Diagram:
Request Structure:
Example Code: Click here to download
<SearchLabour xmlns="http://autovhc.co.uk/">
<Request>
<Locale>en-GB</Locale>
<JobCardNumber>2148110740</JobCardNumber>
<CustomerID>60256</CustomerID>
<LocationCode>01</LocationCode>
<LabourCriteria>
<DMSLabourCode>336747</DMSLabourCode>
<description />
<timeamount>2</timeamount>
<LabourCodeSourceDMS>True</LabourCodeSourceDMS>
<ParentCode>string</ParentCode>
</LabourCriteria>
<ParametersCollection>
<Parameters>
<DMSParameter>
<Name>USERNAME</Name>
<Value />
</DMSParameter>
<DMSParameter>
<Name>PASSWORD</Name>
<Value />
</DMSParameter>
</Parameters>
</ParametersCollection>
<WildCardSearch>false</WildCardSearch>
</Request>
</SearchLabour>
This example shows what is requested when the user searches via a description, instead of a Labour Code. The below example shows a blank labour code, with the description showing BrakesLabour.
<SearchLabour xmlns="http://autovhc.co.uk/">
<Request>
<Locale>en-GB</Locale>
<JobCardNumber>2148110740</JobCardNumber>
<CustomerID>60256</CustomerID>
<LocationCode>01</LocationCode>
<LabourCriteria>
<DMSLabourCode />
<description>BrakesLabour</description>
<timeamount>2</timeamount>
<LabourCodeSourceDMS>True</LabourCodeSourceDMS>
<ParentCode>string</ParentCode>
</LabourCriteria>
<ParametersCollection>
<Parameters>
<DMSParameter>
<Name>USERNAME</Name>
<Value />
</DMSParameter>
<DMSParameter>
<Name>PASSWORD</Name>
<Value />
</DMSParameter>
</Parameters>
</ParametersCollection>
<WildCardSearch>false</WildCardSearch>
</Request>
</SearchLabour>
SearchLabourRequest | ||||
PropertyName | PropertyType | Example | Description | Mandatory |
Locale | String | en-GB | The .NET CurrentCulture.Name | Yes |
JobCardNumber | String | 11522565 | DMS Work order number | Yes |
CustomerID | String | 11544854 | DMS Unique customer identifier | Yes |
LocationCode | String | M1 | Used by some DMS require this to identify specific dealer data | Yes |
LabourCriteria | LabourTransferObject | (see Response Objects) | autoVHC will partially populate this with Labour code, description, hours | No |
ParametersCollection | DMSParametersCollection | (see below) | No | |
WildCardSearch | Boolean | TRUE | Indicates the user has request to seach the DMS using wild cards | Yes |
A wildcard can be used with a search term to find items in the external system which contain the term, and not just an exact match. In an example where the wildcard character is ‘%’, and the user wants to find all windscreen wipers, they may enter %Wiper%
– this will return ‘Front Wipers’, ‘Rear Wipers’, ‘Wiper blades’ and so on.
DMSParametersCollection | ||||
PropertyName | PropertyType | Example | Description | Mandatory |
Name | String | Username | The name of the key pair value | Yes |
Value | String | admin | The value of the key pair value | No |
Response Structure:
Example Code: Click here to download
<SearchLabourResponse xmlns="http://autovhc.co.uk/">
<SearchLabourResult>
<Message />
<Success>true</Success>
<Locale>en-GB</Locale>
<CurrencyCode>GBP</CurrencyCode>
<LabourCollection>
<LabourTransferObject>
<DMSLabourCode>336747</DMSLabourCode>
<ComplexityRate>1000</ComplexityRate>
<VHCItemID />
<Priceinctax>484.00</Priceinctax>
<costsheetlabourid />
<sitecode>909022</sitecode>
<description>Service</description>
<priceexcltax>400.00</priceexcltax>
<quantity>1</quantity>
<timeamount>0.40</timeamount>
<taxrate>21.00</taxrate>
<deleted>false</deleted>
<LabourCodeSourceDMS>true</LabourCodeSourceDMS>
</LabourTransferObject>
</LabourCollection>
<AdditionalRecords>false</AdditionalRecords>
</SearchLabourResult>
</SearchLabourResponse>
SearchLabourResponse | ||||
PropertyName | PropertyType | Example | Description | Mandatory |
Message | String | Call successful | A message that will indicate why the request failed, Call Successful if it succeeds | Yes |
Success | Boolean | TRUE | Will be either True or False depending on the success of the request | Yes |
Locale | String | en-GB | Culture code | Yes |
CurrencyCode | String | EUR | ISO Currency code | Yes |
LabourCollection | LabourTransferObject[] | (see below) | No | |
AdditionalRecords | Boolean | FALSE | True indicates there are more parts available than those returned, the user must refine their search term | No |
LabourTransferObject | ||||
PropertyName | PropertyType | Example | Description | Mandatory |
DMSLabourCode | String | 58450022BPE | DMS Labour Code | No |
ComplexityRate | String | 90 | Hourly rate for the labour before any discount has been applied | Yes |
VHCItemID | String | 692554 | autoVHC unique ID for the service line item | No |
Priceinctax | String | 144 | Total price of labour with tax (timeamount * discountrate) + vat | Yes |
costsheetlabourid | String | 164458 | autuoVHC Unique Labour Line ID | No |
timestampdt | String | 41164.7055555556 | time stamp when the record was last changed | No |
sitecode | String | 909093 | Site Code, used to identify the record to a autovhc account | No |
description | String | FIT FRONT DISCS | Labour line description | No |
discountrate | String | 80.00 | The hourly rate with discount applied, if no discount applied then the value will be the same as the ComplexityRate | Yes |
priceexcltax | String | 120.00 | Total price of labour (timeamount * discountrate) | Yes |
quantity | String | 1 | Not required = default to 1 | No |
timeamount | String | 1.5 | Number of hours to carry out the task 1.5 hours represents 1hr 30mins | Yes |
taxrate | String | 20 | Tax rate 20=20% | Yes |
deleted | String | FALSE | Indicates if the line is deleted | No |
LabourCodeSourceDMS | String | TRUE | Indicates labour was priced from DMS. | No |