YMCAs have many different integrations with third party providers technology providers. The aim of this document is to share some architectural details of integrations and encourage collaboration to improve Open Y functionality.
Integrations are usually related to following functionality:
- Group training
- Personal training
- Single Sign-On (SSO)
- Payment gateways/ECommerce
Here is a list of some of the most commonly used systems leveraged by YMCAs in the US to power the functionality above:
- Facebook Events
- Google Calendar
- GroupX Pro
Open Y is at various stages of integrations with these systems. Some integrations do not yet exist but are planned. Here are more details on the specifics of each integration:
Personify(Greater Twin Cities)
- SSO integration (planned): Once a customer is logged into their Personify account, we display their name on the Drupal website, and we display the ability to link directly to their account details in addition to the ability to log-out. This is accomplished by recognizing a custom cookie and requesting the user credentials from Personify’s API.
- Programs: Content must be manually entered in Drupal and is not yet synchronized from Personify. Drupal has links to various pages in Personify's eCommerce platform with where visitors can register and pay for the program.
- Personal Training (planned): Personal Training sessions, schedules, trainer information, and customer information is stored in MINDBODY. To purchase training sessions, a customer navigates to the product detail page in Personify, and the purchase information is then fetched by Drupal and imported into MINDBODY via API. To schedule a session, Drupal first grabs the trainer schedules from the MINDBODY API, then when a customer selects an available timeslot, they must authenticate via the Personify SSO integration which checks with MINDBODY if sessions are available. If sessions are available, the booking is scheduled via the MINDBODY API. If sessions are unavailable, the customer is redirected to the Personify product detail page to purchase more sessions. Further logic and caching rules are built in to limit the number of calls to the MINDBODY API as there are strict limits on a number of times the API can be accessed in a 24 hour period.
- Group Training: Free group fitness classes are displayed in a simple schedule through the GroupExPro API. (example)
- Programs: Programs are imported from Active Net to Drupal using real-time Restful APIs. Additional programs and content related to programs have been manually added into Drupal by local editors but can be imported using real-time Restful APIs as well.
- Imported from ACTIVE Net: Classes and Lessons. Manually added: Programs, Subcategories Activities.
- Group Training: Imported from ActiveNet to Drupal (example)
- Personal Training: Imported from ActiveNet. Links off to ActiveNet for registration (example)
- ACTIVE Net has real-time Restful APIs to import the following into Drupal for a very deep integration.
- Programs, group training, classes, lessons, flex registration, membership, and customer data
- ACTIVE Net can also integrate with Drupal using https://www.drupal.org/project/shib_auth for single sign-on.
- Limitations in the current Daxko APIs(1.0) have prevented us from importing programs into Drupal. As a workaround, YMCA Houston built a multistep process where a visitor can select a location, program/activity, and then become redirected to the appropriate registration page within Daxko to complete the process.
- YMCA Houston is working on approaching Daxko 2.0 API integration to get a list of ChildCare and Programs modules sessions in a multistep manner. ETA for the solution going live is November 2017.
- SSO is not currently possible with the Daxko API.
- More details about recent enhancements to the Daxko Integrations can be found here.
Summary Table of Integrations
|Personal Training||Buy/Book/Schedule||Import/Register||-||-||Display Schedule|