Skip to main content

Casino Explore Data Models

This page describes the data models used in the Casino Explore API for the Main application. These models represent the structure of data that clients receive when interacting with casino explore operations.

Core Models​

CasinoExploreModel​

Represents the main casino explore page with its sections.

type CasinoExploreModel {
id: ID!
sections: [CasinoExploreSectionModel]
}

Fields Description:

  • id: Unique identifier for the casino explore page
  • sections: Array of explore sections that make up the page content

Resolver Fields:

  • seo: SEOSingleLanguageModel - SEO information for the casino explore page

CasinoExploreSectionModel​

Represents a section within the casino explore page.

type CasinoExploreSectionModel {
id: ID!
logo: LogoModel
layout: PageLayout
type: CasinoExploreSectionType!
casinoPage: CasinoPageModel
promotions: [PromotionModel]
casinoProviders: [CasinoGameProviderModel]
casinoProvidersCount: Int
}

Fields Description:

  • id: Unique identifier for the explore section
  • logo: Logo configuration for the section (optional)
  • layout: Layout type for displaying content, it will used when the section is type of casino page (optional)
  • type: Type of the explore section (determines what content is displayed)
  • casinoPage: Associated casino page (only for CASINO_PAGE type)
  • promotions: List of promotions (only for OFFER_BLOCK type)
  • casinoProviders: List of casino providers (only for PROVIDER type)
  • casinoProvidersCount: Number of casino providers (only for PROVIDER type)

Resolver Fields:

  • name: String - Name of the explore section (localized based on user language)

Enum Types​

CasinoExploreSectionType​

Types of casino explore sections:

enum CasinoExploreSectionType {
CASINO_PAGE
ORIGINALS
TRENDING
PROVIDER
OFFER_BLOCK
THIN_SLIDER
}

Values Description:

  • CASINO_PAGE: Section that displays a specific casino page with its games
  • ORIGINALS: Section for original games
  • TRENDING: Section for trending games
  • PROVIDER: Section that displays casino game providers
  • OFFER_BLOCK: Section that displays promotion offers
  • THIN_SLIDER: Section that displays sliders of promotions

Input Types​

SsrArgs​

Input for server-side rendering arguments:

input SsrArgs {
ip: String
userAgent: String
}

Fields Description:

  • ip: User IP address from SSR (x-forwarded-for header) for geolocation and region-specific content. Leave blank for CSR.
  • userAgent: Client browser's user agent string, passed from SSR for device detection and browser-specific handling. Use the real user agent in SSR to ensure correct content delivery; leave blank for CSR.

Response Types​

SEOSingleLanguageModel​

Represents SEO information for the casino explore page:

type SEOSingleLanguageModel {
title: String!
description: String!
socialImage: String!
}

Fields Description:

  • title: SEO title for the page
  • description: SEO description for the page
  • socialImage: URL of the social media image

LogoModel​

Represents a logo configuration for explore sections. Only one of the three fields should be provided.

type LogoModel {
name: String
imageUrl: String
useUserAvatar: Boolean
}

Fields Description:

  • name: Text-based logo (displayed as text)
  • imageUrl: URL of the logo image
  • useUserAvatar: Whether to use the user's avatar as the logo

Note: Only one of these three fields should be provided. If multiple fields are provided, the priority order is: imageUrl > name > useUserAvatar.

PageLayout​

Layout options for explore sections when the section type is CASINO_PAGE, for other type is ignored:

enum PageLayout {
CLASSIC_CAROUSEL
RECTANGULAR_FANCY_CAROUSEL
TWO_BIG_CARDS
BIG_CARD
MID_BIG_CARDS
SQUARES
SQUARES_FANCY_CAROUSEL
}

Queries​

casinoExplore​

Retrieves the casino explore page with all its sections and content.

query casinoExplore($ip: String, $userAgent: String) {
casinoExplore(ip: $ip, userAgent: $userAgent) {
id
seo {
title
description
socialImage
}
sections {
id
name
logo {
name
imageUrl
useUserAvatar
}
layout
type
casinoPage {
id
slug
name
logo {
name
imageUrl
useUserAvatar
}
layout
highlightedGames {
id
slug
name
type
thumbnailUrl
hasFreeBets
}
activePlayers {
count
formattedCount
}
}
promotions {
id
title
description
imageUrl
link
}
casinoProviders {
id
slug
name
logoUrl
description
activePlayers {
count
formattedCount
}
}
casinoProvidersCount
}
}
}

Arguments:

  • ip: String (optional) - User IP address for geolocation-based content
  • userAgent: String (optional) - User agent string for device-specific content

Returns:

  • CasinoExploreModel - The casino explore page with all sections and content

Features:

  • Geolocation-based: Different content may be returned based on user's country and device type
  • Caching: Results are cached for performance optimization
  • Localization: Content is localized based on user's language preference
  • Dynamic sections: Different section types provide different content (games, providers, promotions)

Section Type Behavior​

CASINO_PAGE​

  • Displays a specific casino page with its highlighted games
  • Includes the casino page's layout, logo, and game list
  • Shows active player count for the page

ORIGINALS​

  • Displays original games
  • Displays trending games
  • Games are ordered by trending index

PROVIDER​

  • Displays a list of casino game providers
  • Shows provider count and individual provider details
  • Each provider includes active player count

OFFER_BLOCK​

  • Displays promotion offers (sorted and versioned by the CMS admin)

THIN_SLIDER​

  • Displays a list of sliders of promotions