Professional Documents
Culture Documents
Prepared for
Suzuki GB PLC
Prepared By
William Brooks
1
1 Document Information
1.1 Preface
This document provides an overview of the requirements captured by Pythagoras for the
Enquiry Max and Call Centre integration.
Requirements captured to date are outlined and provide details of the consultancy services
and products Pythagoras propose to utilise in meeting Suzuki identified business needs should
the next phase of Delivery be considered. This document forms the basis for all subsequent
project activities.
1.3 Status
The status of this document will be considered as draft until such time that the client has
acknowledged this proposal and its recommendations.
Once approved, this document will be base lined on the relevant version number and any
subsequent changes will be deemed to be change requests.
Document Purpose
2
Suzuki RTL TDD v2.1.pdf Covers the design of the Real Time Leads Integration
of which this is an extension.
Sign off process: For audit and QA purposes, PCL require a signed, scanned copy of this document (ideally the
whole document, however if not possible this page at least), emailing to the PCL Project Manager to confirm sign
off. No other methods are valid.
1.7 Abbreviations
The following table lists the abbreviations used within the document.
Abbreviation Description
API Application Programming Interface
ASB Azure Service Bus
CRM Customer Relationship Management
MFF Magic Flat File
Pythagoras Pythagoras Communications Limited
QA Quality Assurance
Suzuki Suzuki GB PLC
SFTP Secure File Transfer Protocol
UAT User Acceptance Testing
3
2 Requirements
2.1 High Level Requirements:
The below table and subsequent pages detail the requirements identified to date.
REQ001 Leads need to be exported to the Azure Service Bus that meet the criteria
outlined the Gather Specification (document ref ‘Enquiry Max – Gather
Specification v6.pdf’).
REQ002 Brochure Requests need to be delayed by 3 days prior to export.
REQ003 Additional fields need to be added to the Enquiry Entity to support
outcomes.
REQ004 A way to manually trigger the integration for a Lead such as a workflow is
required.
REQ006 There is a need for a blacklist on the records send to the Assure Service Bus.
A list of First Name/Last Name combinations need to excluded from the
integration. A dynamic implementation for this will be investigated however
it could be a static list.
REQ007 Call Centre Queries created in CRM need to be passed back to the ASB with
their Enquiry Number and to be sent to Enquiry Max with the URN for
Dealers to follow up.
REQ008 A weekly export of customers with Estimated Replacement Dates that
indicate they will be purchasing soon will be sent to the Azure Service Bus
for the Call Centre. This will generate an Enquiry for the contact with the
Campaign Code CMP-01602-Q1G8 and Campaign Name Call Centre Follow
up_Leads. This enquiry must not meet the criteria for the automatic export
to Enquiry Max.
REQ009 A daily export of Motability customers who are 4 months away from the
end of their 3 year agreement will be sent to the Azure Service Bus for the
Call Centre. This will generate an Enquiry for the contact with the Campaign
Code CMP-02568-Y7T6 and Campaign Name 4W_Motability_Call Centre
Follow up_Leads. This enquiry must not meet the criteria for the automatic
export to Enquiry Max.
REQ010 Call Centre needs to create Leads in CRM in the same manner as Real Time
Leads are currently handled.
Azure DevOps will serve as the master repository for requirements after commencement of
the work.
4
3 Solution Overview
The existing integration between Suzuki’s CRM2016 and the external application Aqueduct
(known as Real Time Leads) was developed by Pythagoras as a replacement for the previous
SFTP, MFF and Scribe based solution. This is described in Suzuki RTL TDD v2.1.pdf and is
already in use. It uses the Azure Service Bus and Azure Functions to read messages from the
Azure Service Bus Topic, process these using an Azure Function to create/update CRM and
push a response message onto Azure Service Bus containing the result of integration.
The scope of the work discussed in this document is to expand on that existing integration
and to create integrations for Enquiry Max and the Call Centre according to requirements
provided by Gather in document ref ‘Enquiry Max – Gather Specification v6.pdf’.
The new integration will follow a similar approach to that previously developed. Using Azure
Functions to handle the communications between CRM and Azure Service Bus. The
remaining integration between the Azure Service Bus and Enquiry Max and the Azure Service
Bus and the Call Centre is expected to be completed by the related parties and falls outside
of the scope of this work.
At a high level, the diagram below represents the proposed integration.
Azure
Topic Incoming
Integration Logic
Call Centre Subscriptions
CRM
Topic Outgoing
Enquiry Max
Subscriptions
5
4 Solution Data Model
This diagram represents the core Microsoft Dynamics CRM entities within the proposed CRM
Solution and how they relate to each other.
Contact
Business
Campaign Response
Enquiry
Request Model
6
5 Entity Customisations
5.1 Enquiry
The following fields will be added to the Enquiry Entity
7
7 Integrations
7.1 Outgoing Integrations
7.1.1 Immediate Export
Leads that meet the following criteria will be sent for export on change when the criteria are
met:
[Enquiry]. Division = 4W
[Enquiry].Request = Yes
[Contact].4W Preferred Dealership = Contains Data
[Enquiry].Enquiry Origin <> No
OR
[Contact].4W Local Dealership Contains Data
[Request Model].Finance Quote = Yes
OR
[Request Model].Test Drive= Yes
OR
[Request Model].Call Back Enquiry = Yes
OR
[Enquiry].Dealer Contact = Yes
OR
[Enquiry].Arrange an Appointment= Yes
OR
(
[Request Model].Brochure = Yes
AND
[Contact].Phone Number= Contains Data
OR
[Contact].Phone Number= Contains Data
)
8
7.1.3 Weekly Export
Leads that meet the following criteria will export to the Call Centre weekly on a Friday:
[Contact].4W Telephone = Allow
[Contact].Deceased = N
[Contact].4W In Dispute = N
[Contact].Status = Active
AND
(Contact has NO associated 4W [Vehicle Owned] records with Date of Ownership >= Date ERD was
created )
[Contact].Home Phone = IS NOT NULL
OR
[Contact].Mobile Phone = IS NOT NULL
AND
[Contact].Estimate Replacement Date >= Current Date – 22 Days
[Contact].Estimate Replacement Date <Current Date – 15 Days
AND
[Enquiry].Request Date <=Current date –90 Days
9
7.1.4 Daily Export
Leads that meet the following criteria will export to the Call Centre Daily:
10
7.1.5 Outgoing message format
Messages sent to the Azure Service Bus from CRM will be comprised of the following fields.
These fields have been taken from the Gather specification (document ref ‘Enquiry Max –
Gather Specification v6.pdf’) and will make up the JSON message body sent to the ASB.
11
RequestAccessoriesBrochure Two Options Request Models
Y/N
12
Model Nvarchar Enquiry Outcome
(50)
13
Campaign Name Nvarchar(128) Campaign Campaign Name -
Response
Email / Press Ad / TV /
Advertorial / Outdoor /
PR / Dealer Marketing /
Radio
/ Sponsorship / Competition
/
Survey / Research /
Customer
Services / Website /
Marketing Information
Service
Magazine, Marketing
Campaign, Online
Mouth
14
Street Nvarchar(250) Contact/Business Street Y
Occupation values in
Detailed Design Doc
Education/ Financial
Services/
Telephone
Dealership
Dealership
15
Dealership
Dealership
New/Used/Unknown
Number
Condition
Private/Business 1-24/Fleet
25+/Demonstrator/Motabilit
y
16
Test Drive Taken Y/N Campaign Test Drive Taken -
Response
Contact
Case Type Keep Me Alto; Alto Accessories; Enquiry Request Request Type: Keep -
Updated Splash; Models Me Updated
Download
Request Type Finance Alto; Alto Accessories; Enquiry Request Request Type: -
Quote Splash; Models
Request Type Test Drive Alto; Alto Accessories; Enquiry Request Request Type: Test -
Splash; Models Drive
Ownership
17
Enquiry Type Record Y/N Enquiry Case Type: Record -
Update Update
Request Type Alto; Alto Accessories; Enquiry Request Request Type: Offer -
Splash; Models Information
Request Type Alto; Alto Accessories; Enquiry Request Request Type: Price -
Splash; Models Information
Information
Swift Accessories…
Request Type Call Back Alto; Alto Accessories; Request Models Request Type: Call -
Enquiry Splash; Back Enquiry
Request Type Other Alto; Alto Accessories; Request Models Request Type: Other -
Splash;
How Did You Find Us Optionset: Enquiry How did you find us? -
18
Message_To_Dealer Multiple lines of text Enquiry Message to Dealer -
Nvarchar(4,000)
19
7.2.4.1 Function Dependencies
The function will use a library developed by Pythagoras which will contain the contract for
the incoming messages and the logic needed to map those messages to CRM entities.
7.2.4.2 Incoming Message Templates
A Message template for incoming messages will utilise the existing message structure for
Real Time Leads. Pythagoras will build the library stated above based on this structure.
Message Template:
mff.json
response.json
Message.json
20
8 Assumptions
The following assumptions have been made regarding the contents of this document and
subsequent development:
1. The criteria for records to be exported were provided by Gather (in document ref
‘Enquiry Max – Gather Specification v6.pdf’) and will be used as a guide for the
development. It is assumed that this logic is correct.
2. The Real Time Leads integration process is suitable for use by the Call Centre with
minor adaptations.
21