SlideShare a Scribd company logo
1 of 29
Download to read offline
Combine Both Clicks and Code
Michelle Paul
Director of Product Development, Patron Technology
michelle@patrontechnology.com
@fuzzydinosaur
to Build Customizable Mobile Apps
David Esposito
CTO, Patron Technology
dave@patrontechnology.com
What is PatronManager?
Arts and culture organizations need CRM too!
PatronManager: Box Office Ticketing & Fundraising
Our clients:
• 580+ arts & culture orgs
• In the US and Canada
• Theatres, orchestras, dance
companies, museums
Their business:
• Selling general admission and
reserved seating tickets and
subscriptions
• $150M total credit card sales
processed in 2014
(all within Salesforce!)
PatronManager: Box Office Ticketing & Fundraising
8 managed packages
Custom objects
• Event Inventory (Event, Price Level,
etc)
• Ticket Order, Ticket Order Item
Online ticketing too!
Lots of code…
And our Client Administrator
team
(all within Salesforce!)
PatronManager: Box Office Ticketing & Fundraising
Do the tasks that need to get
done
• Quickly
• Correctly
• Securely
Build a relationship with
patrons
• By making them feel “known”
37%
46%
52%
0%
10%
20%
30%
40%
50%
60%
…donate …tell my friends …attend more
often
When an arts organization seems to know me personally,
I’m more likely to…”
What’s most important?
Source: PT Arts Patron Survey 2015
Peggy: Major donor
Roger: First-time
attendee
Megan: Former subscriber
Betty: Board member
Francine: Betty’s friend
brokentrinkets
PatronManager: Combining Clicks & Code
HTML5 hybrid app using
mobile SDK
Native hardware integration
with on Android
Apex REST for other apps
And button-click developer
tools like Process Builder,
Workflow, etc.
Box Office Express
For selling tickets quickly!
Box Office Express
Sell quickly and easily
While still accessing your data
Sell tickets from anywhere!
Box Office Express
Sell quickly and easily
While still accessing your data
Sell tickets from anywhere!
Box Office Express
Nexus 9 tablet with swiper
Cash or credit card sales
Designed for speed
Sell tickets from anywhere!
Box Office Express
Visualforce page "hosting"
Backbone.js app
Styling via Salesforce
Foundation's SF1 build of
Twitter Bootstrap
Can be delivered in Android
hybrid container or desktop
browser
How it's built
Box Office Express
Salesforce Mobile SDK
bootstraps authentication
Visualforce page "hosting"
Backbone.js app
Backbone app maintains
cache of seat inventory to
minimize roundtrips to SFDC
Visualforce Remoting to talk to
SFDC
Cordova Plugins to talk to card
swiper SDK and printing
framework
Architecture
Android Hybrid App
(Salesforce Mobile
SDK)
Apex Controller
@RemoteAction
methodsVF
Remoting
Visualforce Page
Backbone.js
Twitter
Bootstrap
Cordova
Cordova Plugins
Google Cloud
Print
Card Swiper
SDK
Box Office Express
Native hardware access
• Cordova plugins for interfacing
with credit card swiper SDK
• Keeps app out of PCI scope
using Point to Point Encryption
(P2PE) hardware
Ticket printing
• via Android Printing Framework
to Google Cloud Print
Allows us to control soft
keyboard input layout
Why Android Hybrid?
What Happens Next?
Creating custom processes based on real-time ticket sales
VIP Alerts
Post to Chatter
• Let the staff know when an
important patron arrives
Get email / push notifications
• Right on your phone with SF1
• Or even on BOE tablet!
Real-time notifications about specific purchasers
How We Did It
Criteria:
• New Ticket Order is created
• Processed through Box Office
Express
• Attached to a VIP Contact
Action:
• Post to the “Front of House”
Chatter Group
• Include a link to the Contact
record
Process Builder!
TicketOrder__c.Contact__r.VIP__c Equals Boolean True
[Field] [Operator] [Type] [Value]
TicketOrder__c.OrderStatus__c Equals Picklist Complete
TicketOrder__c.EntryMethod__c Equals String BOE
Why It’s Custom
Different definitions of “VIP”
• Major Donors
• Board Members
• Repeat volunteers
Different staffing situations
• Front of house staff
• Development Director
• Executive Director
What’s a “VIP”? Who should know about it?
Box Office Express
Demo
Barcode Scanning
Validate tickets and send alerts
Barcode Scanning
Track attendance
• Updates a field called “Entry
Date” on Ticket Order Items
Access control
• Warns the user if a ticket has
already been scanned, or if it’s
not a valid ticket
Why?
Barcode Scanning
100% native Android app
Integrates methods of QR
code capture
• Camera (cheap and cheerful;
but a little slow)
• SocketMobile Bluetooth 2D
imager (must be paired with an
Android device)
Validates ticket and updates
Salesforce with admission
date
How it works
What Happens Next?
Creating custom processes based on someone’s arrival
VIP Alerts – text message version (using Email Alerts)
Criteria:
• Ticket Order Item “Entry Date”
exists
• TOI belongs to a VIP Contact
Action:
• Fire an Email Alert
• Recipient = text-able email
address (like 914-555-
9311@txt.att.net)
• Includes VIP Name & link to the
Contact
“Elvis has entered the building!”
Barcode Scanning
Quick Demo
In Conclusion
Our combined approach
Box Office Express Barcode Scanner
Front End
HTML5
Twitter Bootstrap
Backbone.js
Native Android
Back End
Visualforce Remoting
Native Cordova Plugin
Apex REST
Native integration with Scanner SDK
Declarative Process Builder to fire a Chatter alert Process Builder to email-to-SMS
Technology Used
Conclusion
Clicks and Code
Product, not consulting
Code for global requirements
Button-click development
gives us a huge opportunity
Universal features with customized end results
Thank you
Michelle Paul
Director of Product Development, Patron Technology
michelle@patrontechnology.com
@fuzzydinosaur
David Esposito
CTO, Patron Technology
dave@patrontechnology.com

More Related Content

What's hot (6)

ELEKS-Personalized-In-Store-Experience
ELEKS-Personalized-In-Store-ExperienceELEKS-Personalized-In-Store-Experience
ELEKS-Personalized-In-Store-Experience
 
About peatix
About peatixAbout peatix
About peatix
 
Leveraging Sitecore to Create a Completely Connected Customer Experience
Leveraging Sitecore to Create a Completely Connected Customer ExperienceLeveraging Sitecore to Create a Completely Connected Customer Experience
Leveraging Sitecore to Create a Completely Connected Customer Experience
 
Zessta proximity marketing
Zessta proximity marketingZessta proximity marketing
Zessta proximity marketing
 
Quark - Smart Customer-Loyalty and Feedback Solutions
Quark - Smart Customer-Loyalty and Feedback Solutions Quark - Smart Customer-Loyalty and Feedback Solutions
Quark - Smart Customer-Loyalty and Feedback Solutions
 
Travelportal
TravelportalTravelportal
Travelportal
 

Viewers also liked

Iron Gate Presentation Halftime 2011
Iron Gate Presentation Halftime 2011Iron Gate Presentation Halftime 2011
Iron Gate Presentation Halftime 2011
stevcogg
 

Viewers also liked (8)

Iron Gate Presentation Halftime 2011
Iron Gate Presentation Halftime 2011Iron Gate Presentation Halftime 2011
Iron Gate Presentation Halftime 2011
 
Bridging the Gap between Clicks & Code
Bridging the Gap between Clicks & CodeBridging the Gap between Clicks & Code
Bridging the Gap between Clicks & Code
 
Developing on the Salesforce Platform With Clicks, Not Code
Developing on the Salesforce Platform With Clicks, Not CodeDeveloping on the Salesforce Platform With Clicks, Not Code
Developing on the Salesforce Platform With Clicks, Not Code
 
Developers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 PlatformDevelopers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 Platform
 
Introduction to Point-and-Click App Building
Introduction to Point-and-Click App BuildingIntroduction to Point-and-Click App Building
Introduction to Point-and-Click App Building
 
Clicks vs code df14pptx
Clicks vs code df14pptxClicks vs code df14pptx
Clicks vs code df14pptx
 
Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17
 
Configuration in Disguise
Configuration in DisguiseConfiguration in Disguise
Configuration in Disguise
 

Similar to Combine Both Clicks and Code to Build Customizable Mobile Apps

Intelligent Decision Dimensions for Banking in English and Azerbaijani
Intelligent Decision Dimensions for Banking in English and AzerbaijaniIntelligent Decision Dimensions for Banking in English and Azerbaijani
Intelligent Decision Dimensions for Banking in English and Azerbaijani
Tatiana Kojar
 
Sample - EFutures mobile-solutions
Sample - EFutures mobile-solutionsSample - EFutures mobile-solutions
Sample - EFutures mobile-solutions
Nsid123456
 

Similar to Combine Both Clicks and Code to Build Customizable Mobile Apps (20)

Value proposition of SSI tech providers - Self-Sovereign Identity
Value proposition of SSI tech providers - Self-Sovereign IdentityValue proposition of SSI tech providers - Self-Sovereign Identity
Value proposition of SSI tech providers - Self-Sovereign Identity
 
Brander general presentation_en
Brander general presentation_enBrander general presentation_en
Brander general presentation_en
 
ITS OFFICIAL ! FLYCOIN premium kiosk for bitcoin, paypal, digital money is he...
ITS OFFICIAL ! FLYCOIN premium kiosk for bitcoin, paypal, digital money is he...ITS OFFICIAL ! FLYCOIN premium kiosk for bitcoin, paypal, digital money is he...
ITS OFFICIAL ! FLYCOIN premium kiosk for bitcoin, paypal, digital money is he...
 
Tech Tools to Transform Your Events
Tech Tools to Transform Your EventsTech Tools to Transform Your Events
Tech Tools to Transform Your Events
 
Ara - Visitor Management System
Ara - Visitor Management SystemAra - Visitor Management System
Ara - Visitor Management System
 
Backbase Webinar: Next Level Mobile Banking
Backbase Webinar: Next Level Mobile Banking Backbase Webinar: Next Level Mobile Banking
Backbase Webinar: Next Level Mobile Banking
 
Dorset Business Women Go Digital: 3rd Oct 2014 Conference: Digital Technologi...
Dorset Business Women Go Digital: 3rd Oct 2014 Conference: Digital Technologi...Dorset Business Women Go Digital: 3rd Oct 2014 Conference: Digital Technologi...
Dorset Business Women Go Digital: 3rd Oct 2014 Conference: Digital Technologi...
 
Startup Highway Workshop
Startup Highway WorkshopStartup Highway Workshop
Startup Highway Workshop
 
Creating an Omnichannel Banking Experience with Machine Learning on Azure Dat...
Creating an Omnichannel Banking Experience with Machine Learning on Azure Dat...Creating an Omnichannel Banking Experience with Machine Learning on Azure Dat...
Creating an Omnichannel Banking Experience with Machine Learning on Azure Dat...
 
Backbase Webinar: Customer OS
Backbase Webinar: Customer OSBackbase Webinar: Customer OS
Backbase Webinar: Customer OS
 
Palsoft company information
Palsoft  company informationPalsoft  company information
Palsoft company information
 
Boothleads, A mobile based lead retrieval application for your smart devices.
Boothleads, A mobile based lead retrieval application for your smart devices.Boothleads, A mobile based lead retrieval application for your smart devices.
Boothleads, A mobile based lead retrieval application for your smart devices.
 
Mobile application en
Mobile application enMobile application en
Mobile application en
 
Intelligent Decision Dimensions for Banking in English and Azerbaijani
Intelligent Decision Dimensions for Banking in English and AzerbaijaniIntelligent Decision Dimensions for Banking in English and Azerbaijani
Intelligent Decision Dimensions for Banking in English and Azerbaijani
 
SPSNYC2019 - What is Common Data Model and how to use it?
SPSNYC2019 - What is Common Data Model and how to use it?SPSNYC2019 - What is Common Data Model and how to use it?
SPSNYC2019 - What is Common Data Model and how to use it?
 
SPS Cambs 07-09-18 - Getting started with Dodel Driven PowerApps
SPS Cambs 07-09-18 - Getting started with Dodel Driven PowerAppsSPS Cambs 07-09-18 - Getting started with Dodel Driven PowerApps
SPS Cambs 07-09-18 - Getting started with Dodel Driven PowerApps
 
Building Your Data Hub to Support Digital
Building Your Data Hub to Support DigitalBuilding Your Data Hub to Support Digital
Building Your Data Hub to Support Digital
 
Zapbuild Portfolio
Zapbuild PortfolioZapbuild Portfolio
Zapbuild Portfolio
 
Build Agile Business Processes with Microsoft Power Platform
Build Agile Business Processes with Microsoft Power PlatformBuild Agile Business Processes with Microsoft Power Platform
Build Agile Business Processes with Microsoft Power Platform
 
Sample - EFutures mobile-solutions
Sample - EFutures mobile-solutionsSample - EFutures mobile-solutions
Sample - EFutures mobile-solutions
 

More from Salesforce Developers

More from Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Combine Both Clicks and Code to Build Customizable Mobile Apps

  • 1. Combine Both Clicks and Code Michelle Paul Director of Product Development, Patron Technology michelle@patrontechnology.com @fuzzydinosaur to Build Customizable Mobile Apps David Esposito CTO, Patron Technology dave@patrontechnology.com
  • 2. What is PatronManager? Arts and culture organizations need CRM too!
  • 3. PatronManager: Box Office Ticketing & Fundraising Our clients: • 580+ arts & culture orgs • In the US and Canada • Theatres, orchestras, dance companies, museums Their business: • Selling general admission and reserved seating tickets and subscriptions • $150M total credit card sales processed in 2014 (all within Salesforce!)
  • 4. PatronManager: Box Office Ticketing & Fundraising 8 managed packages Custom objects • Event Inventory (Event, Price Level, etc) • Ticket Order, Ticket Order Item Online ticketing too! Lots of code… And our Client Administrator team (all within Salesforce!)
  • 5. PatronManager: Box Office Ticketing & Fundraising Do the tasks that need to get done • Quickly • Correctly • Securely Build a relationship with patrons • By making them feel “known” 37% 46% 52% 0% 10% 20% 30% 40% 50% 60% …donate …tell my friends …attend more often When an arts organization seems to know me personally, I’m more likely to…” What’s most important? Source: PT Arts Patron Survey 2015
  • 6. Peggy: Major donor Roger: First-time attendee Megan: Former subscriber Betty: Board member Francine: Betty’s friend brokentrinkets
  • 7. PatronManager: Combining Clicks & Code HTML5 hybrid app using mobile SDK Native hardware integration with on Android Apex REST for other apps And button-click developer tools like Process Builder, Workflow, etc.
  • 8. Box Office Express For selling tickets quickly!
  • 9. Box Office Express Sell quickly and easily While still accessing your data Sell tickets from anywhere!
  • 10. Box Office Express Sell quickly and easily While still accessing your data Sell tickets from anywhere!
  • 11. Box Office Express Nexus 9 tablet with swiper Cash or credit card sales Designed for speed Sell tickets from anywhere!
  • 12. Box Office Express Visualforce page "hosting" Backbone.js app Styling via Salesforce Foundation's SF1 build of Twitter Bootstrap Can be delivered in Android hybrid container or desktop browser How it's built
  • 13. Box Office Express Salesforce Mobile SDK bootstraps authentication Visualforce page "hosting" Backbone.js app Backbone app maintains cache of seat inventory to minimize roundtrips to SFDC Visualforce Remoting to talk to SFDC Cordova Plugins to talk to card swiper SDK and printing framework Architecture Android Hybrid App (Salesforce Mobile SDK) Apex Controller @RemoteAction methodsVF Remoting Visualforce Page Backbone.js Twitter Bootstrap Cordova Cordova Plugins Google Cloud Print Card Swiper SDK
  • 14. Box Office Express Native hardware access • Cordova plugins for interfacing with credit card swiper SDK • Keeps app out of PCI scope using Point to Point Encryption (P2PE) hardware Ticket printing • via Android Printing Framework to Google Cloud Print Allows us to control soft keyboard input layout Why Android Hybrid?
  • 15. What Happens Next? Creating custom processes based on real-time ticket sales
  • 16. VIP Alerts Post to Chatter • Let the staff know when an important patron arrives Get email / push notifications • Right on your phone with SF1 • Or even on BOE tablet! Real-time notifications about specific purchasers
  • 17. How We Did It Criteria: • New Ticket Order is created • Processed through Box Office Express • Attached to a VIP Contact Action: • Post to the “Front of House” Chatter Group • Include a link to the Contact record Process Builder! TicketOrder__c.Contact__r.VIP__c Equals Boolean True [Field] [Operator] [Type] [Value] TicketOrder__c.OrderStatus__c Equals Picklist Complete TicketOrder__c.EntryMethod__c Equals String BOE
  • 18. Why It’s Custom Different definitions of “VIP” • Major Donors • Board Members • Repeat volunteers Different staffing situations • Front of house staff • Development Director • Executive Director What’s a “VIP”? Who should know about it?
  • 21. Barcode Scanning Track attendance • Updates a field called “Entry Date” on Ticket Order Items Access control • Warns the user if a ticket has already been scanned, or if it’s not a valid ticket Why?
  • 22. Barcode Scanning 100% native Android app Integrates methods of QR code capture • Camera (cheap and cheerful; but a little slow) • SocketMobile Bluetooth 2D imager (must be paired with an Android device) Validates ticket and updates Salesforce with admission date How it works
  • 23. What Happens Next? Creating custom processes based on someone’s arrival
  • 24. VIP Alerts – text message version (using Email Alerts) Criteria: • Ticket Order Item “Entry Date” exists • TOI belongs to a VIP Contact Action: • Fire an Email Alert • Recipient = text-able email address (like 914-555- 9311@txt.att.net) • Includes VIP Name & link to the Contact “Elvis has entered the building!”
  • 27. Box Office Express Barcode Scanner Front End HTML5 Twitter Bootstrap Backbone.js Native Android Back End Visualforce Remoting Native Cordova Plugin Apex REST Native integration with Scanner SDK Declarative Process Builder to fire a Chatter alert Process Builder to email-to-SMS Technology Used Conclusion
  • 28. Clicks and Code Product, not consulting Code for global requirements Button-click development gives us a huge opportunity Universal features with customized end results
  • 29. Thank you Michelle Paul Director of Product Development, Patron Technology michelle@patrontechnology.com @fuzzydinosaur David Esposito CTO, Patron Technology dave@patrontechnology.com