đź“„Odyssey Gaming - Member Import Scheduled Job V4.9+ setup Guide
The Odyssey Initial Member Import Job provides a controlled process for seeding local Bepoz member accounts using data sourced from the Odyssey Membership system.
When to Use This Job
You will typically use the Odyssey Member Import Job in the following scenarios:
-
New installation / Go‑Live
-
Run as a one‑off bulk import to populate Bepoz with Odyssey members and tier groups before you start trading.
-
-
Data refresh or clean‑up
-
Run again (safe to re‑run) if you need to reseed members or fix tiers after an integration change.
-
-
Ongoing incremental updates (optional)
-
Enable Continual Polling Mode if you want Bepoz to regularly poll Odyssey for new/changed members.
-
Prerequisites
Before you configure or run the job, you need:
- Minimum Bepoz Version v4.9.0.0 & above
-
Odyssey API credentials
-
Master API URL (Odyssey Membership API base URL)
-
Client Id and Client Secret
-
-
A Parent Account Group in Bepoz
-
-
This will act as the container for all Odyssey tier groups.
-
Example:
Odyssey Membersas the parent, with childrenBronze,Silver,Gold, etc.
-
-
Job Location in BackOffice
-
Open BackOffice.
-
Go to Job Maintenance (or Scheduled Jobs / Job Setup).
-
Select a new External DLL Job and select the Odyssey Member Import job type
Job Configuration Fields
On the job configuration screen, you’ll see options that map directly to the integration requirements.
Connection & Authentication
|
Field |
What to Enter |
Notes |
|---|---|---|
|
API URL |
The Odyssey Membership API base URL provided to you by Odyssey. |
Used to retrieve member data. Matches the |
|
Client I |
Your Odyssey OAuth client ID. |
Provided by Odyssey / venue. |
|
Client Secret |
Your Odyssey OAuth client secret. |
Keep confidential. |
Tiering & Account Groups
|
Field |
What to Enter / Choose |
Behaviour |
|---|---|---|
|
Use Tiering |
Tick ON if venue uses tiered status (Bronze / Silver / etc). |
When ON: tiers from Odyssey become separate child account groups in Bepoz and members are placed into these groups automatically. |
|
Parent Account Group |
Select or create the top‑level group that will contain all Odyssey tier groups. |
The job will create one child group per Odyssey tier under this parent (e.g. |
Recommended:
-
Always enable Use Tiering if Odyssey tiers are in use.
-
Create a clearly named parent group (e.g.
Odyssey Gaming Members) so it’s obvious what is managed by the job.
Continuous Updates (Optional)
|
Field |
What to Enter / Choose |
Behaviour |
|---|---|---|
|
Continual Polling Mode |
OFF for a pure one‑off initial import. Turn ON if you want ongoing updates. |
When ON, the job will periodically check Odyssey for changed members. |
|
Polling Mode Seconds |
A time in seconds, e.g. |
How often the job checks for new/updated members when Continual Polling is ON. |
Under the hood, the job uses Odyssey’s
updatedAfterfilter to only pull members changed since the last poll.
Diagnostic Logging
|
Field |
What to Enter / Choose |
Behaviour |
|---|---|---|
|
Debug |
Turn ON only when troubleshooting. |
Produces more detailed logs, including API request and response metadata. Can impact log volume and performance. Turn OFF for normal production use. |
How to Run the Job (Initial Import)
Step 1 – Create and Configure the Job
-
In BackOffice > Job Maintenance, create a new External DLL Job for Odyssey Member Import.
-
Fill in:
-
Master API URL
-
Client Id and Client Secret
-
Use Tiering = ON (recommended)
-
Parent Account Group = your chosen container group
-
-
Save the job.
Step 2 – Test Run (Small Window, Optional)
If you want to be cautious, you can:
-
Configure Odyssey or the job (if exposed) with filters (e.g.
activeOnly) to import only a manageable subset. -
Run the job manually once.
-
Check:
-
New members created in Bepoz.
-
Tier account groups created as expected.
-
Member fields (name, DOB, status, tier) look correct.
-
Step 3 – Full Initial Import
Once you’re happy with the test:
-
Adjust any filters (e.g. to include all active members).
-
Run the job manually again to perform the full import.
-
Monitor the job log / history:
-
Confirm no repeated errors.
-
Confirm counts of created / updated / skipped look reasonable.
-
The job is safe to re‑run. It will update existing members instead of duplicating them.
How Ongoing Updates Work (If Continual Polling is Enabled)
If Continual Polling Mode is turned on:
-
The job runs at the configured Polling Mode Seconds interval.
-
Each run:
-
Authenticates with Odyssey.
-
Calls the membership API with an
updatedAftertimestamp to retrieve only changed members. -
Updates local Bepoz member records and tier group assignments.
-
-
Members added/changed in Odyssey appear in Bepoz without manual intervention, usually within the polling interval you set.
This is ideal when Odyssey is the primary membership system and Bepoz should stay reasonably up‑to‑date during the day.
What Gets Synced (High‑Level)
The job maps key Odyssey fields into Bepoz for POS use only. In simple terms, it brings across:
-
Identifiers – memberId, card number, badge number.
-
Personal details – name, DOB, contact details (phone/email), gender.
-
Status & eligibility – active/suspended, expiry, self‑exclusion.
-
Tier – tier name (used to determine the account group), tier changes.
-
Addresses – home and postal address fields
Common Operator Questions
1. “Can I use this job to fix tiers after Odyssey changes them?”
Yes. If Odyssey adds a new tier or moves members between tiers:
-
Re‑running the job will:
-
Create any new tier groups if they don’t exist.
-
Move members into the correct account group based on the authoritative Odyssey tier.
-
2. “Does this job change points or balances?”
No. Member points are not imported or stored via this job.
-
All points enquiries, earning, redemptions and refunds happen live via the POS using Odyssey APIs.
-
This job is only about member records and tiers.
3. “Is it safe to run while trading?”
Generally, yes:
-
The job is designed to run without stopping POS.
-
However, for the very first large import, you may prefer to run it off‑peak to reduce any performance impact.
Troubleshooting
Job Fails to Start or Shows Authentication Errors
-
Double‑check:
-
API URL
-
Client Id / Client Secret
-
-
Confirm the venue’s network/firewall allows outbound traffic to the Odyssey API endpoints.
Members Not Appearing in Bepoz
Check:
-
Eligibility rules:
-
Members that are suspended, self‑excluded, preliminary, or with invalid status/expiry may be skipped.
-
-
Job logs:
-
Look for entries about “skipped” members and the reasons.
-
-
Filters such as
activeOnly:-
If only active members are imported, cancelled or deleted memberships won’t appear.
-
Tier Groups Missing
-
Confirm:
-
Use Tiering is turned ON.
-
Parent Account Group is set and exists.
-
-
After fixing, run the job again to allow it to (re)create the tier groups and reassign members.