Lottery
General Data Requirements
Before preparing your data tables, please review the following universal formatting rules.
Data Formatting
- Decimal Precision: All decimal-type attributes must be rounded to a maximum of four decimal places. For example, a value of
4.56789must be formatted as4.5679. This applies to all monetary fields and other decimal values. - Currency Conversion: All monetary figures must be converted into a single, consistent currency across all tables.
Required Data Tables
The following data tables describe the content, format, and labels of the required data.
- Customers – Each row describes the attributes of a single customer
- Wallet_Transactions – lists all transactions that affect the player's account balance
- Draw_Transactions – Contains a record of all purchase draws for all players
- Lottery_Catalog – Contains a record of all purchase draws for all players
Customers
| Key | Field | Data Type | Description |
|---|---|---|---|
| PK | Player_ID** | string/int | Unique player identifier |
| Registration_Date** | date | Date the player registered | |
| Email* | string (max 250) | Mandatory when using Optimail or if required by external ESP | |
| Mobile_Number* | string | Mandatory if required by external service provider | |
| Date_Of_Birth | date | Player's date of birth | |
| Is_OptIn | string | Determines whether it is acceptable to send promotional messages to the specified player. Should hold the values 'Yes' or 'No'. | |
| Allow_Email* | string | Determines whether sending promotional Email messages to the specified email address is acceptable. Should hold the values 'Yes' or 'No'. | |
| Allow_SMS* | string | Determines whether sending promotional SMS messages to the specified mobile address is acceptable. Should hold the values 'Yes' or 'No'. | |
| Allow_Push* | string | Determines whether sending promotional Push messages to the specified mobile number is acceptable. Should hold the values 'Yes' or 'No'. | |
| Is_Email_Verified | string | Determines whether the email address is verified. Should hold the values 'Yes' or 'No'. | |
| Is_SMS_Verified | string | Determines whether the mobile number is verified. Should hold the values 'Yes' or 'No'. | |
| Is_Blocked | string | 'No’ = regular player; 'Yes’ = blocked player (e.g. fraud) | |
| Is_Test | string | 'No’ = regular player; 'Yes’ = test player | |
| Gender | string | Player’s gender. Must hold values ‘Male’, ‘Female’, ‘Unknown’ | |
| Country | string | Player’s country | |
| City | string | Player’s city | |
| Address | string | Player’s address | |
| First_Name | string | Player’s first name | |
| Last_Name | string | Player’s last name | |
| Language | string | Player's language | |
| Balance | Decimal/int | The monetary value of a player’s current balance | |
| Casino_Name | string | When multiple casino platforms exist | |
| Alias | string | User name | |
| Currency | string | Player’s currency | |
| Referral_Type | string | The method by which the player was referred to your site (e.g., SEO, Affiliate, Advertising, Marketing, etc.). | |
| Affiliate_ID | string | Affiliate identifier or name | |
| Registered_Platform | string | The platform the player had registered with (e.g. Web, Android App, iOS App, etc.) | |
| Last_Login_Date | date | The date of the player’s last login to the website | |
| Allow_Whatsapp | string | Determines whether sending promotional WhatsApp messages to the specified mobile number is acceptable. Should hold the values 'Yes' or 'No'. | |
| — | LastUpdated | date | Date when the record was last modified or added (Mandatory in case of DB to DB connection) |
| — | Is_Optin_Email_Time_Stamp* | Timestamp | Determines from when it is acceptable to send promotional Email messages to the specified email address in case of approval |
Notes:
- Please include any additional information that you find helpful
- IsOptinEmailTimeStamp* - In case Optimove will manage the “unsubscribe” for the Opti-Mail integration please include an additional column to describe when the customer opts in \ out, to allow perfect sync with the daily batch.
- The email field must not exceed 250 characters (varchar(250)). This constraint is required to ensure compatibility with database and external ESP systems.
*=Mandatory if required for the execution channel integration
**=Always mandatory
Wallet_Transactions
| Key | Field | Data Type | Description |
|---|---|---|---|
| PK | Transaction_ID** | string | Unique transaction identifier |
| Player_ID** | string | Unique player identifier | |
| Transaction_Date** | date | Transaction date | |
| Transaction_Timestamp | timestamp | Transaction Timestamp | |
| Transaction_Type** | string | Transaction type. Should hold values 'DEPOSIT', 'WITHDRAWAL', or 'BONUS' | |
| Transaction_Amount** | decimal | Monetary value of the transaction | |
| Platform | string | Platform from which the transaction made (e.g. Web, Mobile, Download) | |
| Status** | string | Transaction status (e.g. Approved, Rejected, Pending). Must have status ‘Approved’ for approved transactions. | |
| Last_Updated | Date | Date when the record was last modified or added (Mandatory in case of DB to DB connection) |
Notes:
- Any other gaming dimension available can be added if needed.
**=Always mandatory
Draw_Transactions
| Key | Field | Data Type | Description |
|---|---|---|---|
| PK | Game_Date | date | Date of game |
| PK, FK | Player_ID** | string | Unique player identifier |
| PK, FK | Game_ID** | string | Unique game identifier |
| PK | Bet_Amount** | decimal | Partial monetary value of the transaction in current draw |
| PK | Win_Amount** | decimal | Monetary value won in current draw |
| Platform | string | Platform which the lottery is used from. Should hold values ‘WEB’ or ‘MOBILE’ | |
| PK | Boost | int | Boost chosen by player for draw |
| PK | Jackpot | decimal | Jackpot for draw |
| Entries_Per_Draw** | int | Entries per draw. Must be at least 1 (shouldn’t hold null or 0 values). | |
| PK | Game_Status | string | Draw status (e.g Won, Loss, Open) |
| Last_Updated | Date | Date when the record was last modified or added (Mandatory in case of DB to DB connection) |
Notes:
**=Always mandatory
Lottery_Catalog
| Key | Field | Data Type | Description |
|---|---|---|---|
| PK | Game_ID | string | Unique game identifier |
| Lottery_Name | string | Name of lottery | |
| Lottery_Category | string | Category of lottery | |
| Updated_At | Date | Date when the record was last modified or added |
Database Schema

Updated 5 months ago