Siebel Loyalty Administration Guide > Setting Up Siebel Loyalty Programs > Process of Setting Up Loyalty Programs >

Creating Base Loyalty Promotions


Base promotions are designed to simplify the process of setting up complex promotions. They are used to calculate base points, based on any of the transaction attributes, member attributes, promotion attributes and so on.

Each program can have only one base promotion. It is created, with no rules, as soon as the program is saved. Users cannot manually create this promotion, nor can they delete it, but they can add rules to calculate the base points for accrual, based on the transaction attributes.

The base promotion can calculate the value of base accrual from the following:

  • Points associated at the product level, based on the airport codes, booking class, or zones.
  • The distance table for the origin destination pairs.
  • Lookup values from any lookup table in Siebel Loyalty.
  • Calculated fields, such as age of member or days and nights of a hotel stay based on check-in and check-out dates.

The fields can be used for criteria as well as in actions, for example:

  • Points based on the distance table for air products, using product type, product and partner as criteria.
  • Hotel stay accrual, based on the nights stayed where the partner sends only check-in and check-out dates.
  • For the same hotel, if you stay in Australia then the accruals are based on amount spent, but if you stay outside Australia then the accruals are based on nights stayed. However, the partner sends the same data for both transactions, and Siebel Loyalty has to calculate accruals based on the location code in the transaction.
  • If a member takes a flight on a weekend then he gets 10% additional bonus.
  • Senior Citizens (if the member has completed 65 years on the activity date) get double points on all Credit Card transactions.

NOTE:  These fields are available for all types of promotions; not just for the base promotion.

The base points calculated, based on one of the these methods, can then be used as a basis for rewarding a bonus and incentives. This basis is achieved by making the base points available for all the promotions. The base points calculated are not allocated to the members directly.

The points are allocated to members using another action, Assign Points. This action can only be part of another promotion. A program can have only one active base promotion.

The Action type, Calculate Base Price, must be selected, then select either Custom or Distance Table in the Object field. In the Attribute field, select the attribute to be used to give the points from one of the following options:

  • Transaction attributes
  • Member attributes
  • Promotion Attributes
  • Partner Attributes
  • Product Attributes

This task is a step in Process of Setting Up Loyalty Programs.

Distance Table

The distance table is found below the Loyalty Programs tab. You can use it to add airport code pairs and specify the distance between them. These distances can be used by the base promotion to give points to a member. For more information, see Defining the Distance Between Two Airports.

For example, a member, John, flies with King Air. John flies between New York and Paris. The distance between the two airports has been entered as 5000 miles in the distance table. The base promotion calculates the base points as 5000, based on the distance table. An accrual admin promotion gives the 5000 points to the member. In addition, John is a Gold tier member and has traveled in Class A. Based on these facts, the member recognition promotion gives 10% of the base points, and the cabin reward promotion gives another 500 points, to the member. John gets a total of 6000 points.

Custom Calculation

Custom calculation involves calling a custom business service to calculate the points and return a value. The custom business service can use data, by means of custom look-up tables outside of Siebel Loyalty, to calculate base points. This option is relevant when the base point calculation involves complex mathematical operations involving data stored outside of Siebel Loyalty.

Example of Custom Calculation

For example, VoiceMobile loyalty program rewards members with base points based on the following criteria:

  • One point for each dollar billed on Local calls
  • Two points for each dollar billed on Long distance calls
  • Four points for each dollar billed on VAS to the members.

A member of VoiceMobile loyalty program, has:

  • $100 bill amount on local calls
  • $250 on Long distance calls
  • $75 on VAS

This member is rewarded (100 plus 500 plus 300) 900 base points.

These base points can then be used as a basis for rewarding bonus and incentives. The base points are available for all the promotions.

For example, VoiceMobile loyalty program rewards 25% of base points as bonus to members in Gold tier. This member, who is a Gold member, earns 175 points as bonus (that is, 900 times 0.25 equals 175 points).

NOTE:  The Point Limit Type option is not available for users to choose, because you cannot limit base accrual points based on the point block.

Code Example for Custom Calculation

The value used in the custom calculation is sourced from the custom attribute defined in Program Level Attributes view. This custom attribute calls a custom function to derive this value. This function must be written as part of the LOY Customer Action Business Service.

The following example of the code for a custom function shows how to read Input parameters and return output arguments.

function GetValuesCustomAttribute(inputs, outputs)

{

try{

// All the field values would be in the format Object.Field.Field Name. All the

// values would be passed to custom attributes.

// Using transaction Id and querying transaction BC must be avoided because in

// simulation mode the attributes passed in transaction are passed to simulation.

// Always use the values from the Transaction.Field.Field Name.

var strOrgAirPort = inputs.GetProperty ("Transaction.Field.Origination Airport");

var strDestAirPort = inputs.GetProperty ("Transaction.Field.Destination Airport");

var customCoeff = inputs.GetProperty ("Transaction.Field.Custom Coeff Factor");

var points = 0;

if(strOrgAirPort == "SFO" &&strDestAirPort ="BOS")

points = 200 * customCoeff ;

outputs.SetProperty("Field Value",points);

}

catch(e)

{

TheApplication().RaiseErrorText(e.toString());

}

finally

{

}

}

Siebel Loyalty Administration Guide Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.