Purpose: The purpose of the CreateNewServiceOrder Method is to push the complete vehicle health check data back to third party.
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: CreateNewServiceOrder
Sequence Diagram:
Request Structure:
Example Code: Click here to download
<CreateNewServiceOrder xmlns="http://autovhc.co.uk/">
<Request>
<Locale>string</Locale>
<LocationCode>string</LocationCode>
<ServiceOrderTransferObject>
<VHCDate>string</VHCDate>
<Make>string</Make>
<Model>string</Model>
<VIN>string</VIN>
<JobCardNumber>string</JobCardNumber>
<RegistrationNumber>string</RegistrationNumber>
<CustomerTitle>string</CustomerTitle>
<CustomerFirstName>string</CustomerFirstName>
<CustomerSurName>string</CustomerSurName>
<CustomerEmail>string</CustomerEmail>
<CustomerPostCode>string</CustomerPostCode>
<CustomerTelephoneNumber>string</CustomerTelephoneNumber>
<CustomerMobileNumber>string</CustomerMobileNumber>
<CustomerUUID>string</CustomerUUID>
<CustomerAddress1>string</CustomerAddress1>
<CustomerAddress2>string</CustomerAddress2>
<CustomerAddress3>string</CustomerAddress3>
<CustomerAddress4>string</CustomerAddress4>
<CustomerContactEmail>string</CustomerContactEmail>
<CustomerContactHomePhone>string</CustomerContactHomePhone>
<CustomerContactMail>string</CustomerContactMail>
<CustomerContactSMS>string</CustomerContactSMS>
<CustomerType>string</CustomerType>
<FirstRegistrationDate>string</FirstRegistrationDate>
<NextMotDate>string</NextMotDate>
<NextServiceDate>string</NextServiceDate>
<ServiceAdvisor>string</ServiceAdvisor>
<Workshop>string</Workshop>
<WorkRequired>string</WorkRequired>
<Mileage>string</Mileage>
<DateIn>string</DateIn>
<DateOut>string</DateOut>
<TimeIn>string</TimeIn>
<TimeOut>string</TimeOut>
<ServiceOrderItems>
<ServiceOrderItemTransferObject>
<PackageCode>string</PackageCode>
<DMSJobID>string</DMSJobID>
<ItemDescription>string</ItemDescription>
<Action>string</Action>
<Warranty>string</Warranty>
<VHCItemID>string</VHCItemID>
<VHCID>string</VHCID>
<ItemTypeID>string</ItemTypeID>
<ItemStatus>string</ItemStatus>
<Comments>string</Comments>
<Auth>string</Auth>
<Remind>string</Remind>
<LabourTime>string</LabourTime>
<LabourPrice>string</LabourPrice>
<IncVAT>string</IncVAT>
<VATRate>string</VATRate>
<Advisor>string</Advisor>
<SiteCode>string</SiteCode>
<TimeStamp>string</TimeStamp>
<CheckedItem>string</CheckedItem>
<Exclude>string</Exclude>
<IsWheel>string</IsWheel>
<CurrentTyreInfo>
<TyreMake>string</TyreMake>
<TyreRating>string</TyreRating>
<TyreSize>string</TyreSize>
<TyreVariety>string</TyreVariety>
<OuterDepth>string</OuterDepth>
<InnerDepth>string</InnerDepth>
<MiddleDepth>string</MiddleDepth>
<LoadIndex>string</LoadIndex>
<IsWinterTyre>boolean</IsWinterTyre>
</CurrentTyreInfo>
<Parts>
<PartTransferObject>
<MarketingCode>string</MarketingCode>
<Discount>string</Discount>
<OriginalPrice>string</OriginalPrice>
<VATRate>string</VATRate>
<CostItemID>string</CostItemID>
<PartID>string</PartID>
<PartNo>string</PartNo>
<PartDesc>string</PartDesc>
<Stock>string</Stock>
<PartPrice>string</PartPrice>
<Quantity>string</Quantity>
<QuantityRequired>string</QuantityRequired>
<LabourTime>string</LabourTime>
<LabourPrice>string</LabourPrice>
<FittedPrice>string</FittedPrice>
<Auth>string</Auth>
<Deleted>string</Deleted>
<VHCitemID>string</VHCitemID>
<TimeStamp>string</TimeStamp>
<SiteCode>string</SiteCode>
<BinLocation>string</BinLocation>
<BrandCode>string</BrandCode>
<ServiceMenuCode>string</ServiceMenuCode>
<Fluid>string</Fluid>
<Make>string</Make>
<Brand>string</Brand>
<Sundries>string</Sundries>
<DMSUniqueID>string</DMSUniqueID>
</PartTransferObject>
</Parts>
<Tyre />
<LabourLines>
<LabourTransferObject>
<DMSLabourCode>string</DMSLabourCode>
<ComplexityRate>string</ComplexityRate>
<VHCItemID>string</VHCItemID>
<Priceinctax>string</Priceinctax>
<costsheetlabourid>string</costsheetlabourid>
<timestampdt>string</timestampdt>
<sitecode>string</sitecode>
<description>string</description>
<discountrate>string</discountrate>
<priceexcltax>string</priceexcltax>
<quantity>string</quantity>
<timeamount>string</timeamount>
<taxrate>string</taxrate>
<deleted>string</deleted>
<LabourCodeSourceDMS>string</LabourCodeSourceDMS>
<ServiceMenuCode>string</ServiceMenuCode>
<DMSUniqueID>string</DMSUniqueID>
</LabourTransferObject>
</LabourLines>
<ImageUrls>
<string>string</string>
</ImageUrls>
<VideoUrls>
<string>string</string>
</VideoUrls>
<ServiceMenuCode>string</ServiceMenuCode>
<OrderType>string</OrderType>
</ServiceOrderItemTransferObject>
</ServiceOrderItems>
<MakeCode>string</MakeCode>
<ModelCode>string</ModelCode>
<AgreedEstimate>string</AgreedEstimate>
<EngineNumber>string</EngineNumber>
<CustomerNotes>string</CustomerNotes>
</ServiceOrderTransferObject>
<ParametersCollection>
<Parameters>
<DMSParameter>
<Name>string</Name>
<Value>string</Value>
</DMSParameter>
<DMSParameter>
<Name>string</Name>
<Value>string</Value>
</DMSParameter>
</Parameters>
</ParametersCollection>
</Request>
</CreateNewServiceOrder>
CreateNewServiceOrderRequest | ||||
PropertyName | PropertyType | Example | Description | Mandatory |
Locale | String | en-GB | The .NET CurrentCulture.Name | Yes |
LocationCode | String | M1 | Used by some DMS require this to identify specific dealer data | Yes |
ServiceOrderTransferObject | ServiceOrderTransferObject | (see below) | No | |
ParametersCollection | DMSParametersCollection | (see below) | No |
ServiceOrderTransferObject | ||||
PropertyName | PropertyType | Example | Description | Mandatory |
VHCDate | String | 20120912 | Date the vehicle is due at the dealership (YYYYMMDD) | Yes |
Make | String | FORD | Vehicle manufacturer | Yes |
Model | String | FOCUS | Vehicle model | Yes |
VIN | String | WF0BXXWPRB6U02664 | Vehicle VIN or Chassis number | Yes |
JobCardNumber | String | 11522565 | DMS Work order number | Yes |
RegistrationNumber | String | FG58 AXY | Vehicle registration number | Yes |
CustomerTitle | String | Mr | Customer Title | No |
CustomerFirstName | String | Jamie | Customer First Name | No |
CustomerSurName | String | Lawrence-Jenner | Customer Surname | Yes |
CustomerEmail | String | jamie.jenner@autovhc.co.uk | Customer Email | No |
CustomerPostCode | String | WR13 6PZ | Customer PostCode | No |
CustomerTelephoneNumber | String | 01684 554477 | Customer Land Line Telephone Number | No |
CustomerMobileNumber | String | 07977 115478 | Customer Mobile/Cell Number | No |
CustomerUUID | String | 11544854 | DMS Unique customer identifier | No |
CustomerAddress1 | String | 12 Acacia Avenue | Customer Address Line 1 | No |
CustomerAddress2 | String | Great Malvern | Customer Address Line 2 | No |
CustomerAddress3 | String | Great Malvern | Customer Address Line 3 | No |
CustomerAddress4 | String | Great Malvern | Customer Address Line 4 | No |
CustomerContactEmail | Boolean | FALSE | Whether or not the customer is to be contacted by Email. No Value will be assumed false Opt Out | No |
CustomerContactHomePhone | Boolean | FALSE | Whether or not the customer is to be contacted by Telephone. No Value will be assumed false Opt Out | No |
CustomerContactMail | Boolean | FALSE | Whether or not the customer is to be contacted by Mail. No Value will be assumed false Opt Out | No |
CustomerContactSMS | Boolean | FALSE | Whether or not the customer is to be contacted by SMS. No Value will be assumed false Opt Out | No |
CustomerType | String | RETAIL-001 | Customer Account category or type | No |
FirstRegistrationDate | String | 20081025 | Date vehicle first registered (YYYYMMDD) | No |
NextMotDate | String | 20121128 | Date of the next government vehicle inspection is due (YYYYMMDD) | No |
NextServiceDate | String | 20130528 | Date when next vehicle service is due (YYYYMMDD) | No |
ServiceAdvisor | String | JLJ | The DMS identification of the service advisor who will deal with the customer | No |
Workshop | String | MAIN | Workshop in which the vehicle will be inspected | No |
WorkRequired | String | 35,000 km service | Description of required work/reason for the booking | No |
Mileage | String | 1154458 | Last know odometer reading | No |
DateIn | String | 20120912 | Date the vehicle is due at the dealership (YYYYMMDD) | No |
DateOut | String | 20120912 | Date the vehicle is due at the dealership (YYYYMMDD) | No |
TimeIn | String | 91500 | Time the vehicle is due at the dealership (HH:MM:SS) | No |
TimeOut | String | 173000 | Time the vehicle is due at the dealership (HH:MM:SS) | No |
ServiceOrderItems | ServiceOrderItems | Parent of <ServiceOrderItemTransferObject> |
No | |
ServiceOrderItemTransferObject | ServiceOrderItemTransferObject | (see below) | No | |
MakeCode | String | 56 | DMS Manufacturer Code | No |
ModelCode | String | 78 | DMS Model Code | No |
AgreedEstimate | String | 250 | Value quoted to the customer for completion of the work required | No |
EngineNumber | String | AB12345 | The engine’s identifier number | No |
CustomerNotes | String | Front Brakes making knocking noise | Any additional information provided by the customer | No |
ServiceOrderItemTransferObject | ||||
PropertyName | PropertyType | Example | Description | Mandatory |
PackageCode | String | AB001 | The code to identify a package within a DMS or Parts Catalogue | Yes |
DMSJobID | String | No | ||
ItemDescription | String | Front Brakes | Service order line item description | Yes |
Action | String | 1 | Used by autoVHC 0=Followed up, 1=Open, 2=Dismissed | Yes |
Warranty | String | FALSE | Indicates the item is a warranty repair | Yes |
VHCItemID | String | 692554 | Service order line item unique ID | Yes |
VHCID | String | 12251 | Service Order ID | Yes |
ItemTypeID | String | 1 | Not required at present | Yes |
ItemStatus | String | 2 | 0= Green, 1=Amber, 2=Red indicates the condition of the service order line item | Yes |
Comments | String | Front pads worn 0.5mm | Technican comments about the item condition | Yes |
Auth | String | TRUE | Indicates the item has been authorised for repair by the customer | Yes |
Remind | String | FALSE | Whether or not the customer will be followed up about the item | Yes |
LabourTime | String | 1.5 | Total time for the repair, sum of timeamount for all Labour items associated with the item | Yes |
LabourPrice | String | 90.00 | Labour price for the repair | Yes |
IncVAT | String | FALSE | Not required at present | Yes |
VATRate | String | 20 | Tax rate 20=20 | Yes |
Advisor | String | 52658 | used by autoVHC only | Yes |
SiteCode | String | 909093 | Site Code, used to identify the record to a autovhc account | No |
TimeStamp | String | 41164.7055555556 | time stamp when the record was last changed | Yes |
CheckedItem | String | FALSE | used by autoVHC only | Yes |
Exclude | String | FALSE | Indicates the item was pre-identified by the customer prior to the VHC | Yes |
IsWheel | String | FALSE | Indicates the item is Wheel/Tyre | Yes |
CurrentTyreInfo | String | Please see below | Yes | |
Parts | PartTransferObject[] | Please see below | No | |
LabourLines | LabourTransferObject[] | Please see below | No | |
CurrentTyreInfo | TyreInfoObject | (see TyreInfoObject) | No | |
Tyres | TyreTransferObjectExtended[] | (see TyreTransferObjectExtended) | No | |
ServiceMenuCode | String | 12345678 | Stores package code, for example from eCat, can be a comma separated array. | No |
FixedPackage | FixedPackageTransferObject[] | (see FixedPackageTransferObject) | No |
CurrentTyreInfo | ||||
PropertyName | PropertyType | Example | Description | Mandatory |
TyreMake | String | Bridgestone | The manufacturer of the tyre | No |
TyreRating | String | R | The rating of the tyre | No |
TyreSize | String | 135,80,130 | The tyre size | No |
TyreVariety | String | A | The priority order, A being the tyre being priced / sold | No |
OuterDepth | String | 5.6 | The remaining tread on the outside of the tyre in millimeters | No |
InnerDepth | String | 5.6 | The remaining tread on the inside of the tyre in millimeters | No |
MiddleDepth | String | 5.6 | The remaining tread on the middle of the tyre in millimeters | No |
LoadIndex | String | 120 | The load index of the tyre | No |
IsWinterTyre | Boolean | true | If the tyre is a winter tyre | No |
PartTransferObject | ||||
PropertyName | PropertyType | Example | Description | Mandatory |
MarketingCode | String | 464 | Ford MLI code | No |
Discount | String | 5 | Amount the unit part price has been discounted by (OriginalPrice – PartPrice) | No |
OriginalPrice | String | 50.00 | Original unit part price | Yes |
VATRate | String | 20 | Tax rate 20=20% | Yes |
CostItemID | String | 1123324 | Unique ID for the Item | No |
PartID | String | 4451458 | autoVHC Part Category | No |
PartNo | String | 1164485447-0090 | Part Number | Yes |
PartDesc | String | FRONT BRAKE DISCS | Part description | Yes |
Stock | String | True | True if in stock | Yes |
PartPrice | String | 45 | Unit price after discount applied | Yes |
Quantity | String | 20 | Number of parts in stock | Yes |
QuantityRequired | String | 2 | Number of parts required | Yes |
LabourTime | String | 0 | Not used | No |
LabourPrice | String | 0 | Not used | No |
FittedPrice | String | 90 | Total price (PartPrice * QuantityRequired) | Yes |
Auth | String | TRUE | Used internally – Not required yet by the DMS, subject to change | No |
Deleted | String | FALSE | Indicates if the part has been deleted | No |
VHCitemID | String | 692554 | ID of the VHCItem (ServiceOrderItemTransferObject) the part has been assigned to | No |
TimeStamp | String | 41164.6294328704 | Time stamp when the record was last changed | No |
SiteCode | String | 909093 | Site Code, used to identify the record to a autovhc account | No |
BinLocation | String | BIN A | Part location in the dealer’s part repostitory | No |
BrandCode | String | BTCS | Used to identify part brand. | No |
Fluid | Boolean | True | Controls a checkbox showing that the part is a fluid | No |
Make | String | Abarth | The would be the make of the vehicle | No |
Brand | String | F | The brand of the vehicle | No |
Sundries | Boolean | True | Controls a checkbox showing that the part is a sundry item | No |
DMSData | String (XML) | <CustomContainer><Custom>Custom Parts Data</Custom><PartInfo>Custom Parts Information</PartInfo></CustomContainer> |
Optional custom data. A single XML entry or a XML container with multiple entries. If there is no data the DMSData entry will not exist in the returned structure. | 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 |
ServiceMenuCode | String | 12345678 | Stores package code, for example from eCat, can be a comma separated array. | No |
LabourCodeSourceDMS | String | TRUE | Indicates labour was priced from DMS. | No |
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
You will know whether the response is successful or not by checking the Success
node within it. If the message says true, this has worked as expected. If this does not say true, there has been an error and this would not be successful.
<CreateNewServiceOrderResponse xmlns="http://autovhc.co.uk/">
<CreateNewServiceOrderResult>
<Message>string</Message>
<Success>boolean</Success>
<Locale>string</Locale>
<CurrencyCode>string</CurrencyCode>
</CreateNewServiceOrderResult>
</CreateNewServiceOrderResponse>
CreateNewServiceOrderResponse | ||||
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 |