How to Use Drupal to Build a Loyalty Redemption System
description
Transcript of How to Use Drupal to Build a Loyalty Redemption System
How to use Drupal to build a Loyalty Redemption Engine
Overview
1. Who are we ?
2. Loyalty Program - Why?
3. How does it work?
4. Project’s Requirements
5. Why Drupal
6. Architecture
7. Addressing Challenges
8. What’s next at Iksula?
Who are we?
12+ Years of Internet Expertise
150+ Employees
20+ Drupal Developers
200+ Websites powered by Iksula
Presenters
Samarjeet Singh
m
Somokanta Sharma
Head -Technologysomokanta@iksula.
com
Loyalty Program – why?
New Customer Acquisition is Expensive
Customers will always look for Options
Recognizing your Loyal Customers Lead to Long term Relationships.
Loyalty Program – why?
Capture
Analyze
Leverage
Reinforce
Loyalty Program – why?
Capture
Analyze
Leverage
Reinforce
Loyalty Programs increase customer Life time Value ( LTV )
Capture buying habits and preferences.
Loyalty Program – why?
Capture
Analyze
Leverage
Reinforce
Analyze Customer Segments
Generate Satisfaction scores
Analyze Churn
Calculate Lifetime value
Loyalty Program – why?
Capture
Analyze
Leverage
Reinforce
Create Customer Segmentation
Targeted Promotions and Rewards
Improve Customer Satisfaction
Loyalty Program – why?
Capture
Analyze
Leverage
Reinforce
Reinforce and Reward Desired Behaviors
Results in Increased Revenue
Increased Revenue
Retain Customers
Gain Customer Insight
Targeted Marketing Campaigns
Increase Spend and Frequency
Build brand Loyalty
Build Customer Relationship
Competitive Advantage
Acquire New customers
Gain customer insight
Loyalty Program-How does it work?
Customer Signs up for the
Loyalty Program
Loyalty Program-How does it work?
Customer Signs up for the
Loyalty Program
Activity
Loyalty Program-How does it work?
Customer Signs up for the
Loyalty Program
Activity
Earn Rewards
Loyalty Program-How does it work?
Customer Signs up for the
Loyalty Program
Activity
Earn Rewards
Redeem Rewards
Loyalty Program-How does it work?
Customer Signs up for the
Loyalty Program
Activity
Earn Rewards
Redeem Rewards
Activities
Customer Signs up for the
Loyalty Program
Activity
Earn Rewards
Redeem Rewards
Activities
Customer Signs up for the
Loyalty Program
Activity
Earn Rewards
Redeem Rewards
Activities
Purchases
Window shopping
Inquiry
Feedback / Review
Interaction
Reward Types
Customer Signs up for the
Loyalty Program
Activity
Earn Rewards
Redeem Rewards
Reward Types
Customer Signs up for the
Loyalty Program
Activity
Earn Rewards
Redeem Rewards
Rewards
Points
Vouchers
Discounts
What is a Loyalty Redemption System?
Customer Signs up for the
Loyalty Program
Activity
Earn Rewards
Redeem Rewards
Rewards
Points
Vouchers
Discounts
Project Requirements
Redemption Channels
Website
Call Center
SMS
Client’s Requirements
Rewards
Products
Gift Vouchers
Movie Tickets
Order Fulfillment ??
Client’s Requirements – Order Fulfillment
Rewards
Products
Gift Vouchers
Movie Tickets
Order Managemen
t System ( SAP )
Gift Portal
Ticket Booking Portal
Order Fulfillment
API
API
API
Why Drupal for this Project? Modular Architecture of Drupal
Availability of Ubercart modules for Redemption
“Services” module for Communication with External Applications
Custom Modules
Architecture
• Transaction
• Points• Customer
data
• Product api
• Order api
• Rules• Condition
al processes
Users Products
OrdersWork flow
engine
Architecture
• Transaction
• Points• Customer
data
• Product api
• Order api
• Rules• Condition
al processes
Users Products
OrdersWork flow
engine
Fetch product data
Architecture
• Transaction
• Points• Customer
data
• Product api
• Order api
• Rules• Condition
al processes
Users Products
OrdersWork flow
engine
Fetch product data
Push Orders
FetchOrder Status
Architecture
• Transaction
• Points• Customer
data
• Product api
• Order api
• Rules• Condition
al processes
Users Products
OrdersWork flow
engine
Fetch product data
Push Orders
FetchOrder Status
Fetch Customer data
Push Tx History
LMS
3rd PartySyste
ms
Architecture
• Transaction
• Points• Customer
data
• Product api
• Order api
• Rules• Condition
al processes
Users Products
OrdersWork flow
engineOrder Fulfillment
Fetch POS Orders
Fetch product data
Push Orders
FetchOrder Status
Fetch Customer data
Push Tx History
LMS
3rd PartySyste
ms
Loyalty Redemption System Flow
Loyalty RedemptionSystem (DRUPAL)
Products Customers
Orders
Stores
Work flow engine
Transactions Logs Services
Api Layer
Loyalty Redemption System Flow
Loyalty RedemptionSystem (DRUPAL)
Products Customers
Orders
Stores
Work flow engine
Transactions Logs Services
Website (Drupal)
Customer Care(Drupal)
SMS Gateway application(Custom PHP)
Api Layer
Loyalty Redemption System Flow
Loyalty RedemptionSystem (DRUPAL)
Products Customers
Orders
Stores
Work flow engine
Transactions Logs Services
•Browse products•Login•Update profile•Redeem products•Order status•Transaction History
Website (Drupal)
Customer Care(Drupal)
SMS Gateway application(Custom PHP)
Api Layer
Loyalty Redemption System Flow
Loyalty RedemptionSystem (DRUPAL)
Products Customers
Orders
Stores
Work flow engine
Transactions Logs Services
•LDAP•Customer Authentication•Update profile•Redeem products•Order status•Support queries
Website (Drupal)
Customer Care(Drupal)
SMS Gateway application(Custom PHP)
•Browse products•Login•Update profile•Redeem products•Order status•Transaction History
Api Layer
Loyalty Redemption System Flow
Loyalty RedemptionSystem (DRUPAL)
Products Customers
Orders
Stores
Work flow engine
Transactions Logs Services
•Mobile Number verification•Get balance points•Get Member Number•Redeem products•Order status
Website (Drupal)
Customer Care(Drupal)
SMS Gateway application(Custom PHP)
•Browse products•Login•Update profile•Redeem products•Order status•Transaction History
•LDAP•Customer Authentication•Update profile•Redeem products•Order status•Support queries
Api Layer
Challenges
Conditional checkout based on product types
Billing Info + Shipping Info
Billing Info + Shipping Info + email and phone
Billing Info + Shipping Info + email and phone
Challenges
Order structure – Ubercart vs SAPDefault Ubercart model:
Order id Nid Title Points Qty Subtotal
112 72 iPhone 4 S 100 2 200
112 73 Samsung Galaxy S3
150 1 150
Total 350
Order Status payment_received
ChallengesOrder structure – Ubercart vs SAPDefault Ubercart model:
Required model:
Order id Nid Title Points Qty Subtotal
112 72 iPhone 4 S 100 2 200
112 73 Samsung Galaxy S3
150 1 150
Total 350
Order Status payment_received
Order id Line item Id
Status Nid Title Points Qty Subtotal
112 10001 Despatched
72 iPhone 4 S 100 1 100
112 10002 Despatched
72 iPhone 4 S 100 1 100
112 10003 WIP 73 Samsung Galaxy S3
150 1 150
Total 350
Summary
Customer
Summary
Customer
Channels
Summary
• Transaction• Points• Customer
data
• Product api
• Order api
• Rules• Condition
al processes
Users
Products
Orders
Work flow
engine
Customer
Channels
Rewards
Loyalty Redemption Engine
Summary
• Transaction• Points• Customer
data
• Product api
• Order api
• Rules• Condition
al processes
Users
Products
Orders
Work flow
engine
Loyalty Management System
Customer
3rd party Systems
Channels
Rewards
Loyalty Redemption Engine
External Applications
What’s Next at Iksula?
Drupal 7 + Ubercart 3 + Oracle 11g
Drupal as an Order fulfillment engine
Thank you
Samarjeet Singh
m
Somokanta Sharma
Head -Technologysomokanta@iksula.
com