-
Introduction
This document outlines the integration between Flow and CoursePro, a software solution for managing lessons and courses. While CoursePro can function as a standalone product, integrating it with Flow provides a seamless experience for clients and their customers.
In this integration:
- Flow manages pricing, recurring payments, and user data.
- CoursePro handles course configuration, attendance, and reporting.
Flow is the source of truth for user details and membership statuses, while CoursePro synchronizes course-related actions such as attendance and cancellations.
Key Features of the Integration
Courses and Memberships
Flow powers the pricing and payment methods for courses in CoursePro. The integration supports three types of memberships:
- Recurring Membership: Monthly payments for ongoing courses.
- Fixed Membership: One-time payment for a course with a fixed duration (e.g., a 3-month course).
- Session Purchase: One-off session purchases, such as top-ups.
Platform Responsibilities
Flow Responsibilities
Functionality Description Pricing Configures the course price, whether recurring (e.g., monthly) or fixed (e.g., 3 months). Payment Type Manages recurring payments (e.g., Direct Debit) or one-off payments. Membership Status Updates membership status (e.g., active, suspended, or canceled) based on payment status. Access Control Issues access tokens for users attending courses, based on their membership status.
Functionality Description Course Configuration Configures courses, schedules, and settings. Course Management Manages course changes, cancellations, and updates. Attendance Tracking Tracks attendance and syncs attendance data with Flow. Reporting Generates attendance reports and other key metrics.
Pricing & Membership Configuration
Flow controls the pricing for all CoursePro courses. Pricing options must be created and assigned to memberships in Flow before mapping them to courses in CoursePro.
Steps to Configure Pricing and Memberships in Flow
Step 1: Access the Pricing Options Module
- Navigate to the Pricing Options module in Flow. Then select the Pricing Options sub-module.
- Click Create New Pricing Option.
Step 2: Set Up the Pricing Option
- Select CoursePro Course as the type. (This is essential for integration.)
- Enter the reference, price, friendly name and finance code for the course pricing option.
Step 3: Adjust Pricing by Centre or Group
You can configure different prices for the same course depending on the centre or group offering it.
Step 4: Configure Membership in Flow
- Create a new membership in Flow, selecting CoursePro Course as the integration type in the advanced tab before saving any other tab. For more information, please refer to this guide.
- Assign the pricing option created in Step 2 to this membership. (You can only assign one payment type per membership.)
Step 5: Note the Membership and Pricing Option IDs
Record the Membership ID and Pricing Option ID for mapping in CoursePro.
Step 6: Map Memberships in CoursePro
Provide the Membership and Pricing Option IDs to CoursePro to complete the mapping.
Mapping & Identifiers
To correctly map Flow memberships and pricing to CoursePro courses, ensure the following:
- All Flow pricing options are set to CoursePro Course.
- Memberships are assigned with pricing options configured as CoursePro Course.
- Membership and Pricing Option IDs are used to map Flow memberships to CoursePro courses.
Note: Memberships and pricing options must be configured in Flow before they are visible in CoursePro.
Membership Status Updates
Membership statuses in Flow affect course availability and payments in CoursePro.
1. Payment Failure (Flow)
- If a payment fails in Flow, the membership status is updated to Suspended.
- This status is synced with CoursePro, marking the user’s course as Unavailable.
- The user cannot attend the course or access the facility until payment is resolved in Flow.
2. Cancelling a Course (CoursePro)
- When a course is cancelled in CoursePro, Flow updates the corresponding membership status to Cancelled, stopping further payments.
User Data Management
Flow is the source of truth for user data. Users can be created in either system, but Flow dictates the data fields and synchronizes changes with CoursePro.
User Creation Scenarios
Scenario Outcome User created in CoursePro Synced to Flow and linked with the corresponding user record. User created in Flow Synced to CoursePro only if the user purchases a course membership. Duplicate User Sign-Up Flow identifies and links duplicate records silently. - Name, Email, Gender, and other key fields configured in Flow are synced with CoursePro.
- Membership status changes are synced to update course availability in CoursePro.
Data Not Synced
- Billing Information: Billing data is stored and managed in Flow.
- Usage Data: Course attendance and other usage data are managed in CoursePro.
CoursePro Configuration
To enable the integration, follow these steps in CoursePro:
- Navigate to System Configuration → Integrations → CoursePro Configuration.
- Enter the following details provided by CoursePro:
- API Client Identifier
- API Secret Token
-
Webhook URLs
- API Client Identifier
- Click Submit to save the configuration.
- Enable user synchronization when ready to go live.
Checklist: Setting Up the Integration
Use this checklist to ensure the integration is set up correctly:
- Configure pricing options and memberships in Flow.
- Map Flow memberships to CoursePro courses.
- Test user creation and course purchases in CoursePro to validate the integration.
- Add API credentials to Flow.
- Test user creation and course purchases in Flow to validate data syncing with CoursePro.
Technical Resources