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