Intro to CoursePro Memberships/Courses




This document sets out the parameters of the integration Flow has with CoursePro, a software that manages lessons and courses for a client. Though CoursePro can be operated as a standalone product we have developed a more seamless experience for the client and the customer who uses the two systems.

In summary, Flow will power the price and take (recurring) payments from the customer for the course. Flow will also be the source of truth for the user and their details as well as updating CoursePro with the status of their membership.


Courses and Memberships

As Flow powers the price and payment type for a course in CoursePro. Therefore the types of membership provided are:

  • Recurring, monthly membership for an ongoing course, until completion, changed etc
  • Fixed, a 3-month course, fixed duration for a (weekly frequency course)
  • Session Purchase - buying ‘one-off’ sessions (for top up etc)

A) Platform Responsibilities

A ‘membership’ in Flow will map to a course in CoursePro

Flow powers the price of a course. Therefore the pricing option and membership must be configured accordingly in Flow first.

Flow Responsibilities

Functionality Description
Price of Course The pricing option for the course, whether this is a recurring payment or a fixed one. This is to be configured in Flow
Payment Type of Course The payment type refers to whether the payment is recurring - e.g. a monthly fee or a one-off payment of a fixed duration, e.g. 3-month course
Direct Debit Payments (GoCardless) Flow will manage any direct debit payments with the payment service provider, in this case, GoCardless, for the courses.
Membership Status Flow will manage the status of a membership that powers the CoursePro Course. If a direct debit payment is missed, or an instruction is cancelled, Flow will update this accordingly. CoursePro then manages the customers' participation.
Access Control CoursePro notifies Flow of who is to attend the course. Flow Creates access tokens for these users so that they can successfully enter the facility

CoursePro Responsibilities

Functionality Description
Course Configuration The course itself is entirely configured in CoursePro
Course Management Any course management, such as editing is completed in CoursePro
Reporting Key metrics such as attendance are managed and extracted through CoursePro
Course Attendance Attendance is managed by CoursePro and a record of those attending is passed to Flow
Course Management (user) Changes, cancellations and moving up is managed through CoursePro

B) Pricing & Membership Configuration

Flow powers the price of the Course, through the integration. Therefore the client must create the price they wish to charge within the Pricing Options module.

Pricing options are then assigned to a membership, again configured in Flow. These dictate the frequency of the payment due for the course as either:

  • Fixed: a one-off payment
  • Recurring: ongoing monthly payment via Direct Debit

Configuring Price and Membership for Courses in Flow

Step 1:

  • Navigate to the pricing options module


Step 2:

  • Create a new pricing option, which will be the fee for your course on CoursePro
  • Select the type as CoursePro Course this is essential, otherwise, it will not be available as part of the integration


Step 3:

  • Make any necessary pricing changes based on the Centre at which the course is to be completed or by Setting Group
  • This gives flexibility to price configuration. Allowing the same course to be at different prices when purchased at different centres


Step 4:

  • Configure your CoursePro ‘Membership’ in Flow. This follows the same process as setting up a membership, please refer to your onboarding documentation for more detail
  • You must select CoursePro Course as the integration type, otherwise, it will not be made available in CoursePro as part of the integration


Step 5:

  • Create your payment option within your course membership
  • Note: unlike other Flow memberships you can only add one payment option type. Therefore if you wanted to have a recurring monthly payment and a fixed payment for the same course you would need to create two respective memberships in Flow
  • Use the pricing options you set up in Step 2


Step 6:

  • Make sure you note down the ID of the pricing option ID you used in the membership configuration as well as the corresponding membership name
  • Take this information to CoursePro to complete the mapping exercise of Flow Memberships and Prices → Configured CoursePro Courses. This is done in the CoursePro system



C) Mapping & Identifiers

To achieve the correct mapping in CoursePro you will need to have configured and provide the following:

  • All pricing options associated with the memberships are type = CoursePro Course
  • The membership type, configured with the CoursePro pricing option has the integration set to CoursePro Course
  • Ensure you have the ID of the pricing options you are using within the membership types to complete the mapping of the Flow Membership to the CoursePro Course.

Once the pricing options and memberships are set to the type CoursePro Course they will be available to be used in the integration.

The diagram below shows the membership, and pricing options configured in Flow that map to the courses created in CoursePro

Note: The Flow memberships and pricing options can be created before the integration is configured, however until this is done, they will not be visible within the CoursePro system.


D) Membership Status

The membership status will dictate whether a user will be available to attend a course, or whether Flow will continue to bill them a recurring fee. There are two key journeys of how the two systems interact through the integration.

Payment Failure (Flow)

  • When a recurring, direct debit payment fails in Flow for a membership then its status will be updated to Suspended
  • The change in this membership status is then passed to CoursePro which updates the corresponding customer course, changing it from Active → Unavailable
  • The customer is then unable to attend the course because they have failed to pay for it
  • They are unable to gain access to a facility
  • They are notified of their failed payment via Flow
  • Membership statuses need to be resolved in Flow


Cancelling a Course (CoursePro)

  • When a customer cancels a course via CoursePro (or by staff on behalf of a customer) Flow must update the corresponding membership
  • If the Course is cancelled (or completed/finished) then Flow must be informed, to prevent any further payments from being taken from the customer
  • When the course is cancelled on CoursePro then Flow will change the membership status from Active → Cancelled and no longer generate fees for it


E) Users

Flow is the source of truth for the user record. A user can be created in Flow or CoursePro but the data fields collected, such as first name, last name etc are dictated by Flow.

User Creation Scenarios

  1. When a user is created in CoursePro that user record is also created in Flow and the two are linked
  2. When a user is created in Flow it is only created in CoursePro if the user purchases a membership that has the integration type of ‘CoursePro Course.’
  3. If a user exists in Flow and then tries to sign up and purchase a course through CoursePro with the same credentials then they will be ‘silently’ matched as part of the integration.
  4. Similarly, if a user is created in CoursePro and then at a later date tries to sign up in Flow they will be notified their record already exists in Flow

Included in the User Sync

The below diagram shows key user data, and which system is the source of truth. The user record is only linked across the two systems when they purchase a course. The following data is synced as part of the integration

Data Fields

The specified data fields to be recorded against the user are configured in Flow. Such as Name, Email, Gender etc. This configuration is synced with CoursePro so the correct data is recorded

User Changes

Any changes to the user record on FLOW, such as an address update are synced to CoursePro.

Membership Status

If the membership status were to change (due to a payment issue) this would be synced from Flow → CoursePro to ensure their Course Availability is updated


Flow again is the source of truth for the price the user would pay for a course. If they changed course or purchased a new course this price would be synced with CoursePro

Course Attendees

CoursePro will sync user attendances to Flow to grant them access to the leisure facility through the Access Control functionality

Course Availability

CoursePro will sync the user's course availability to Flow. In the cases where they have finished or cancelled their course, Flow must update their membership accordingly


Excluded from the User Sync

Billing Information

Though billing information is provided when a user is created in CoursePro this information is stored in Flow. Any changes to the billing, such as a change to the bank details are completed in Flow via the Direct Debit Payment Service Provider. This is not synced to CoursePro

Usage Data

CoursePro records and manages the attendee usage data. This can be extracted via CoursePro and its reporting provision. Such reports are not available or included in Flow’s usage reports.


F) CoursePro Configuration.

To connect Flow to your CoursePro account you need to enter the integration credentials.

Navigate to System Configuration → Integrations→ CoursePro Configuration

CoursePro will have to provide you with the details

  • CoursePro User Sync Enabled (tick 'yes')
    Screenshot 2023-11-20 at 15.07.21.png
  • CoursePro API Client Identifier
    Screenshot 2023-11-20 at 15.07.29.png
  • CoursePro Cart Complete Webhook URL
    Screenshot 2023-11-20 at 14.52.09.png
  • CoursePro provided API Secret Token
    Screenshot 2023-11-20 at 14.53.09.png
  • CoursePro Cart User Sync Webhook URL
    Screenshot 2023-11-20 at 14.55.09.png
  • Click 'Submit'.
    Screenshot 2023-11-20 at 14.55.34.png

You can enable the user sync when ready to go live (once everything else has been configured both in FLOW and on CoursePro's side).

If set to no, any update that you make on a customer account in FLOW will not sync into CoursePro.

Technical Information

Link to API Docs

Creating User in Flow.png



Checklist: Setting up the integration

This details the steps and sequence of setting up the integration between Flow and CoursePro. Note any configuration of courses, and how that works should be done with onboarding and support from CoursePro.


  • [ ] Configure your pricing and memberships in Flow. Steps found in Section B - Pricing & Membership Configuration
  • [ ] Map your Flow memberships to the CoursePro Courses (this is completed in CoursePro)
  • [ ] Test the creation of a user, and the purchasing of a course, in CoursePro. This will validate the membership price, powered by Flow. The user record should appear in Flow.
  • [ ] Add the API keys to Flow to create the integration. Steps found in Section F -CoursePro Configuration.
  • [ ] Test the creation of a user and the purchase of a course in Flow. The User record should appear in CoursePro.


Was this article helpful?
0 out of 0 found this helpful