Вы находитесь на странице: 1из 11

Events Management Database structuring and mapping out application ow [Admin] Framework * Login/out with hash-based session security

* One-click Password Recovery procedure (delivered via email)

[Admin] List / Search Bookings * Display ordered lists of Bookings * Split into multiple pages where required * Enable user to Sort by columns, ascending or descending by any sortable column * Link each row to relevant Invoice, Payment Entry, etc. * Filter by Event Type and/or Location * Single Search box analyzing a variety of elds, including Attendee Name(s) with partial matches returned as positive results, ranked for relevance * Search Results displayed in same style of sortable, paginated list * Expand listing interface to make this double as an effective Invoice browser / locator

[Admin] Administrator Management * Copy list functionality from List / Search Bookings, above * Create interface and functionality to Add new Admin users and trigger an email with their login details and a welcome message upon completion * Enable access to this module for Super Admin and Tech Admin users only * Only Super Admin users can Edit / Delete other Admin users, but never those who have created their own accounts * Welcome email dispatched on account creation containing login details for Admin system

[Admin] List / Search Members * Copy list functionality from List / Search Bookings, above * Involve only those Members with Events booked, even if cancelled; not the entire IS database * Link each row to relevant Member Prole, pre-ltered Bookings List, and show current account balance [Admin] Member Management * Ability to Add Members manually and ll in their Proles for them * Email conrmation of account creation to a newly sired Member * Functionality to retrieve or reset Login and Password on a Member's behalf, with new info delivered via email [Admin] Member Notications * Functionality to retrieve or reset Login and Password on a Member's behalf, with new info delivered via email * Ability to send the Member an email via an inline form * Apply and remove Comments or Messages to a Member's account, both visible and invisible to the Member upon his or her next Login * Enable batch application of Comments or Messages to multiple Members at once * Enable List / Search Members module to lter by Members who have manually applied Comments or Messages only

[Admin] Member's Attendance and Payment Records * Ability to manually update Events which the Member has attended in the past, which will also raise an unpaid Invoice so that there is something to update Payment Status against [Admin] Direct Links to Event Bookings * Ability to setup and email a direct link to a Member to simply ll in their details and pay for a Booking

[Admin] Invoices & Manual Payment Entry * Invoice View for Administrators allows them to view any Member's Invoices and perform some actions, described below * Option to Enter Payment on any Invoice enables Administrators to manually log EFT and other kinds of payments * Option to Remove Payment Entry * Option to Update Payment Entry * Option to manually Log Refund [Admin] Late Fees * Interface and functionality for Admin users to add a penalty fee line item to any given Invoice [Admin] Cancellations * Enable Admin to Cancel any booking from the List / Search Bookings interface * Admin user taken to manually Log Refund routine after Cancellation is processed, enabling them to return payment less deposit (automating Refunds via PayPal API or similar would always result in a full refund) * Refund to be logged alongside Invoice # to which the original Payment was applied [Admin] Event Transfers * A Member may book and pay for an Event, decide not to attend the event, and request their paid fees to be transferred to another Event * The transfer will need to be done manually by an Admin user, who will need the ability to specify how much of the funds are transferred to another Event or just held as a Credit on the Member's account * Credit (any single transaction to a positive Balance) will only be valid for 12 months * Transfer to be processed as a Refund (Credit Note) followed by a Payment from Credit * Cancel the Booking and void the Invoice relating to the rst Event * Raise a new Booking and Invoice for the desired Event as though the user had gone through the shopping cart themselves * Create a Payment transaction entry from Credit * Raise a (probably) partially paid Invoice, and immediately schedule Payment Reminders for any outstanding balance * If desired Event is cheaper than the rst, Credit is retained to reect the difference [Admin] Global Settings * Name of Booking Portal used in page titles, etc. able to be edited * Contact email addresses for various parties at company able to be managed * Contact details for company also made manageable [Admin] Promotional Codes * Sortable, paginated listing interface based off code for List / Search Bookings

* Enable Admin users to Add / Edit / Activate / Deactivate Promotional Codes, which are essentially alphanumeric strings which would invoke a specied discount during the Checkout procedure * Editing disabled in case the Promo Code has been claimed already * Ensure Promotional Codes being added are unique * Expiry Date required for all Promotional Codes (this can be edited to reintroduce a previous Promo at any time) [Admin] Event Template Setup * Event management system streamlines adding and managing your events * Images of various sizes (thumbnail, large preview, and full-sized) may be uploaded with resized copies auto-generated and stored for each Event * Media clip uploads (audio and video) * Description and details of events * Specication of up-sell (companion) products or events * Testimonials relevant to the Event * Enable upload of downloads (i.e. PDF les) associated with a given event [Admin] Event Listing Setup * Specify (potentially multiple) Locations and Dates for an Event template * Setup when deposit and nal payment is due * Capacity management enables optional setting of Event's current capacity for more Bookings (auto-updated when Bookings are marked as Paid), at which point new Bookings are no longer automatically accepted and the Event is marked as Sold Out [Admin] Event Payment Schedules * Enable the creation of Payment Schedules which apply to a given Event via three parameters: % deposit, cut-off date for payment in full, % early bird discount, early bird discount cut-off date * Auto-calculate dispersal of reminders customized to each attendee according to the time frame between Booking and the Event itself * Emails to contain a reminder of how many days until the Event alongside their outstanding Balance * Automated reminders emailed about surpassing the early bird cut-off date * Email templates to be editable via [Admin] Email Content module [Admin] Event Locations * Allow for the creation of a full Location prole setup * Ability to make Notes on the Location (shown and hidden from public), including local Hotels with pre-arranged deals * Google Map and GPS coordinates shown * Specify multiple Transit Routes, Closest Bus / Tube / Train Station / Airport, etc. * Contact People at location (markable as shown or hidden from public) [Admin] Event Payment Recipient Customization * Ability to customize the recipient of payment submitted via particular Payment Gateway(s) for non-Bundled, specic Events [Admin] Bundles * Develop a multiple selection interface containing upcoming Events * Enable Admin users to specify multiple Events which combine to form a Bundle * Set Total Price for the Bundle per person

* Sortable, paginated listing interface based off code for List / Search Bookings * Enable Admin users to Add / Activate / Deactivate Bundles (not Edit, in case the Bundle has been claimed already) [Admin] Event Categories * Add / Edit / Delete Event Categories * Sortable, paginated listing interface based off code for List / Search Bookings * Specify Tags to communicate to InfusionSoft for association with a Member's Prole upon successful Booking of a related Event * Link each row to ltered list of relevant Events [Admin] Tie Payment Gateways to Countries * Develop a multi-select interface which enables Admin users to easily set the default Payment Gateway(s) for a wide selection of Countries * As Payment Gateway integration requires a developer's direct intervention, Admin users will not be provided an interface to Add Payment Gateways [Admin] Email Content * Enable Admin users to manage Email Content for a variety of auto-generated emails which are described in this document * Develop a templating system such that Admin users can enter ::rstname:: ::lastname:: or similar to replace variables * Listing interface for Email Contents

[Events] List / Search Events * Search / Filter by Category and/or Location * List / Browse Events by Date (default) * Design clean, content-oriented browsing interface * Display results in paginated format [Events] View Event * Full page dedicate to a single Event, with all features and media from the Event Template, customized according to the Event Listing specications * List relevant Bundles in an attempt to up-sell the visitor; those Bundles the Event being viewed is included within * Include a prominent "Book Now" and less prominent "Book Later" link; "Book Now" adds the Event to the Bookings Cart; see below for "Book Later" functionality [Events] Book Later * Visitors will be able to book on the spot, or come back and book when they are ready to do so * This will be achieved by a short form which asks for their email address * Reminders with special links in them to shortcut the procedure will be dispatched via an automated task (which runs daily) at an appropriate interval before bookings close, or when capacity nears fullness [Events] Geo-IP * Acquire a database of IP address ranges coupled with geographic locations * Perform speed-optimized lookups on this table to determine geolocation of the current visitor [Events] Share

* Enable social sharing via AddThis widget, plugging in to Facebook, Twitter, MySpace and more * Links passed on pont directly to the View Event page [Events] Email * Provide simple form which enables visitors to email direct links to View Event pages to their friends * Pre-populate elds if visitors is a logged-in Member [Events] Print * Create a print-friendly template for View Event pages which excludes menu / navigation elements and so forth * Automatically pop up Print dialogue box when print-friendly template is invoked [Bookings] Shopping Cart * Clean interface and functionality developed * Shopping Cart contents stored in a browser cookie which lasts as many months as possible, so that even visitors without membership can retain their cart's contents across visits * Automatically remove Events from the Shopping Cart where they are sold out, in the past, or no longer accepting Bookings for any other reason * Enable Members to adjust quantities and review their order before checking out * From within the Shopping Cart, returning Memebers are able to Login without disrupting Checkout ow, instead of lling out Contact and Address details manually [Bookings] Checkout * Visitor presented with options to Login (if logged out) or ll in their Prole * Pre-populate Prole elds if user is logged in * On submit, summon InfusionSoft data through the API to check whether a Member record exists already * Where appropriate, Add the Member record in InfusionSoft via the API * Where the visitor exists already, Update the Member record in InfusionSoft via the API * On success, pass InfusionSoft data to a browser session cookie [Bookings] Multi-party Bookings * Ask the client who they are booking for, with various options made available to them for selection: * Myself where the client is booking one ticket for themselves * Myself and my partner where the client is booking for a couple * Myself and/ or my family where the client is doing a family booking * Myself and/ or a group where the client is making multiple bookings for other people * On someone elses behalf where possibly a secretary is booking for their manager * As a guardian for a minor where a parent is booking for a child * After selecting who they are booking for, the client will then be required to ll in the additional booking details (name and email address) required for the people they are booking for as some of these people may already be on the system and eligible for refresher pricing (to be checked on InfusionSoft via email addresses; see [Bookings] Pricing Options below) [Bookings] Batch Attendee Uploads * A company may register a large number of attendees in one go, with the ability to upload an Excel spreadsheet containing a list of names, email addresses and telephone numbers * Instructions to save Excel spreadsheet as CSV (comma-separated values)

* Illustration of required Columns and their sequence displayed prominently alongside spreadsheet upload form * Appropriately formatted spreadsheet template available for download * Code to extract variables, validate data, and initiate validated records as unique attendees of the Event(s) concerned [Bookings] Pricing Options * Examples of pricing options to be available to the client are as follows: * Current early bird price or standard price (will also need to display the savings on the price, if there are any) * Programme package price (either packages of multiple programmes bundled together or a programme with physical and download products as a bundle) * Refresher price (only available if the client has been tagged in IS with having the done the program before) Deposit option with set payment plan (all payments will need to be up to date before the start of the event) * Couple Pricing (for two people at a time) * Family Bookings (for multiple bookings, up to a maximum of 5 people) * Group Bookings (for multiple bookings from 6 bookings upwards)

[Bookings] Promotional Codes * Corporates or sponsors may enter their Promo Code for discounts on Bookings * Validate the Promo Code by verifying it's current status and expiry date * Apply a relevant discount associated with the Promo Code in use * Display the savings enjoyed by use of the Promo Code [Bookings] Invoices / Transaction Storage * Create permanent record of Shopping Cart contents alongside Payment Status and Member ID * Invoices are auto-generated with full order details and current status made available in the Member Panel * Unpaid Invoices will have appropriate bank details or payment instructions displayed (set via Manager Panel) * Include the option to settle an Unpaid Invoice via credit card, integrated with your payment gateway of choice * Invoices are automatically agged as Paid when online credit card payment is complete, if balance meets Invoice Total * See [Members] Invoices for display and interaction [Bookings] Payments * Determine which Payment Gateway(s) to offer, based on Admin settings under "Tie Payment Gateways to Countries" coupled with the visitor's Geo-IP result, reverting to default Payment Gateway(s) if no matches are found * Shopper can choose between online (credit card / Visa debit card / PayPal) payment or ofine (EFT / Internet banking / cash deposit) payment options [Bookings] Reminders * Via automated script scheduled to run daily, dispatch emails to registered attendees of a given Event a week or so before said Event takes place (irrespective of payment status) * Booking Reminder messages to be editable via [Admin] Email Content [Bookings] Notications

* Once the transaction has gone through, the client will receive an email notication thanking them for their payment and conrming all the details of the purchase * Internal departments (Accounts and Events) will be notied that a completed transaction has been made * Should the transaction fail for any reason, the client will receive a notication of the failed transaction with a message that we have been notied that the transaction has failed and that we will contact them to assist with their transaction * Internal departments (Accounts and Events) will also be notied of the failed transaction * Tech/ Support/ Online department also notied to ensure that there is not a technical error for the failure of the transaction * These emails are to be editable via [Admin] Email Content

[Bookings] InfusionSoft Tagging * Upon Booking conrmation, apply Tag(s) to a Member Prole, via the InfusionSoft API, appropriate to the Event Category just booked * Tags per Event Category dened by Admin users [Bookings] Related Material Delivery * Deliver any relevant download(s) via [Admin] Event Template Setup in the form of autogenerated email attachments (where le size permits) or direct links (for larger les) to the Member's email address [Bookings] Cancellation / Refunds * If the client has requested a refund, the Accounts department will need to issue a refund code, which will be placed with a description against the transaction history in the Member's prole to ensure that the prole is kept up to date with actual payment history of the client * The accounts department will need to follow standard procedures in doing the physical refund via banking * Once the refund has been logged under [Admin] Invoices & Manual Payment Entry, the client will receive an email notication with regards to the refund * The following internal departments will additionally be notied via email: Accounts, Events, Management * In the case of a Cancellation, partial Refunds must assign any remaining funds (i.e. Deposit) to a Credit on the Member's account (see [Members] Credit) [Members] Account Creation * See [Bookings] Checkout * Aside from during the Checkout procedure, visitors are of course welcome to create an account with us at any time * Interface provided for Account Creation outside of Checkout [Members] Account Framework * Login/out with hash-based session security * One-click Password Recovery procedure (delivered via email) * Protect Sign-up processes with CAPTCHA (human verication) routine * Email-based account activation procedure (to conrm ownership of email address) [Members] Signup Conrmation * Email Member his or her Login details and a welcome note upon account activation * Message to be manageable under [Admin] Email Content

[Members] Prole Management / Account Closure * Enable Members to edit their own Prole and Delivery Address * Update InfusionSoft records upon saving changes * Self-initiated Account Closure with invitation to leave feedback, plus last-second option to send feedback without closing the Account * Note: No data will be wiped from the Database on account closure; the account will simply be tagged as closed, thereby preserving the Member's details for historical records or should the client wish to rejoin * Display Head Ofce contact details in case of any queries [Members] Order History * Enable Members to browse their own Invoices and Transactions * List results in a paginated interface with sortable columns, as described in [Admin] List / Search Bookings * Link each row to it's related View Invoice interface [Members] View Invoice * Develop a clean, easily understood Invoice template * Develop a print-friendly template for Invoices, automatically loading the Print dialog when viewed * Prominently overlay a "stamp" on each Invoice indicating it's status: Paid / Unpaid / Void * Include EFT deposit details on Unpaid Invoices * Include a link submitting Invoice information directly to valid online Payment Gateway(s) on Unpaid Invoices, enabling Members to conveniently pay outstanding Invoices via card [Members] Payment Reminders * Script written to scan daily for Unpaid invoices which t one of the following criteria: * a) Invoices which have been Unpaid for more than a week, which have not had a Payment Reminder sent and logged * b) Invoices which remain Unpaid for Events with cut-off dates within the coming 3.5 days * Payment Reminders are emailed to the Member, and logged in the Database * Payment Reminder email content made editable under [Admin] Email Content [Members] Balances * Maintain and display a Balance on Member's Accounts * Balances will always be 0.00 or less, and are meant to reect outstanding amounts only (see [Members] Credit below) * Display Balance in appropriate locations throughout the Member and Admin systems * Balance maintained as seperate account to Credit such that a Member can have positive Credit and a negative Balance at the same time; this facilitates selective spending on Credit, and streamlines treatment of Credit as distinct transactions which expire after a period of time (see [Members] Credit Expiry)

[Members] Credit * Maintain and display a Credit on Member's Accounts * Credit applied to a Member's account via Credit Notes raised due to overpayment, cancellation, refund or transfer (see [Admin] Event Transfers)

* Write a patch for the Shopping Cart to optionally apply partial payment from existing Credit (only where the recipient is not overridden -- see [Admin] Event Payment Recipient Customization) * Display Credit in appropriate locations throughout the Member and Admin systems [Members] Credit Expiry * Setup automated script, scheduled to execute weekly, which will scan all Members' Balances for Credit and the date each relevant transaction was logged on their account * Trigger email notications of contributions to Credit which are approaching their 12-month expiry date * Enable management of this email via [Admin] Email Content module; we recommend including links to nd upcoming Events for which Credit will be eligible as a form of payment * Weekly automated task scours Member accounts to calculate and raise an Invoice and then Payment from Credit to effectively "expire" any amount, or remainder of an amount, related to a Credit Note which is older than 12 months [Members] Payments from Credit * Apply payment from Credit as individual transaction logged alongside any accordingly discounted transaction for actual incoming funds * Deal with considerations for Financial Reports, disregarding Payments from Credit as incoming funds contributing to the total, but displaying them nonetheless [Members] Balance Alerts * If negative Balance is held, raise a prominent notication of this with a link to view the outstanding Invoices whenever a Member logs in * If a Credit is held, raise a prominent notication of when each amount expires [Members] Messages / Comments * Raise prominent notication(s) upon Member login of Messages / Comments manually entered via [Admin] Member Notications * Exclude those agged as invisible! [Members] Newsletter Subscriptions * Modify Checkout and Signup interfaces to contain a list of checkboxes determining those Newsletters to which the visitor wishes to subscribe * If logged in, check with InfusionSoft which Newsletters have been subscribed to by the current Member, and mark those as such (or exclude them from the list, since there is an Unsubscribe link in each mailing) * Integrate Newsletter subscriptions via the InfusionSoft API

[Reports] Framework * Admin panel listing all types of Reports * Database structure optimized for speedy Report generation according to specic elds queried, without spiking server load * Reports are displayed online in a tabular format * Reports are also able to be downloaded in an Excel-friendly format * Reports automatically generated and emailed (as Excel-friendly attachments) according to conguration le * All Reports to be constrained by Date Range, which is to be prominently displayed

[Reports] Personal Prole * No of new registrations and no of total registrations * Active vs non-active proles (ie logged in or active within the last 30, 60 or 90 days) [Reports] Events * No of attendees per event (total number of attendees and total number of paid attendees) * List of events per attendee * Comparison list between events of attendee numbers * Daily automatic update of registrations for events * Daily automatic update of cancellations * Path tracking of clients through events (conversion rates and pathways of clients through our system) [Reports] Finance * Daily update of all transactions * Daily update of payments pending * Daily update of payments pending per payment method * Daily update of payments pending per currency * Daily update of payments pending per program * Total income per program (or select combination of programs) * Total income per payment method * Total income per currency * Total income per region * Total number of refunds/programme transfers * Total number of unconrmed payments (still requiring conrmation codes from accounts) * Total income! [SEO] Search Engine Optimization * Search engine and human-friendly web addresses implemented via Apache rewrite rules * Slugs (unique plain-text phrases concatonated with hyphens) generated for Events so that web addresses need not contain ID numbers, and can be echoed such as /events/eventtype/event-name * Page content and HTML tags such as title, h1 and h2 used tactically to gain search engine priority on relevant keywords

[Conversion] Automated Follow-up and On-site Engagement * Log shopping cart cookie to database with Member ID * Send follow-up email to users with items in their cart for more than 24 hours without ordering (via automated daily script) * Integrate a direct online chat for Sales & Support, e.g. http://www.providesupport.com/ [Admin] Account Types & Permissions * Super Admin account(s) with access to everything * Events Admin accounts with access to events related queries * Accounts Admin accounts with access to nancial related queries * Technical Admin accounts with access to tech-related queries and maintenance * Appropriate account type session validation integrated throughout all Admin modules * Additional server-side validation immediately before effecting any changes to the database [Admin] Regional Limitations

* Specic options and data accessible to each Admin user may be limited by region (currently Global / SA / USA) * Developed in such as way as makes adding more regions simple enough, at a later date * Administrator Management options and appropriate permission validation to manage Regional Limitations of Admin users of all account types

Вам также может понравиться