General Description of the Feature

This feature deals with the development of the API that is responsible to create Service Inquiries from an external webpage (i.e.: OSM) into Digital Aftersales Workplace (aka DASW) and is linked with it.

Technical Information

The service that creates a Service Appointment Inquiry is described below.

Login – Authentication token

Relative URL

/Files/Services/ODInquiryServices.onesrv?m=CreateInquiryInterestByCase

Method Type

POST

Content Type

application/json

Arguments

{
  "inquiry": {
    "CaseType": 4,
    "InquirySource": null,
    "InquiryChannel": null,
    "InboundKey": "ServiceInquiryOSM",
    "RequestedAppointmentDate": "2022-09-16T07:30:00Z",
    "TransportationRequest": true,
    "CompanyCode": null,
    "BranchCode": null,
    "LocationCode": "8C959960FB020039E10200000A4104",
    "LocationDesc": "OneDealer QA Decouple - Location",
    "FirstName": "Testing",
    "LastName": "test",
    "Email": "ODP4123@mailinator.com",
    "Phone1": null,
    "Phone2": null,
    "MobilePhone": "+306985635626",
    "Street": "",
    "StreetNo": "",
    "ZipCode": "",
    "CountryCode": "XX",
    "VatRegistration": null,
    "MakeCode": "22",
    "FamilyCode": "100",
    "ModelCode": null,
    "ModelAsAComment": "i10",
    "VIN": "U176982",
    "LicensePlate": "IIK2350",
    "Engine": "1800",
    "EngineDisplacement": "1800",
    "Transmission": null,
    "FirstRegistrationDate": "2020-09-01",
    "ProductionYear": null,
    "Mileage": "50000",
    "Notes": "ODP-4123 testing",
    "CCs": [{"CCCode": "7gZo0FZk30GMtstLOfgaOw", "Description": "Service 30000 km", "Notes": "Added from OSM"}]
  }
} 

Response On Success

{
    "BusinessState": {
        "BusinessStatus": "BusinessOk",
        "BusinessErrors": []
    },
    "Data": {
        "InquiryCodeCreated": “{InquiryCode}”
        "ProcessedEntityCodeCreated": null,
        "ProcessedEntityTypeCreated": null,
        "AssignedPersonCode": {AssignedUserID},
        "Errors": null
    }
}

Response On Error

{
    "BusinessState": {
        "BusinessStatus": "BusinessOk",
        "BusinessErrors": []
    },
    "Data": {
        "InquiryCodeCreated": null,
        "ProcessedEntityCodeCreated": null,
        "ProcessedEntityTypeCreated": null,
        "AssignedPersonCode": null,
        "Errors": "{Error_Message}"
    }
}

Process

After the above mentioned API is called properly from a website, i.e. OSM, an Inquiry is created within the targeted DASW. This inquiry should have Interest Type = Appointment and Source, Channel, Assignee based on the relevant configuration in Dealer Unit and Inquiry Key Relation (check the configuration section).

This inquiry has initial status "Generated" and the user has to make two types of qualifications in order to be able to create a JobCard AppointmentThe inquiry of this Interest Type (appointment) should include the following tabs:

  • Details: generic information of the inquiry
    • Booking code: provided to the User in OSM at the end of the process
    • Source
    • Channel
    • Interest Type
    • Notes
  • Contact: The information of the customer as provided in OSM
    • First Name
    • Last Name
    • Email
    • Phone
  • Vehicle: The information of the vehicle as provided in OSM
    • License Plate
    • Make
    • Family
    • Model as a Comment = Family description
    • VIN
    • First Registration Date
    • Odometer
  • Interest: The information related with the booking as provided in OSM
    • Requested Appointment Date
    • Location
    • Valet Services: Includes one of the following:
      • The customer will not remain in the shop
      • The customer will remain in the shop
    • Service Advisor: the assignee user of the inquiry
    • Response Due Date
    • notes: as added in OSM from the customer
    • Customer Concerns section including a list with all the CCs selected in OSM.
  • Related: Includes any related entries created for this inquiry, i.e. Tasks, Notes

Customer Qualification

Just like the regular sales inquiries, the user should firstly qualify the contact. In case the contact information are matching any existing Business Partner information (based on the duplication rules that are developed in the relevant environment) then the user will be able to check the duplicates and decide either to select an existing BP or create a new one. 

Then this qualified contact is made as a Business Partner and should be of type "Customer" in order to be able to proceed with the vehicle qualification.

As soon as the contact is qualified the Inquiry Status = Person Qualified

Vehicle Qualification

In this step the user has to qualify the vehicle and the information, in order to be able to open an Appointment Job Card. The system is also passing the vehicle through a duplication check which is trying to match the vehicle information of the inquiry existing vehicles in the database. The rule is matching:

  • License Plate
  • VIN (7 last digits of the VIN)

The header will then show “Existing vehicle found. Update and connect vehicle” or “No matching vehicles found. Create and connect vehicle” depending on the case.

Clicking the action will open a vehicle card page, that will have all the field from the inquiry filled in the vehicle page’s fields. All the other fields will either use the existing vehicle’s values, or be empty on the “Create new” case.

The Vehicle should take the qualified Business Partner as owner and the Vehicle Status should be "Customer Vehicle". 

Once the Inquiry has a “Vehicle ID”, it is considered “Vehicle Qualified” and the save button will no longer appear in this tab.

Actions

When the inquiry is both “Contact Qualified” & “Vehicle Qualified” the action “Create Appointment” will appear within the Action button. It will function the same as the ‘+’ action’s popup in JobCard/Appointment grid list, but any info that exists on the Inquiry will prefill the relevant fields in the appointment creation pop-up.

Response Due Date and User notification

Each Inquiry created through this process, should take a Response Due Date = Creation Date + Response Timespan (in hours) from Dealer Unit. When an inquiry’s Response Due Date has expired, the users should be notified by an OD bell notification as well as an e-mail. 

An endpoint has been created “/JobCard/SendNotificationsForExpiredServiceInquiries” that can be configured to run with a scheduler in OneFire (by the IT team). Each time this scheduler or endpoint runs will gather all the inquiries with:

  • Type “Appointment”
  • status is not “In Process” nor “Disqualified”
  • They have a not null Response Due Date
  • They have a null Response Date
  • They have SentNotification not equal to 1 (not any due date notification is send yet)
  • The ResponseDueDate+Time has passed (the response due date is expired)

For all the inquiries that match with the above rules, the assignee User will receive both a bell and an email notification, stating “This inquiry's Response Due Date has passed” and linking to that inquiry.

Versioning

This feature is originally developed in version 2.55, but a series of fixes and gap enhancements took place. So, the full version of the functionality is included in version 2.58

Prerequisite features

In order for the Service Inquiry API to function, an OSM or other website should exist and call this API including the mandatory fields and procedure.

The custom Hyundai/Kia OSM website, which uses this inquiry is described here: 2.56-1. Hyundai OSM design - reCaptcha

Additionally, the relevant environment should also have the DASW fully configured.

Find all the DASW related documentation here: B.1.3 After Sales WorkPlace

Feature enhancement

This functionality has been enhanced. Find info regarding the enhancement here: 2.60-3. DASW Service Inquiry (enhancement) - Business Partner Type: Customer

Business Benefit

With the development of the Service Inquiry, DASW can cover the creation of online service appointments directly into DASW. This provides a full solution to the users of the service module and saves a lot of time from their daily work.

Configuration 

Dealer Unit:

  • An entry in the Dealer Unit should be created per Company (different workshop location):
    • Company 
    • Branch 
    • Location
    • Interest Type = Services
    • Source = a source that exist in the Source table and is matching the relevant inquiry key relation entry 
    • Channel = a source that exist in the Channel table and is matching the relevant inquiry key relation entry
    • Make = the Make that will be serviced (empty on multiple Makes)
    • Employee = the user that should be the inquiry assignee
    • Response Timespan (in hours): Creation Date of the inquiry + Response Timespan (in hours) = Response Due Date (The Due date that a created inquiry should be processed)

Inquiry Key Relation:

  • An entry in Inquiry Key Relation should be created with:
    • Source = a source that exist in the Source table
    • Channel = a source that exist in the Cannel table
    • Inbound Key =  ServiceInquiryOSM
    • Auto Qualification Flag = 0 (No)

Additional Information

  • Feature No.:  ODP-2616 - Getting issue details... STATUS
  • Test Case No.:  QA-1620 - Getting issue details... STATUS
Write a comment…