Table of Contents

Proposed Plan


Executive Summary

Herein is a survey of the existing Website, CRM, and Ticketing implementation for the Bay Area Children’s Theatre, along with a technical plan for replacing and enhancing said implementation.

Several activities were engaged in to accomplish this:

  • Functional review of the implementation
  • Requirements gathering and discovery of current organizational processes
  • Articulation of use cases
  • Survey of existing code
  • Architecture of approaches to implementations and re-implementations
  • Research into existing libraries and services
  • Estimation of level of effort

The elements of the implementation project are:

  • Replace the Drupal Content Management System
  • Migrate existing content to the recommended platform of WordPress
  • Implement WooCommerce, as a foundation for the box office, and for additional BACT programs and merchandise sales
  • Implement OpenTickets, which extends WooCommerce and will provide the show management as well as the user check-out experience
  • Integrate data from OpenTickets and WooCommerce back into CiviCRM
  • Customize front-end use-cases with custom CiviCRM integrations, such as additional check-out steps to collect custom data, or streamline redeeming Flex Passes for logged-in users
  • Migrate and Transform legacy data to match new models

OpenTickets Feature Survey

OpenTickets is a WordPress plugin that utilizes the leading WordPress eCommerce solution, WooCommerce for doing event ticketing. OpenTickets and CiviCRM are complementary, as OpenTickets does not attempt any CRM functionality, and eCommerce can be a stretch for CiviCRM.

OpenTickets is open source. They make their core plugin completely free and the code is posted to GitHub for other developers to build on. However, most implementations will likely utilize their restricted licence add-ons. Because of the technology, even these licensed extensions have accessible source code and can therefore be modified and extended.

The key features that BACT needs and that are provided by OpenTickets are:

  • Seating Charts
  • Season, Flex-pass and multi-tiered ticketing
  • A shopping cart checkout experience
  • Show and performance model for events
  • Merchandise sales and cross-merchandising
  • Good support for mobile and tablet devices
  • Help desk support
  • Security and maintenance support for the platform
  • Open to integration with CiviCRM

More information on the features of OpenTickets is available here:

Estimate Components

CiviCRM Upgrade & Data Migrations/Transformations

We have validated that your CiviCRM instance was not extended in ways detrimental to a clean upgrade path.

However, five major version upgrades are required, and so we will practice extra care in validating the upgrade and set a budget for potentially unforeseen issues.

The CiviBoxOffice extension is a non-trivial extension and will take some attention to cleanly remove.

Finally, we concur with the proposal to re-model student and parent-child data in the CRM, though not necessarily coupled with the upgrade. The data transformation will be best approached after upgrading and doing other clean-ups, which could reveal other data clean-ups and transformations necessary.

OpenTickets Configuration & Trainings

Being a featureful component, the configuration of OpenTickets will be a substantial undertaking.

The degree of involvement by Ginkgo Street Labs is optional, and OpenTickets themselves can also provide support for the implementation. We are providing an estimate assuming maximum facilitation which includes requirements gathering, integration, configuration, documentation, and training. The goal will be to get a system tailored to BACT’s needs and enough staff training to carry the system forward. We anticipate that BACT will want to use all of the extensions for OpenTickets available with the Enterprise License.

CiviCRM and OpenTickets Data Integrations

OpenTickets, in tandem with WooCommerce and WordPress, will be capturing important data for the CRM.

We will create a custom extension that will watch for changes and synchronize data for use in CiviCRM. The data can then be used for marketing and communications, reporting, fundraising and development, and any number of other functions CiviCRM is capable of.

Events will be modelled in CiviCRM in much the same way as they are now. The big difference being that they are created and managed in OpenTickets. The custom code will be triggered by events created in OpenTickets, and propagate to Events created automatically in CiviCRM. The chief usage of Events in CiviCRM will be for working with participant records and reporting on Events in general.

Shopping Cart Customizations

OpenTickets and WooCommerce together, provide an online shopping cart box-office experience out of the box. Users may browse shows, add performances to a cart, and continue browsing for additional tickets. Additional merchandise may be added on as well, such as merchandise, etc.

In tandem with the propagation of data from OpenTickets to CiviCRM in the custom CiviCRM Extension, Data will be utilized from CiviCRM to customize the checkout process for BACT’s programs. These will be packaged into a WordPress plugin but may also work with a CiviCRM custom extension to expose new programming interfaces (APIs).

Email: Auto, Ad Hoc, and Blast

Many of our customers have considered using other email platforms because of the attractive and powerful email composition tools. With the integration of the Mosaico extension for CiviCRM, we believe that CiviCRM is again an equal contender, and because it houses the data and has powerful list management tools, deserves another look for all of your email use cases.

We can create, or train and support you in creating, the needed templates for your bulk or blast emails using Mosaico.

Avoiding today’s spam filters requires some care. It is however quite doable with a combination of following best practices for list hygene and system administration. We can assure the reputation of your email with the following measures:

  • Dedicated IP address
  • Submit list to an address verification service
  • Blacklist review and submit to removal
  • “Warm-up” IP with limited, select list sends to establish a positive reputation
  • Configure CiviCRM to process bounces and unsubscribe requests
  • Ensure DNS verification configurations (DKIM, SPF) and reverse DNS

In addition, we will facilitate specification and validation of all automated and transactional emails generated by both CiviCRM or WooCommerce. CiviCRM’s scheduled reminders features will be used to automate emails relative to a given date, such as a week or a day before a field trip or performance.

As part of the implementation of the new website CMS (Wordpress), we will ensure that users can manage their own email and contact preferences with a login to the site.

Student Matinee

Student Matinees are a special case of shows and are largely supported out of the box by Open Tickets.

We will customize the check-out experience with custom fields to be stored in CiviCRM, and ensure the CiviCRM integration appropriately models the Student Matinee Program.

Pre/Post-Workshop will be purchased as add-ons and also integrated into CiviCRM to keep custom data and manage follow-up to the request.

School Tour Program

School tours are another well supported use-case by OpenTickets, requiring custom data collection in the check-out process. Payment need not be collected at time of request. We will revisit the specification of the custom data requirements with you.

Classes & Camps

Classes and camps can be sold and tracked much like shows. Using OpenTickets to sell classes and Camps will enable using a calendar for the purchase experience as well as a common schedule management interface. BACT would like to sell individual-day passes, as well as full camp/course passes. We will have to flush-out the details of the implementation but WooCommerce supports multiple options for bulk and dynamic pricing. We are confident that we can have a solution that enables selling “bulk” tickets as well as individual tickets such that available seats can be tracked using WooCommerce’s inventory functionality.

As with shows, classes and camps will be integrated into CiviCRM as events. We will track registrations with events for each day. We will devise a method to link related events in a course or camp for management and reporting purposes.

Teachers will be given special access to CiviCRM through CiviCRM’s access control features that will enable pulling class rosters or updating Student contact records. Custom reports will be created to replace the current drupal views.

Donor Development

We would like to recommend a refresher assessment and consulting on BACT’s usage of CiviCRM for fundraising operations. At the very least, we need to assure that the new data modelling not only meets program requirements, but can be utilized to the fullest for development operations.

It will be a significant upgrade to the latest version of CiviCRM, so some re-orientation might be called for as well.

All of the desired functionality in the internal survey you provided us, are quite feasible with the latest version of CiviCRM. We do not recommend attempting all of these goals until after the OpenTickets integration project is complete, but it would be beneficial to plan for and flesh out requirements during the OpenTickets phase.

Content Management System

The selection of the Wordpress Content Management System was an obvious choice for several reasons:

  • Has taken a huge market-share. Wide adoption is an important feature of Open Source.
  • Straightforward to extend
  • Robust plugin marketplace
  • WooCommerce shares similar qualities as Wordpress as an Open Source project unto itself. Wide adoption, robust plugin ecosystem, straightforward to extend
  • Open Tickets (only available for WP) is a compelling product that doesn’t have a competitor in terms of features out of the box
  • Drupal major versions do not provide an upgrade path for many modules and customizations
  • Drupal 8, the preferred target version, is still considered experimental for hosting CiviCRM
  • Many drupal module creators have not made the jump to version 8

The degree of involvement of Ginkgo Street in the Content Management System can largely be at BACT’s choice. At minimum, we recommend that Ginkgo Street provide:

  • Facilitation of content type creation
  • Support for content creation
  • Coordination with theme implementor to integrate design and customizations to functionality in the theme
  • Facilitation of new Information Architecture and Navigation specifications

Project Timeline


  • Project initiation and development prerequisites


  • Flesh out specifications
  • Supplemental discovery
  • OpenTickets Implementation/Configuration
  • Foundations for custom data integrations


  • Data Migration Development and Staging
  • New Website Design
  • Website Content Creation
  • Complete data integrations
  • Website Theme implementation
  • Testing


  • Website Theme implementation (cont.)
  • Training
  • Final Testing
  • Deployment April 17 (monday)


  • Non-critical features
  • Additional training
  • Additional documentation
  • Final deployment(s)