Purpose: The purpose of the SearchPackage method is to search the third party for any packages (if the third party has packages enabled) 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: SearchPackage

Sequence Diagram:

Request Structure:

Example Code: Click here to download

<SearchPackage xmlns="http://autovhc.co.uk/">
	<Request>
		<Locale>en-GB</Locale>
		<LocationCode>01</LocationCode>
		<JobCardNumber>2148110740</JobCardNumber>
		<PackageCode>040KU08NL</PackageCode>
		<PackageDescription />
		<PackageNumber />
		<CustomerID>60256</CustomerID>
		<ParametersCollection>
			<Parameters>
				<DMSParameter>
					<Name>USERNAME</Name>
					<Value />
				</DMSParameter>
				<DMSParameter>
					<Name>PASSWORD</Name>
					<Value />
				</DMSParameter>
			</Parameters>
		</ParametersCollection>
		<WildCardSearch>false</WildCardSearch>
	</Request>
</SearchPackage>

This example shows a user searching for a package number instead of a package code. The number being searched here is 14210, and as this is the active search term, the code and description both stay blank.

<SearchPackage xmlns="http://autovhc.co.uk/">
	<Request>
		<Locale>en-GB</Locale>
		<LocationCode>01</LocationCode>
		<JobCardNumber>2148110740</JobCardNumber>
		<PackageCode />
		<PackageNumber>14210</PackageNumber>
		<PackageDescription />
		<CustomerID>60256</CustomerID>
		<ParametersCollection>
			<Parameters>
				<DMSParameter>
					<Name>USERNAME</Name>
					<Value />
				</DMSParameter>
				<DMSParameter>
					<Name>PASSWORD</Name>
					<Value />
				</DMSParameter>
			</Parameters>
		</ParametersCollection>
		<WildCardSearch>false</WildCardSearch>
	</Request>
</SearchPackage>

The third way of searching for a package is by using a description. In this example, the user has searched for Clutch. As the Wildcard Search node is set to true in this example, this will search for any package that contains the word Clutch. The wildcards are shown by the use of ‘%’ either side of the word clutch.

<SearchPackage xmlns="http://autovhc.co.uk/">
	<Request>
		<Locale>en-GB</Locale>
		<LocationCode>01</LocationCode>
		<JobCardNumber>2148110740</JobCardNumber>
		<PackageCode />
		<PackageNumber />
		<PackageDescription>%Clutch%</PackageDescription>
		<CustomerID>60256</CustomerID>
		<ParametersCollection>
			<Parameters>
				<DMSParameter>
					<Name>USERNAME</Name>
					<Value />
				</DMSParameter>
				<DMSParameter>
					<Name>PASSWORD</Name>
					<Value />
				</DMSParameter>
			</Parameters>
		</ParametersCollection>
		<WildCardSearch>true</WildCardSearch>
	</Request>
</SearchPackage>
SearchPackageRequest
PropertyName PropertyType Example Description Mandatory
Locale String en-GB The .NET CurrentCulture.Name Yes
MarketCode String 019 Used by some DMS to identify the Market No
LocationCode String M1 Used by some DMS require this to identify specific dealer data Yes
JobCardNumber String 11522565 DMS Work order number Yes
PackageCode String 45847 DMS Package Code Yes
PackageNumber String 378463 Additional Identifier used in DMS No
PackageDescription String BRAKE KIT* Description of Packages to find, may include wild card search character No
CustomerID String 11544854 DMS Unique customer identifier No
ModelCode String 78 DMS Model Code No
MakeCode String 56 DMS Manufacturer Code No
VIN String WF0BXXWPRB6U02664 Vehicle VIN or Chassis number Yes
ParametersCollection DMSParametersCollection (see below) No
WildCardSearch Boolean TRUE Indicates the user has request to seach the DMS using wild cards No

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

<SearchPackageResponse xmlns="http://autovhc.co.uk/">
	<SearchPackageResult>
		<Success>true</Success>
		<DMSPackageList>
			<DMSPackageHeaderTransferObject>
				<PackageDescription>Clutch</PackageDescription>
				<PackageCode>040KU08NL</PackageCode>
				<PackageNumber>14210</PackageNumber>
				<PackageFixedPrice>53.00</PackageFixedPrice>
			</DMSPackageHeaderTransferObject>
		</DMSPackageList>
		<AdditionalRecords>false</AdditionalRecords>
	</SearchPackageResult>
</SearchPackageResponse>
SearchPackageResponse
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
DMSPackageList DMSPackageHeaderTransferObject[] See Below This will contain information about the packages found matching the user search criteria, the user will eventually select the one they want and call get package No
AdditionalRecords Boolean FALSE True indicates there are more parts available than those returned, the user must refine their search term No
DMSPackageHeaderTransferObject
PropertyName PropertyType Example Description Mandatory
PackageDescription String Front Brake Kit Package Description No
PackageCode String 884885-8895 Package Code Yes
PackageNumber String 378463 Package Number No
PackageFixedPrice String 241.23 Total price of the package No