I'm looking for an experienced SuiteCRM developer to integrate a new SuiteCRM installation with data from ACTIVE Network.
For a better formatted description please see attachment!
My client organizes sports events and uses ACTIVE Network to take registrations. Participants provide name, contact, medical, custom question answers and other details to ACTIVE Network, which also handles payments. ACTIVE Network provides an API to make all participant data available (documentation attached).
ACTIVE Network API Integration
I need a one-way integration to pull the data from ACTIVE Network and insert it into SuiteCRM. The job should be scheduled to run on the SuiteCRM server every few minutes to do the following:
1. Pull list of events from ACTIVE Network (using event ID)
2. If the event does NOT exist in SuiteCRM, create a new event in events module, import data about the event (name, date, location, address, list of event-specific registration questions, etc. - total 17 fields)
3. Check participants list for each event via API (using participant ID and email address). For new and changed participant data, update fields in the contacts module (e.g. address, date of birth, income, gender, etc. - full list to be provided - total 16 fields)).
4. For each new / updated participant, create or update "Event History" module record, i.e. the specific details for that contact in that event. For example, registration category, registration questions, bib number, amount paid, etc. approx. 33 fields total.
5. If registration includes team information, create a team and the members (relationships with the contacts module). Two teams/contacts relationships should be included: one for the team captain and one for all members. A "Team Role" field should be populated to describe each participant (either "Captain" or other field as provided via the API).
6. Create invoice for all paid / refunded items (registration fee / merchandise related to event) - 17 fields total.
7. Create necessary relationships between events / contacts, event history / contacts, event history / events, invoices / event history, invoices / contacts, contacts / teams, teams / events.
Modules to be added or modified
The following modules will need to be built or modified in a new instance of SuiteCRM (already created), including:
1. Adding new fields. All new fields to be importable, available for in-line edit and included in audit trail.
2. Show new fields on edit / detail layouts.
3. Create relationships to other modules.
Event History (New Module)
Description: An Event History record will be created every time a contact participates or signs up for an event. They will include all the registration data pulled from the Active Network API as well as (after the event) timing and performance data which will be recorded by BlueChip and imported (manually via CSV). Approx 70 fields.
Training Activities (New Module)
Description. Training Activities are individual sessions contacts may book or attend, e.g. Gym Session 13th July 2016. Module records will attendance by the contact
• Contacts. Additionally create a field with this relationship, "Attendance", which shows whether the contact attended the activity. Subpanel should also show contact "status" (e.g. Member)
Teams (New Module)
Description. Teams groups contacts together who compete in a team for a specific event. Teams subpanels should show on the contact record and the Event History Record.
• Team Name
• Date Team Created
• Members (relationship to contacts). Add a field to this relationship: "Team Role" (i.e. person's role in the team, functionality is like contact "role" in opportunities module)
• Team captain (relationship to contacts)
Invoices (use SuiteCRM Invoices Module)
Description: The purchases module is a list of transactions related to a person, normally paying registration fees or memberships, also purchasing merchandise related to a specific event; also refunds are included. A list of purchases should show up on the event history and memberships pages, showing when people have paid registration fees or purchased additional merchandise.
• Product Type (usually registration / membership / merchandise)
• Product Name (usually "Registration" or merchandise item)
• Order Date
• Paid Amount
• Refunded Amount (create negative value invoice)
• Discount Amount
• Event History
Memberships (New Module)
Description: Memberships lists all memberships that a contact has (e.g. 3 month gym training membership). Memberships are paid for and paid invoices will be created for each membership.
• Membership Name
• Start Date
• End Date