The Fullservice Contract is a special Contract provided by the AVAG Holding where – depending on what the Business Partners desires - several packages can be included.

This Fullservice Contract Offer can only be created/adjusted during within the Sales Process (Sales Lead/Opportunity) and is always in combination with a Vehicle Sales Offer.

The creation of such an Offer is optionally possible


Entity

3 new entities were created:

  • IDMS_FullServiceContract: Stores the header details of the Fullservice Contract
  • IDMS_FullServiceContractItem: Stores the selected services of the Fullservice Contract
  • IDMS_FullContractService: Stores combinations of specific service types (Storage, Changing Wheels, Service Replacement Vehicle) that can be added at the Fullservice Contract

The equivalent tables are the following:

  • @IDMS_FULLSRVCON
  • @IDMS_FULLSRVCONITM
  • @IDMS_FULLCONTRACSRV

@IDMS_FULLSRVCONITM works as a sub-collection of @IDMS_FULLSRVCON (similar to @IDMS_DOCUMENT and @IDMS_DOCUMENTITEM) but without using SL

Setup

A new setup page was created which is used to manage the specific service types that can be added at the Fullservice Contract. The URL and Business Case are the following:

  • ~/SetupEntities/List/SalesAndLeads/IDMS_FullContractService
  • BC: 1973

The service types that can be configured at the setup page are the following:

  • Storage
  • WheelChanging
  • ServiceReplacementVehicle

The following fields at the form are required:

  • Product Type
  • Running Time
  • Valid From
  • Monthly Net Rate

The field Total Net Amount is automatically calculated based on the following formula:

round({MonthlyNetRate} * {RunningTime})

The Time Period (Valid from/Valid until) must be unique per Product Type and Running Time.

Process

In order to support this functionality, new workflow steps (transitions) need to be created to fulfill those needs:

  • Create/Update Fullservice Contract Offer
  • Accept Fullservice Contract Offer
  • Decline Fullservice Contract Offer

Along with these transitions, new external functions were created in order to support these steps:

  • CreateOrUpdateFullserviceContractOffer

  • AcceptFullserviceContractOffer

  • DeclineFullserviceContractOffer

Also, a new transition required view was created in order to handle Fullservice Contract Offer create or update process:

  • FullserviceContractOfferView

For more information on the workflow setup, check here

Transition required view sections

Header

Here the first 6 fields represent the "header" of the Fullservice Contract document. The first 4 fields are required:

  • Manufacturer Key. No.
  • Type Key No.
  • Mileage per Year
  • Running Time in Months

If the "Framework Agreement Manufacturer" checkbox is checked, when printing the main document which is the Fullservice Contract Offer, an extra document is also printed and "merged" to the final document.

If the “Send offer via email” checkbox is checked, the fullservice contract document is sent via email notification when saving the transition at the “Activities” tab.

Services

Below of the above fields, a table with all the available services appears, only if the user has filled the required fields.

The services can be separated in 3 categories:

  • Setup services: Data for these services are retrieved via the setup page that was described above
    • Storage
    • Wheel Changing
    • Service Replacement Vehicle
      • The filter that is applied for these services is the following:
        • Product Type = <Type of the selected service> AND

        • Running Time = <Running time in months (from the header)> AND

        • Valid from / until = valid Date Period (Current Date must be between "Valid from" and "Valid until")

  • Manual services: The total amount for those services is entered manually from the user
    • Wheel Package Winter
    • Tyre package Winter
    • Tyre Package Summer
    • Tyre Package All Weather
    • Manufacturer Grant
  • Technical Maintenance services: Data for these services are provided via the TecAlliance web services
    • Technical Maintenance
    • Technical Maintenance + Consumption

There are also 2 hybrid-services. They are filled from the data of the "Technical Maintenance" and "Technical Maintenance + Consumption" services according to the following formulas:

  • Cost per km (additional km driven)
    • ((Technical Maintenance + Technical Maintenance + Consumption) * 12) / (Mileage per Year * 2)
  • Refund per km (viewer km driven)
    • ((Technical Maintenance + Technical Maintenance + Consumption) * 12) / (Mileage per Year * 0.75)

The "Manufacturer Grant" service acts as a discount (flat value, not percentage)

The "Cost per km" and "Refund per km" services are not part of the Total monthly Amount of the contract.

Regarding the columns of the table:

  • The second column represents the total amount of the service (for the whole running time)
  • The third column contains a checkbox "Include in Contract" which when clicked adds the selected service to the offer
  • The last 2 columns show the Net Amount per Month and Gross Amount per Month, respectively

The VAT used at the last column of the services' table is coming from the Business Partner

Finally, there are 4 buttons at the view:

  • Create Insurance Offer: Starts a communication with the AVS portal by opening a new tab at the user's browser. No data from this communication are retrieved back to OD. It is an one-way communication
  • Print: Prints the offer document using one of the configured providers
  • Cancel: Redirects the user back to the activities tab in order to select again the desired transition
  • Apply: Saves any changes at the offer and redirects the user back to the activities tab in order to save the transition

AVS portal setup

For the AVS communication, we created 4 setup keys that need to be configured properly:

  • AVSInterfacingManagerUrl

  • AVSGrantType

  • AVSClientId

  • AVSClientSecret

  • AVSApplicationID_{CompanyName} (value is company ID)

Then, for username and password temporarily we used the following 2 setup keys

  • AVSUsername

  • AVSPassword

TecAlliance interface setup

The communication with the TecAlliance interface is done via the Interfaces team. Thus, the following setup keys need to be configured properly:

  • ODExchangeAPIUrl
  • ODExchangeAPIUnm
  • ODExchangeAPIPwd
  • ODExchangeAPICId
  • ODExchangeAPIDId

From TecAlliance we receive values for the following 2 services:

  • Technical Maintenance
  • Technical Maintenance + Consumption

For more information on the defined AVAG setup keys check here

Printing

1 new Printing Business Type was created:

  • Fullservice Contract Document

Currently supports only the internal print provider

Setup

  1. First you need to select which printing service will be used. Look here for more info about this setup
  2. The setup key for the Fullservice Contract Document printout's Template name is called FullserviceContractPrintoutTemplateName
  3. The setup key for the Fullservice Contract Framework Agreement printout's Template name is called FullserviceContractFrameworkAgreementTemplateName
  4. If you use the internal OD printing system then you have to create an RTF following these instructions
Fullservice Contract Document printout fields
PropertyTypeComments
Header

{FullserviceContractId}

stringUnique ID (unique over the whole AVAG Group – AVAG Area ID as Prefix)
{SalesLeadCode}stringCode from the Lead/Opportunity (DocEntry)
{VehicleCode}stringVehicle ID from the Vehicle
{Status}string

Possible Values:

  • Empty (will be set when new Offer is being created via external function)
  • Accepted (will be set when Offer is being accepted (WF-Step via external function)
  • Declined (will be set when Offer is being declined (WF-Step via external function)
{ManufacturerKeyNo}string
{TypeKeyNo}string
{MileagePerYear}string
{RunningTimeMonths}string
{ContractDate}date
{BankAccountInformation}string
{FrameworkAgreementManufacturer}boolIf 'true', then an additional template must be printed on the Service Contract
Customer
{CustomerName}stringFull name of customer
{CustomerZipCode}stringZip-Code of the customer's address
{CustomerCity}stringCustomer's city
{CustomerStreet}stringCustomer's street
{CompanyStreetNo}stringCompany's street Number
{CustomerEmail}stringCustomer's email
{CustomerTelephone1}stringCustomer's phone number
{CustomerPhone}stringCustomer's mobile phone number
{CustomerCode}stringCustomer's code (Business Partner code)
{BusinessPartnerName}stringBusiness partner's name
{CompanyName}stringCompany name (where the user is logged in)
{CompanyZipCode}stringZip-Code of teh company's address
{CompanyCity}stringCity where the company is located
{CompanyStreet}stringCompany's street address
{CustomerStreetNo}stringCompany's street address number
{CompanyEmail}stringCompany's email
{CompanyPhone}stringCompany's phone number
{CompanyMobile1}stringCompany's mobile phone number
{CompanyCode}stringCompany's code
Employee
{EmployeeOfficePhone}stringOffice phone number of the sales person
{EmployeeMobilePhone}stringOffice mobile phone number of the sales person
Services

{TechnicalMaintenance}

boolCheckbox in the column Include in Contract
{TechnicalMaintenanceTotalAmount}stringNet Total Amount (whole running time)
{TechnicalMaintenancePrice}stringNet Amount per Month
{TechnicalMaintenancePriceGross}stringGross Amount per Month
{TechnicalMaintenanceAndConsumption}boolCheckbox in the column Include in Contract
{TechnicalMaintenanceAndConsumptionTotalAmount}stringNet Total Amount (whole running time)
{TechnicalMaintenanceAndConsumptionPrice}stringNet Amount per Month
{TechnicalMaintenanceAndConsumptionPriceGross}stringGross Amount per Month

{WheelPackageWinter}

boolCheckbox in the column Include in Contract
{WheelPackageWinterTotalAmount}stringNet Total Amount (whole running time)

{WheelPackageWinterPrice}

stringNet Amount per Month

{WheelPackageWinterPriceGross}

stringGross Amount per Month
{TyrePackageWinter}boolCheckbox in the column Include in Contract
{TyrePackageWinterTotalAmount}stringNet Total Amount (whole running time)
{TyrePackageWinterPrice}stringNet Amount per Month
{TyrePackageWinterPriceGross}stringGross Amount per Month
{TyrePackageSummer}boolCheckbox in the column Include in Contract
{TyrePackageSummerTotalAmount}stringNet Total Amount (whole running time)
{TyrePackageSummerPrice}stringNet Amount per Month
{TyrePackageSummerPriceGross}stringGross Amount per Month
{TyrePackageAllWeather}boolCheckbox in the column Include in Contract
{TyrePackageAllWeatherTotalAmount}stringNet Total Amount (whole running time)
{TyrePackageAllWeatherPrice}stringNet Amount per Month
{TyrePackageAllWeatherPriceGross}stringGross Amount per Month
{Storage}boolCheckbox in the column Include in Contract
{StorageTotalAmount}stringNet Total Amount (whole running time)
{StoragePrice}stringNet Amount per Month
{StoragePriceGross}stringGross Amount per Month
{WheelChanging}boolCheckbox in the column Include in Contract
{WheelChangingTotalAmount}stringNet Total Amount (whole running time)
{WheelChangingPrice}stringNet Amount per Month
{WheelChangingPriceGross}stringGross Amount per Month
{ManufacturerGrant}boolCheckbox in the column Include in Contract. Acts as a flat discount
{ManufacturerGrantTotalAmount}stringNet Total Amount (whole running time)

{ManufacturerGrantPrice}

stringNet Amount per Month

{ManufacturerGrantPriceGross}

stringGross Amount per Month
{ServiceReplacementVehicle}boolCheckbox in the column Include in Contract
{ServiceReplacementVehicleTotalAmount}stringNet Total Amount (whole running time)
{ServiceReplacementVehiclePrice}stringNet Amount per Month
{ServiceReplacementVehiclePriceGross}stringGross Amount per Month

{CostPerKm}

stringNet Amount per Month
{RefundPerKm}stringNet Amount per Month
{CostPerKmGross}stringGross Amount per Month
{RefundPerKmGross}stringGross Amount per Month
{NetTotalAmount}string

Sum of Net Total Amounts of services

  • "CostPerKm" and "RefundPerKm" are not included
  • "ManufacturerGrantTotalAmount" is deducted from the totals
{NetTotalAmountPerMonth}stringSum of Net Total Amounts per month
{GrossTotalAmountPerMonth}string

Sum of Gross Total Amounts per month

Other properties
{Lead}

To get to any of the following values, for example

Lead.Title to use Lead's title

VaueDescription
TitleLead title
MakeVehicle’s Make
SalesPersonNameSales Person’s code
SalesPersonEmailSales Person’s Name (First name and Last name)
NextActivityDateLead’s next activity date
CreateDateLead’s creation date
LastUpdateDateLead’s update date
NextActivityTimeLead’s next activity time
CreateTimeLead’s creation time
LastUpdateTimeLead’s update time
LeadImagePhoto of Vehicle
VehicleVINVehicle’s VIN
LightHouseInquiryBaseUrlLightHouse Inquiry base URL
InquiryCodeMD5OD Inquiry code MD5-encrypted
Vehicle
{VehicleManufacturer}string

The Make of the vehicle

{VehicleModel}stringThe Model of the vehicle
{VehicleFamily}stringThe Family of the vehicle
{VehiclePowerPS}stringThe amount of Power PS
{VehiclePowerKW}stringThe amount of Power KW
{VehicleKbaKey}stringThe vehicle's KBA key.
This the HSN and TSN values separated by a '/'. (HSN/TSN)
Sales Offer
{LastOfferDocNumber}stringThe document entry of the last created sales offer (if exists)
Data Privacy
{DataPrivacy}

Header

To get to any of the following values, you use the header property (in this case the 'DataPrivacy') followed by any of the values bellow, separated by fullstop.

For example:  To use the data privacy phone channel state:

DataPrivacy.PhoneChannelStateto 


VaueTypeDescription
{PhoneChannelState}boolContact by Phone is allowed
{PostChannelState}boolContact by Mail is allowed
{EmailChannelState}boolContact by E-Mail is allowed
{SMSChannelState}boolContact by SMS is allowed


Lines

To get to any of the following values, you use the line's header property (in this case the 'DataPrivacyLines') followed by any of the values bellow, separated by fullstop.

For example:  To use the data privacy make description:

DataPrivacy.DataPrivacyLines.MakeDescription

Data Privacy Lines
{DataPrivacyLines}
ValueTypeDescription
{MakeDescription}stringThe name of the Manufacturer in One Dealer
{PhoneChannelState}boolContact by Phone is allowed
{PostChannelState}boolContact by Mail is allowed
{EmailChannelState}boolContact by E-Mail is allowed
{SMSChannelState}boolContact by SMS is allowed


To get to any of the following values, you use the line's header property (in this case the 'DealerDataPrivacyLines') followed by any of the values bellow, separated by fullstop.

For example:  To use the dealer data privacy phone channel:

DataPrivacy.DealerDataPrivacyLines.PhoneChannelState

DealerDataPrivacyLines
{DealerDataPrivacyLines}
ValueTypeDescription
{PhoneChannelState}boolContact by Phone is allowed
{PostChannelState}boolContact by Mail is allowed
{EmailChannelState}boolContact by E-Mail is allowed
{SMSChannelState}bollContact by SMS is allowed



Related tab section

A new section was created at the Related tab which stores the related fullservice contract document that is created or updated. By clicking on the title, if the "Print Status" is "Failed" then the system will try to print the document again and then load it, otherwise the document is just loaded.

Regarding the contract statuses, there are 3 statuses:

  • Empty: Only when the contract offer is created or updated
  • Accepted: When the contract offer is accepted via the necessary transition
  • Declined: When the contract offer is declined via the necessary transition

Fullservice Contract offer restrictions

  1. 1 Fullservice Contract offer for each VOI
    1. There is no historic data for created offers of the same VOI, similar to the Sales Offer where the user can view and select past offers
  2. The "Create Order" transition should not be available, if a Fullservice Contract offer is of status "Empty". The user have to accept or decline the Fullservice Contract offer first in order to proceed with a Sales Order
  3. A Fullservice Contract Document has to be created in order to accept it or decline it.
2 new validations were created which can be found here (among other information regarding the workflow setup of the Fullservice Contract process).

Activity Type Group

A new UI Group Code was created:

  • FSC (Fullservice Contract Offer - OD0007764)

This code can be used at the @IDMS_WF_ACTTYPE.U_IDMS_UI_GroupCode field.

This code is used to group activities at the Calendar

Extra Vehicle Card Page fields

2 new fields were added at the vehicle card page, for AVAG only:

  • Manufacturer Key No.: linked to @XIS_CARS.U_XIS_KBAKey
  • Type Key No.: linked to @XIS_CARS.U_XIS_TypeKey

Related Issues

AVGA-99 - Getting issue details... STATUS

AVGA-695 - Getting issue details... STATUS


0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.