Skip to main content

Casino Page Data Models

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

Core Models​

CasinoPageModel​

Represents a casino page with its configuration and content.

type CasinoPageModel {
id: ID!
slug: String!
default: Boolean
logo: LogoModel!
layout: PageLayout
promotionRepeat: Int
promotionPlacedAfter: Int
}

Fields Description:

  • id: Unique identifier for the casino page
  • slug: URL-friendly and unique identifier for the casino page
  • default: Whether this is the default casino page (for example, my-favorites is a default casino page)
  • logo: Logo configuration for the casino page
  • layout: Layout type for displaying games
  • promotionRepeat: Number of promotions to display on the casino page
  • promotionPlacedAfter: Number of rows to display after the casino game rows

Resolver Fields:

  • name: String - Name of the casino page (localized based on user language)
  • seo: SEOWithContentSingleLanguageModel - SEO information for the page
  • highlightedGames: [CasinoGameModel] - Highlighted games for the casino page, top games that index this casino page (only available for pages with a layout)
  • promotions: [PromotionModel] - Promotions to display on the casino page (only available when promotionPlacedAfter is set and promotion IDs are provided)
  • activePlayers: ActivePlayerCountFormattedResponse - Count of active players within the last 24 hours for the casino page

LogoModel​

Represents a logo configuration for casino pages. 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.

Enum Types​

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​

CasinoPageBySlugArgs​

Input for retrieving a casino page by its slug:

input CasinoPageBySlugArgs {
slug: String!
}

Fields Description:

  • slug: The slug of the casino page to retrieve

Response Types​

ActivePlayerCountFormattedResponse​

Represents the count of active players for a casino page:

type ActivePlayerCountFormattedResponse {
count: Int!
formattedCount: String!
}

Fields Description:

  • count: The count of active players
  • formattedCount: The formatted count of active players (e.g., "1.2K", "500")

SEOWithContentSingleLanguageModel​

Represents SEO information with content for a casino page:

type SEOWithContentSingleLanguageModel {
title: String!
description: String!
content: String!
socialImage: String!
}

Fields Description:

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

Queries​

getCasinoPage​

Retrieves a casino page by its slug.

query getCasinoPage($slug: String!) {
getCasinoPage(slug: $slug) {
id
slug
name
default
logo {
name
imageUrl
useUserAvatar
}
layout
promotionRepeat
promotionPlacedAfter
seo {
title
description
content
socialImage
}
highlightedGames {
# CasinoGameModel fields
}
promotions {
# PromotionModel fields
}
activePlayers {
count
formattedCount
}
}
}

Arguments:

  • slug: String! - The slug of the casino page to retrieve

Returns:

  • CasinoPageModel - The casino page with all its configuration and content