Casino Game Data Models
This page describes the data models used in the Casino Game API for the Main application. These models represent the structure of data that clients receive when interacting with casino game-related operations.
Core Models​
CasinoGameModel​
Main entity for casino game data. Contains all the necessary information about a casino game.
type CasinoGameModel {
id: ID!
slug: String
name: String!
type: CasinoGameType!
hasFreeBets: Boolean!
backgroundUrl: String
thumbnailUrl: String
thumbnailBlurHash: String
thumbnailBlurHashWidth: Int
thumbnailBlurHashHeight: Int
bonusMoneyExcluded: Boolean
underMaintenance: Boolean
features: [String]
tagNames: [String]
thumbnailAlt: String
wideThumbnailUrl: String
squareThumbnailUrl: String
coverImageUrl: String
coverImageAlt: String
trailerUrl: String
trailerAlt: String
}
Fields Description:
id
: Unique identifier for the gameslug
: URL-friendly identifier for the gamename
: Display name of the gametype
: Type of casino game (SLOTS, JACKPOTS, etc.)hasFreeBets
: Whether the game supports free betsbackgroundUrl
: URL of the game's background imagethumbnailUrl
: URL of the game's thumbnail imagethumbnailBlurHash
: Blur hash for the thumbnail image (used for the time that thumbnail is loading)thumbnailBlurHashWidth
: Width of the thumbnail blur hashthumbnailBlurHashHeight
: Height of the thumbnail blur hashbonusMoneyExcluded
: Whether the game is excluded from bonus moneyunderMaintenance
: Whether the game is under maintenancefeatures
: List of game featurestagNames
: List of tags associated with the gamethumbnailAlt
: Alt text for the thumbnail imagewideThumbnailUrl
: URL of the wide thumbnail imagesquareThumbnailUrl
: URL of the square thumbnail imagecoverImageUrl
: URL of the game's cover imagecoverImageAlt
: Alt text for the cover imagetrailerUrl
: URL of the game's trailer videotrailerAlt
: Alt text for the trailer video
Resolver Fields:
isFavoriteGame
: Boolean - Indicates if the game is in the user's favoritesproviderWithGames
: CasinoGameProviderWithGamesModel - Retrieve the game's provider information with its top gamesproviderSlug
: String - The slug of the game's provider (It is a mirror of the subProviderSlug in the game schema)geoLocationRestricted
: Boolean - It will return false for nowcasinoPages
: [CasinoPageModel] - List of casino pages where this game appearsgameLaunchUrl
: String - URL to launch the game (requires authentication)gameLaunchUrlDemo
: String - URL to launch the game in demo mode (requires authentication)seo
: SEOSingleLanguageModel - SEO information for the gamedescription
: String - Description of the gameactivePlayers
: ActivePlayerCountFormattedResponse - Count of active players within the last 24 hours for the gameslider
: CasinoGameSliderModel - Slider configuration for the game
CasinoGameSliderModel​
Represents the slider configuration for a casino game.
type CasinoGameSliderModel {
description: String
altText: String
imageUrl: String!
imageAltText: String
trailerUrl: String!
videoAltText: String
seo: CasinoGameSliderSeoModel
link: String
backgroundGradient: String
backgroundFill: String
}
Fields Description:
description
: Slider description text (deprecated - use casinoGame.description instead)altText
: Alt text for the sliderimageUrl
: URL of the slider imageimageAltText
: Alt text for the slider imagetrailerUrl
: URL of the slider trailer videovideoAltText
: Alt text for the slider videoseo
: SEO information for the slider (deprecated - use casinoGame.seo instead)link
: URL for link and button actions (empty/undefined for auth action)backgroundGradient
: Background gradient for the sliderbackgroundFill
: Background fill for the slider
CasinoGameSliderSeoModel​
Represents SEO information for a casino game slider.
type CasinoGameSliderSeoModel {
title: String!
description: String!
socialImage: String!
slug: String!
}
Fields Description:
title
: SEO title for the sliderdescription
: SEO description for the slidersocialImage
: URL of the social media imageslug
: SEO-friendly slug for the slider
CasinoGameSearchModel​
Specialized model for search results, containing all the same fields as CasinoGameModel plus additional search-specific fields.
type CasinoGameSearchModel {
id: ID!
slug: String
name: String!
type: CasinoGameType!
hasFreeBets: Boolean!
backgroundUrl: String
thumbnailUrl: String
thumbnailBlurHash: String
thumbnailBlurHashWidth: Int
thumbnailBlurHashHeight: Int
bonusMoneyExcluded: Boolean
underMaintenance: Boolean
features: [String]
tagNames: [String]
thumbnailAlt: String
wideThumbnailUrl: String
squareThumbnailUrl: String
coverImageUrl: String
coverImageAlt: String
trailerUrl: String
trailerAlt: String
score: Float
highlights: [SearchHighlight]
}
Fields Description:
All fields from CasinoGameModel are available, plus:
score
: Search relevance score indicating how well the result matches the search queryhighlights
: Array of highlighted text matches showing where the search terms were found
When searching for games, the API provides highlighting information that shows:
- The field where the match was found (path)
- The matched text with its type (value and type)
- Multiple highlights per result if matches are found in different fields
This helps users quickly identify why a particular game matched their search query.
Resolver Fields:
The same resolver fields as CasinoGameModel are available here for CasinoGameSearchModel:
isFavoriteGame
: Boolean - Indicates if the game is in the user's favoritesproviderWithGames
: CasinoGameProviderWithGamesModel - Retrieve the game's provider information with its top gamesproviderSlug
: String - The slug of the game's provider (It is a mirror of the subProviderSlug in the game schema)geoLocationRestricted
: Boolean - It will return false for nowcasinoPages
: [CasinoPageModel] - List of casino pages where this game appearsgameLaunchUrl
: String - URL to launch the game (requires authentication)gameLaunchUrlDemo
: String - URL to launch the game in demo mode (requires authentication)seo
: SEOSingleLanguageModel - SEO information for the gamedescription
: String - Description of the gameactivePlayers
: ActivePlayerCountFormattedResponse - Count of active players within the last 24 hours for the gameslider
: CasinoGameSliderModel - Slider configuration for the game
SearchHighlight​
Represents highlighted text in search results:
type SearchHighlight {
path: String!
texts: [HighlightText!]
}
HighlightText​
Represents a highlighted text fragment:
type HighlightText {
value: String!
type: String!
}
ActivePlayerCountFormattedResponse​
Represents the count of active players for a casino game:
type ActivePlayerCountFormattedResponse {
count: Int!
formattedCount: String!
}
Fields Description:
count
: The count of active playersformattedCount
: The formatted count of active players (e.g., "1.2K", "500")
CasinoGameSearchResponse​
The paginated response type for casino game search operations:
type CasinoGameSearchResponse {
data: [CasinoGameSearchModel!]!
count: Int!
offset: Int!
limit: Int!
}
This response type extends the base pagination type and includes:
data
: Array of search results with highlights and scorescount
: Total number of resultsoffset
: Current pagination offsetlimit
: Current page size limit
CasinoGameProviderModel​
Represents a casino game provider with basic information.
type CasinoGameProviderModel {
id: ID!
slug: String!
name: String!
logoUrl: String
}
Resolver Fields:
description
: String - Description of the casino game providerseo
: SEOSingleLanguageModel - SEO information for the provider
CasinoGameProviderWithGamesModel​
Extends CasinoGameProviderModel with additional game information:
type CasinoGameProviderWithGamesModel extends CasinoGameProviderModel {
games: [CasinoGameModel]
}
Enum Types​
CasinoGameType​
Types of casino games:
enum CasinoGameType {
SLOTS
JACKPOTS
VIDEO_POKER
ROULETTE
TABLE_CARD
BLACKJACK
BACCARAT
MINIGAMES
OTHERS
DEFAULT
OTHERS_LIVE
LIVE_BACCARAT
LIVE_BLACKJACK
GAME_SHOW
LIVE_ROULETTE
CRASH
BINGO
LIVE_DICE
DICE
DRAGON_TIGER
ARCADE
LOTTERY
VIRTUAL
LIVE_POKER
OTHERS_TABLE
CRYPTO_FUTURES
SCRATCH_CARDS
SCRATCH
LIVE_DRAGON_TIGER
}
CasinoGameOrderBy​
Ordering options for casino games:
enum CasinoGameOrderBy {
FEATURED_BY_PROVIDER
FEATURED_BY_CASINO_PAGE
NAME
TYPE
TRENDING
RECENTLY_ADDED
INDEX_IN_PROVIDER
}
Values Description:
FEATURED_BY_PROVIDER
: Order by index of casino game providers- Each casino game is indexed in one casino game provider
- When the games are retrived by casino game provider slug list , this orderBy should be used
FEATURED_BY_CASINO_PAGE
: Order by index of casino page within- Eache game can be index in several casino page
- When the games are retrived by casino page slug, this orderBy should be used
NAME
: Order alphabetically by game nameTYPE
: Order by game typeTRENDING
: Order by trending games (based on the index of the game in the trending casino page)RECENTLY_ADDED
: Order by recently added gamesINDEX_IN_PROVIDER
: Exactly same as the FEATURED_BY_PROVIDER
Platform​
Supported platforms for casino games:
enum Platform {
DESKTOP
MOBILE
}
PageLayout​
Layout options for casino pages:
enum PageLayout {
CLASSIC_CAROUSEL
RECTANGULAR_FANCY_CAROUSEL
TWO_BIG_CARDS
BIG_CARD
MID_BIG_CARDS
SQUARES
SQUARES_FANCY_CAROUSEL
}
Input Types​
CasinoGameSearchArgs​
Input for searching casino games:
input CasinoGameSearchArgs {
query: String!
limit: Int = 20
offset: Int = 0
}
CasinoGamesFilterInput​
Input for retrieving casino game provider information:
input CasinoGamesFilterInput {
query: String
casinoPageSlug: String
providerSlugs: [String]
}
CasinoGamesInput​
Input for retrieving casino games with filtering, ordering, and pagination:
input CasinoGamesInput {
orderBy: CasinoGameOrderBy = TRENDING
filter: CasinoGamesFilterInput
limit: Int = 20
offset: Int = 0
}