{
  "openapi": "3.0.1",
  "info": {
    "title": "GamingPlatform01 API",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "http://10.10.212.99:25012/"
    }
  ],
  "paths": {
    "/ProductsRequestHandlerProxy/GetUnavailableProducts": {
      "post": {
        "tags": [
          "ProductsRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetUnavailableProductsResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ShopOrderPendingRequestHandlerProxy/GetShopOrderPending": {
      "post": {
        "tags": [
          "ShopOrderPendingRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "Shop",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetShopOrderPendingResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/PlayerTicketRequestHandlerProxy/GetPlayerTickets": {
      "post": {
        "tags": [
          "PlayerTicketRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPlayerTicketsResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/PlayerTicketRequestHandlerProxy/GetAvailableTicketsForPlayer": {
      "post": {
        "tags": [
          "PlayerTicketRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAvailableTicketsForPlayerResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ShopPurchaseScratchCardRequestHandlerProxy/PurchaseScratchCard": {
      "post": {
        "tags": [
          "ShopPurchaseScratchCardRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseScratchCardRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScratchCardPurchaseResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonVipMoneyRequestHandlerProxy/VipMoneyConverterInfo": {
      "post": {
        "tags": [
          "SingletonVipMoneyRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VipMoneyConverterInfoResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonVipMoneyRequestHandlerProxy/ConvertToCash": {
      "post": {
        "tags": [
          "SingletonVipMoneyRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "Amount",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConvertToCashResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonVipMoneyRequestHandlerProxy/GetVipMoneyBalance": {
      "post": {
        "tags": [
          "SingletonVipMoneyRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetVipMoneyBalanceResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonShopPurchaseDonationCardRequestHandlerProxy/PurchaseDonationCard": {
      "post": {
        "tags": [
          "SingletonShopPurchaseDonationCardRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "SellableId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Amount",
            "in": "query",
            "schema": {
              "type": "number",
              "format": "double"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DonationCardPurchaseResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonShopPurchaseContestRequestHandlerProxy/PurchaseContest": {
      "post": {
        "tags": [
          "SingletonShopPurchaseContestRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "SellableId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContestPurchaseResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonShopGetContestIdentifierRequestHandlerProxy/GetContestIdentifierFromProduct": {
      "post": {
        "tags": [
          "SingletonShopGetContestIdentifierRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "SellableId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShopGetContestIdentifierResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonHistoryRequestHandlerProxy/GetShopHistoryCredit": {
      "post": {
        "tags": [
          "SingletonHistoryRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "PageIndex",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageCount",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreditHistoryResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonClubRequestHandlerProxy/GetPlayerAvailableFeatures": {
      "post": {
        "tags": [
          "SingletonClubRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPlayerAvailableFeaturesResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/RetributionScratchCardRequestHandlerProxy/ScratchCardWon": {
      "post": {
        "tags": [
          "RetributionScratchCardRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultServer"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "PlayerId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "PrizeId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ScratchCardId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "TimeConsumed",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScratchCardWonEventAck"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ScratchCardPrizeRequestHandlerProxy/GetScratchCardPrizeInfo": {
      "post": {
        "tags": [
          "ScratchCardPrizeRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "PrizeId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetScratchCardPrizeInfoResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonShopAccessRightRequestHandlerProxy/GetPlayerShopAccess": {
      "post": {
        "tags": [
          "SingletonShopAccessRightRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPlayerShopAccessResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/PlayerVipRequestHandlerProxy/GetPlayerVipRankInfo": {
      "post": {
        "tags": [
          "PlayerVipRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPlayerVipRankInfoResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonPrizeInformationRequestHandlerProxy/GetPrizeInformation": {
      "post": {
        "tags": [
          "SingletonPrizeInformationRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "PrizeId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPrizeInformationResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonWheelsRequestHandlerProxy/GetPlayerWheel": {
      "post": {
        "tags": [
          "SingletonWheelsRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPlayerWheelResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonWheelsRequestHandlerProxy/PlayVipWheelMiniGame": {
      "post": {
        "tags": [
          "SingletonWheelsRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "WheelMiniGameId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlayVipWheelMiniGameResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonWheelsRequestHandlerProxy/GetPlayerWheelDetails": {
      "post": {
        "tags": [
          "SingletonWheelsRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPlayerWheelDetailsResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonWheelsRequestHandlerProxy/GetNextWheelPrizes": {
      "post": {
        "tags": [
          "SingletonWheelsRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetNextWheelPrizesResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonMonthlyBoxRequestHandlerProxy/GetPlayerMonthlyBoxInfo": {
      "post": {
        "tags": [
          "SingletonMonthlyBoxRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPlayerMonthlyBoxInfoResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonMonthlyBoxRequestHandlerProxy/PlayMonthlyBoxMiniGame": {
      "post": {
        "tags": [
          "SingletonMonthlyBoxRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "MonthlyBoxMiniGameId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlayMonthlyBoxMiniGameResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonMoneyMakerPromotionInfoRequestHandlerProxy/MoneyMakerPromotionInfo": {
      "post": {
        "tags": [
          "SingletonMoneyMakerPromotionInfoRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MoneyMakerPromotionInfoResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonMiniGameRequestHandlerProxy/GetMiniGameUrl": {
      "post": {
        "tags": [
          "SingletonMiniGameRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "MiniGameId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetMiniGameUrlResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonPrognosticMiniGameRequestHandlerProxy/GetPrognosticMiniGameAccessToken": {
      "post": {
        "tags": [
          "SingletonPrognosticMiniGameRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPrognosticMiniGameAccessTokenResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonMissionsAvailableRequestHandlerProxy/GetMissionsAvailableOverview": {
      "post": {
        "tags": [
          "SingletonMissionsAvailableRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetMissionsAvailableOverviewResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonMissionsAvailableRequestHandlerProxy/GetOngoingAvailableMissions": {
      "post": {
        "tags": [
          "SingletonMissionsAvailableRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetOngoingAvailableMissionsRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetOngoingAvailableMissionsResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonMissionsAvailableRequestHandlerProxy/MarkMissionsAsSeen": {
      "post": {
        "tags": [
          "SingletonMissionsAvailableRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkMissionsAsSeenRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarkMissionsAsSeenResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonMissionParticipationRequestHandlerProxy/GetMissionParticipationProgress": {
      "post": {
        "tags": [
          "SingletonMissionParticipationRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMissionParticipationProgressRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetMissionParticipationProgressResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonMissionParticipationRequestHandlerProxy/ParticipateInMission": {
      "post": {
        "tags": [
          "SingletonMissionParticipationRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ParticipateInMissionRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ParticipateInMissionResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonMissionParticipationStepsRequestHandlerProxy/GetMissionParticipationSteps": {
      "post": {
        "tags": [
          "SingletonMissionParticipationStepsRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMissionParticipationStepsRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetMissionParticipationStepsResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonMissionCollectablePrizesRequestHandlerProxy/GetMissionCollectablePrizes": {
      "post": {
        "tags": [
          "SingletonMissionCollectablePrizesRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "MissionId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetMissionCollectablePrizesResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonMissionCollectablePrizesRequestHandlerProxy/CollectMissionPrizes": {
      "post": {
        "tags": [
          "SingletonMissionCollectablePrizesRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "MissionId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectMissionPrizesResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonMissionCollectablePrizesRequestHandlerProxy/CollectMissionPrizesDetailed": {
      "post": {
        "tags": [
          "SingletonMissionCollectablePrizesRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "MissionId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectMissionPrizesDetailedResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonGetAvailableCampaignsRequestHandlerProxy/GetAvailableCampaigns": {
      "post": {
        "tags": [
          "SingletonGetAvailableCampaignsRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAvailableCampaignsResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonDailyRewardRequestHandlerProxy/GetPlayerDailyReward": {
      "post": {
        "tags": [
          "SingletonDailyRewardRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlayerDailyRewardResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/SingletonGetAvailableLevelUpRewardsRequestHandlerProxy/GetAvailableLevelUpRewards": {
      "post": {
        "tags": [
          "SingletonGetAvailableLevelUpRewardsRequestHandlerProxy"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAvailableLevelUpRewardsResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/VipRequestHandler/GetVipPrizes": {
      "post": {
        "tags": [
          "VipRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VipPrizesResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/VipRequestHandler/BuyVipPrize": {
      "post": {
        "tags": [
          "VipRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "PrizeId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BuyVipPrizeResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/VipRequestHandler/GetVipInfo": {
      "post": {
        "tags": [
          "VipRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetVipInfoResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/VipRequestHandler/GetVipRanks": {
      "post": {
        "tags": [
          "VipRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetVipRanksResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/VipRequestHandler/CanBuyVipBonus": {
      "post": {
        "tags": [
          "VipRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CanBuyVipBonusResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/VipRequestHandler/BuyVipBonus": {
      "post": {
        "tags": [
          "VipRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BuyVipBonusResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/VipRequestHandler/GetCoinsHistory": {
      "post": {
        "tags": [
          "VipRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "IncludeTotal",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetCoinsHistoryResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ClubVipRequestHandler/GetVipInitialization": {
      "post": {
        "tags": [
          "ClubVipRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "RetrieveRanksInfo",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetVipInitializationResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ClubVipRequestHandler/PlayVipWheel": {
      "post": {
        "tags": [
          "ClubVipRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "WheelId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlayVipWheelResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ClubVipRequestHandler/PlayMonthlyBox": {
      "post": {
        "tags": [
          "ClubVipRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlayMonthlyBoxRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlayMonthlyBoxResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ClubVipRequestHandler/ResetVipStatus": {
      "post": {
        "tags": [
          "ClubVipRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "Origin",
            "in": "query",
            "schema": {
              "enum": [
                "Unknown",
                "Extranet",
                "Website"
              ],
              "type": "string"
            }
          },
          {
            "name": "ResetVipCoins",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResetVipStatusResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ClubVipRequestHandler/GetMinimalRankToAllowStatusReset": {
      "post": {
        "tags": [
          "ClubVipRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetMinimalVipRankToAllowResetResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ClubVipRequestHandler/CanPlayerResetVipStatus": {
      "post": {
        "tags": [
          "ClubVipRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CanPlayerResetVipStatusResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ClubVipRequestHandler/FeatureIsEnabled": {
      "post": {
        "tags": [
          "ClubVipRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "Feature",
            "in": "query",
            "schema": {
              "enum": [
                "None",
                "ResetStatus"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureEnabledResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ShopRequestHandler/GetShopCategories": {
      "post": {
        "tags": [
          "ShopRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "Shop",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetShopCategoriesResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ShopRequestHandler/GetShopHistory": {
      "post": {
        "tags": [
          "ShopRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "PageIndex",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageCount",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Shop",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetShopHistoryResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ShopRequestHandler/GetPlayerRankInfo": {
      "post": {
        "tags": [
          "ShopRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "Shop",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPlayerRankInfoResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ShopRequestHandler/GetShopProducts": {
      "post": {
        "tags": [
          "ShopRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetShopProductsRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetShopProductsResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ShopRequestHandler/ShopPurchase": {
      "post": {
        "tags": [
          "ShopRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShopPurchaseRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShopPurchaseResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/ShopRequestHandler/ShopSearch": {
      "post": {
        "tags": [
          "ShopRequestHandler"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/NodeTypeDefaultFinalClient"
          },
          {
            "$ref": "#/components/parameters/PlayerId"
          },
          {
            "$ref": "#/components/parameters/RoomDomain"
          },
          {
            "name": "Query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Max",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PaginationIndex",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PaginationLimit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Shop",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetShopProductsResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "GetUnavailableProductsResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "UnavailableProducts": {
            "title": "UnavailableProducts",
            "type": "array",
            "items": {
              "enum": [
                "None",
                "Bonus",
                "CasinoPackage",
                "Credit",
                "DepositPrize",
                "Freebet",
                "GameFeature",
                "Ptg",
                "PtgColombia",
                "Voucher",
                "InHouse",
                "ScratchCard",
                "DonationCard",
                "Contest"
              ],
              "type": "string"
            }
          },
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidRoom"
            ],
            "type": "string"
          }
        }
      },
      "GetShopOrderPendingResponseDTO": {
        "required": [
          "Total",
          "Status"
        ],
        "properties": {
          "Orders": {
            "title": "Orders",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShopOrderDTO"
            }
          },
          "Total": {
            "title": "Total",
            "type": "integer",
            "format": "int32"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "ServerError",
              "Success",
              "Unathorized",
              "BadRequest",
              "NotImplemented",
              "CannotAfford",
              "InvalidShop",
              "InvalidUser",
              "InvalidPrice",
              "InvalidQuery",
              "InvalidVipRank",
              "InvalidUserTrust",
              "OutOfStockRefunded",
              "InvalidAddress",
              "InvalidZipCode",
              "InvalidCity",
              "InvalidCountryIsoCode",
              "InvalidMunicipality",
              "InvalidDepartment",
              "InvalidVirtualRoom",
              "PlayerRefuseBonus",
              "PlayerBonusNotAllowed",
              "PlayerLimitedBetting",
              "ProductUnavailable",
              "ProviderErrorRefunded",
              "ProviderError",
              "PlayerNotTrusted",
              "PlayerSelfExcluded",
              "PlayerHasNotRightLicense",
              "PlayerHasLessThatMinimumAge",
              "PlayerSuspended",
              "PlayerDeleted",
              "PlayerVulnerable"
            ],
            "type": "string"
          },
          "Message": {
            "title": "Message",
            "type": "string"
          }
        }
      },
      "ShopOrderDTO": {
        "required": [
          "Id",
          "OrderDate",
          "State"
        ],
        "properties": {
          "Id": {
            "title": "Id",
            "type": "string",
            "format": "uuid"
          },
          "OrderDate": {
            "title": "OrderDate",
            "type": "string",
            "format": "date-time"
          },
          "State": {
            "title": "State",
            "enum": [
              "Failed",
              "PendingPayment",
              "PendingDelivery",
              "Delivered",
              "Rejected",
              "Refunded"
            ],
            "type": "string"
          },
          "Items": {
            "title": "Items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShopOrderElementDTO"
            }
          }
        }
      },
      "ShopOrderElementDTO": {
        "required": [
          "Product",
          "ProductType",
          "NewShopProductType",
          "State",
          "ProductCategory",
          "IsExchanged"
        ],
        "properties": {
          "Product": {
            "title": "Product",
            "type": "string",
            "format": "uuid"
          },
          "ProductType": {
            "title": "ProductType",
            "enum": [
              "Unknown",
              "Tangible",
              "Virtual"
            ],
            "type": "string"
          },
          "NewShopProductType": {
            "title": "NewShopProductType",
            "enum": [
              "Unknown",
              "Physical",
              "VirtualInternal",
              "VirtualExternal"
            ],
            "type": "string"
          },
          "Title": {
            "title": "Title",
            "type": "string"
          },
          "Thumb": {
            "title": "Thumb",
            "type": "string"
          },
          "State": {
            "title": "State",
            "enum": [
              "Failed",
              "PendingPayment",
              "PendingDelivery",
              "Delivered",
              "Rejected",
              "Refunded"
            ],
            "type": "string"
          },
          "Tracking": {
            "title": "Tracking",
            "type": "string"
          },
          "InRoomCode": {
            "title": "InRoomCode",
            "type": "string"
          },
          "ValidUntil": {
            "title": "ValidUntil",
            "type": "string",
            "format": "date-time"
          },
          "ProductCategory": {
            "title": "ProductCategory",
            "enum": [
              "Default",
              "VoucherCode",
              "Freebet",
              "GameFeature",
              "Bonus",
              "Item",
              "Credit",
              "DepositPrize",
              "CasinoPackage",
              "ScratchCard",
              "DonationCard",
              "Contest",
              "CreditRealMoney",
              "CreditVipMoney",
              "CreditPlayMoney",
              "CreditBonusMoney"
            ],
            "type": "string"
          },
          "ProductCode": {
            "title": "ProductCode",
            "type": "string"
          },
          "RedeemUrl": {
            "title": "RedeemUrl",
            "type": "string"
          },
          "IsExchanged": {
            "title": "IsExchanged",
            "type": "boolean"
          },
          "ExchangeDateTime": {
            "title": "ExchangeDateTime",
            "type": "string",
            "format": "date-time"
          },
          "DonateAmount": {
            "title": "DonateAmount",
            "type": "number",
            "format": "double"
          },
          "NeededPersonalInfoToOrder": {
            "title": "NeededPersonalInfoToOrder",
            "type": "array",
            "items": {
              "enum": [
                "Email",
                "Address",
                "PhoneNumber"
              ],
              "type": "string"
            }
          }
        }
      },
      "GetPlayerTicketsResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidRoom",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "AllowedToView": {
            "$ref": "#/components/schemas/ShopFeatureAllowedDTO"
          },
          "PlayerTickets": {
            "title": "PlayerTickets",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlayerTicketDTO"
            }
          }
        }
      },
      "ShopFeatureAllowedDTO": {
        "required": [
          "IsAllowed"
        ],
        "properties": {
          "IsAllowed": {
            "title": "IsAllowed",
            "type": "boolean"
          },
          "Reason": {
            "title": "Reason",
            "enum": [
              "Exclusion",
              "Untrusted",
              "MinimumAge",
              "NotRightLicense",
              "Suspended",
              "Deleted",
              "Blacklisted",
              "Vulnerable"
            ],
            "type": "string"
          }
        }
      },
      "PlayerTicketDTO": {
        "required": [
          "PlayerTicketId",
          "TicketId"
        ],
        "properties": {
          "PlayerTicketId": {
            "title": "PlayerTicketId",
            "type": "string",
            "format": "uuid"
          },
          "TicketId": {
            "title": "TicketId",
            "type": "string",
            "format": "uuid"
          },
          "TicketName": {
            "title": "TicketName",
            "type": "string"
          },
          "TicketImageUrl": {
            "title": "TicketImageUrl",
            "type": "string"
          },
          "TicketShortName": {
            "title": "TicketShortName",
            "type": "string"
          }
        }
      },
      "GetAvailableTicketsForPlayerResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidRoom",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "AllowedToView": {
            "$ref": "#/components/schemas/ShopFeatureAllowedDTO"
          },
          "AvailableTickets": {
            "title": "AvailableTickets",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AvailablePlayerTicketDTO"
            }
          }
        }
      },
      "AvailablePlayerTicketDTO": {
        "required": [
          "TicketId",
          "TicketType"
        ],
        "properties": {
          "TicketId": {
            "title": "TicketId",
            "type": "string",
            "format": "uuid"
          },
          "TicketName": {
            "title": "TicketName",
            "type": "string"
          },
          "TicketImageUrl": {
            "title": "TicketImageUrl",
            "type": "string"
          },
          "TicketType": {
            "title": "TicketType",
            "type": "integer",
            "format": "int32"
          },
          "TicketShortName": {
            "title": "TicketShortName",
            "type": "string"
          }
        }
      },
      "PurchaseScratchCardRequestDTO": {
        "properties": {
          "DynamicPrice": {
            "$ref": "#/components/schemas/DynamicPurchasePriceDTO"
          }
        }
      },
      "DynamicPurchasePriceDTO": {
        "required": [
          "Amount",
          "SellablePriceId"
        ],
        "properties": {
          "Amount": {
            "title": "Amount",
            "type": "number",
            "format": "double"
          },
          "SellablePriceId": {
            "title": "SellablePriceId",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "ScratchCardPurchaseResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "PaymentError",
              "DeliveryError",
              "NotAllowed"
            ],
            "type": "string"
          },
          "ScratchCardPurchased": {
            "$ref": "#/components/schemas/PurchaseScratchCardResponseDTO"
          },
          "PaymentError": {
            "$ref": "#/components/schemas/ShopPaymentErrorDTO"
          },
          "NotAllowed": {
            "$ref": "#/components/schemas/NotAllowedDetailDTO"
          }
        }
      },
      "PurchaseScratchCardResponseDTO": {
        "required": [
          "TransactionId"
        ],
        "properties": {
          "TransactionId": {
            "title": "TransactionId",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "ShopPaymentErrorDTO": {
        "required": [
          "Error"
        ],
        "properties": {
          "Error": {
            "title": "Error",
            "enum": [
              "None",
              "PlayerCannotAfford",
              "InvalidVipRank",
              "Unexpected"
            ],
            "type": "string"
          }
        }
      },
      "NotAllowedDetailDTO": {
        "required": [
          "Reason"
        ],
        "properties": {
          "Reason": {
            "title": "Reason",
            "enum": [
              "Exclusion",
              "Untrusted",
              "NotAllowed",
              "MinimumAge",
              "NotRightLicense",
              "Suspended",
              "Deleted",
              "Blacklisted",
              "Vulnerable",
              "Inactive"
            ],
            "type": "string"
          }
        }
      },
      "VipMoneyConverterInfoResponseDTO": {
        "required": [
          "IsEnabled",
          "ConversionRate"
        ],
        "properties": {
          "AllowedToConvert": {
            "$ref": "#/components/schemas/ConvertToCashFeatureAllowedDTO"
          },
          "IsEnabled": {
            "title": "IsEnabled",
            "type": "boolean"
          },
          "ConversionRate": {
            "title": "ConversionRate",
            "type": "number",
            "format": "double"
          }
        }
      },
      "ConvertToCashFeatureAllowedDTO": {
        "required": [
          "IsAllowed"
        ],
        "properties": {
          "IsAllowed": {
            "title": "IsAllowed",
            "type": "boolean"
          },
          "Reason": {
            "title": "Reason",
            "enum": [
              "NotTrusted",
              "Exclusion",
              "NotRequiredAge",
              "NotRightLicense",
              "Suspended",
              "Deleted",
              "NotEnabled",
              "Vulnerable"
            ],
            "type": "string"
          }
        }
      },
      "ConvertToCashResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful"
            ],
            "type": "string"
          }
        }
      },
      "GetVipMoneyBalanceResponseDTO": {
        "required": [
          "Status",
          "AvailableAmount"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "AvailableAmount": {
            "title": "AvailableAmount",
            "type": "integer",
            "format": "int32"
          },
          "Allowed": {
            "$ref": "#/components/schemas/GetVipMoneyBalanceFeatureAllowedDTO"
          }
        }
      },
      "GetVipMoneyBalanceFeatureAllowedDTO": {
        "required": [
          "IsAllowed"
        ],
        "properties": {
          "IsAllowed": {
            "title": "IsAllowed",
            "type": "boolean"
          },
          "Reason": {
            "title": "Reason",
            "enum": [
              "Exclusion",
              "MinimumAge",
              "Blacklisted",
              "NotEnabled",
              "Deleted",
              "Suspended",
              "Vulnerable"
            ],
            "type": "string"
          }
        }
      },
      "DonationCardPurchaseResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "PaymentError",
              "DeliveryError",
              "NotAllowed"
            ],
            "type": "string"
          },
          "DonationCardPurchased": {
            "$ref": "#/components/schemas/PurchaseDonationCardResponseDTO"
          },
          "PaymentError": {
            "$ref": "#/components/schemas/ShopPaymentErrorDTO"
          },
          "NotAllowed": {
            "$ref": "#/components/schemas/NotAllowedDetailDTO"
          }
        }
      },
      "PurchaseDonationCardResponseDTO": {
        "required": [
          "TransactionId"
        ],
        "properties": {
          "TransactionId": {
            "title": "TransactionId",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "ContestPurchaseResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "PaymentError",
              "DeliveryError",
              "NotAllowed"
            ],
            "type": "string"
          },
          "ContestPurchased": {
            "$ref": "#/components/schemas/PurchaseContestResponseDTO"
          },
          "PaymentError": {
            "$ref": "#/components/schemas/ShopPaymentErrorDTO"
          },
          "NotAllowed": {
            "$ref": "#/components/schemas/NotAllowedDetailDTO"
          }
        }
      },
      "PurchaseContestResponseDTO": {
        "required": [
          "TransactionId"
        ],
        "properties": {
          "TransactionId": {
            "title": "TransactionId",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "ShopGetContestIdentifierResponseDTO": {
        "required": [
          "RecurringContestId",
          "Status"
        ],
        "properties": {
          "RecurringContestId": {
            "title": "RecurringContestId",
            "type": "string",
            "format": "uuid"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success"
            ],
            "type": "string"
          }
        }
      },
      "CreditHistoryResponseDTO": {
        "required": [
          "Status",
          "TotalElement"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success"
            ],
            "type": "string"
          },
          "TotalElement": {
            "title": "TotalElement",
            "type": "integer",
            "format": "int32"
          },
          "Orders": {
            "title": "Orders",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreditOrderDTO"
            }
          }
        }
      },
      "CreditOrderDTO": {
        "required": [
          "OrderedDate",
          "PurchaseValue"
        ],
        "properties": {
          "OrderedDate": {
            "title": "OrderedDate",
            "type": "string",
            "format": "date-time"
          },
          "PurchaseValue": {
            "title": "PurchaseValue",
            "type": "number",
            "format": "double"
          },
          "CreditName": {
            "title": "CreditName",
            "type": "string"
          }
        }
      },
      "GetPlayerAvailableFeaturesResponseDTO": {
        "required": [
          "Status",
          "HasShopAccess",
          "IsRestrictedByAge",
          "IsRestrictedBySelfExclusion"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidRoom",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "HasShopAccess": {
            "title": "HasShopAccess",
            "type": "boolean"
          },
          "IsRestrictedByAge": {
            "title": "IsRestrictedByAge",
            "type": "boolean"
          },
          "IsRestrictedBySelfExclusion": {
            "title": "IsRestrictedBySelfExclusion",
            "type": "boolean"
          },
          "AllowToSeeShop": {
            "$ref": "#/components/schemas/ShopFeatureAllowedDTO"
          },
          "AllowToRedeemCode": {
            "$ref": "#/components/schemas/RedeemCodeFeatureAllowedDTO"
          }
        }
      },
      "RedeemCodeFeatureAllowedDTO": {
        "required": [
          "IsAllowed"
        ],
        "properties": {
          "IsAllowed": {
            "title": "IsAllowed",
            "type": "boolean"
          },
          "Reason": {
            "title": "Reason",
            "enum": [
              "Exclusion",
              "Vulnerable"
            ],
            "type": "string"
          }
        }
      },
      "ScratchCardWonEventAck": { },
      "GetScratchCardPrizeInfoResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidPlayer",
              "InvalidRoom"
            ],
            "type": "string"
          },
          "PrizeAmount": {
            "title": "PrizeAmount",
            "type": "number",
            "format": "double"
          }
        }
      },
      "GetPlayerShopAccessResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidRoom",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "AllowedToSeeShop": {
            "$ref": "#/components/schemas/ShopFeatureAllowedDTO"
          }
        }
      },
      "GetPlayerVipRankInfoResponseDTO": {
        "required": [
          "Points",
          "Coins",
          "Status",
          "IsWheelEnabled"
        ],
        "properties": {
          "Points": {
            "title": "Points",
            "type": "number",
            "format": "double"
          },
          "Coins": {
            "title": "Coins",
            "type": "number",
            "format": "double"
          },
          "CurrentStatus": {
            "$ref": "#/components/schemas/RankInfoDTO"
          },
          "NextStatus": {
            "$ref": "#/components/schemas/RankInfoDTO"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidPlayer",
              "InvalidRoom"
            ],
            "type": "string"
          },
          "AllowedToViewCoins": {
            "$ref": "#/components/schemas/VipFeatureAllowedDTO"
          },
          "AllowedToViewClubRank": {
            "$ref": "#/components/schemas/VipFeatureAllowedDTO"
          },
          "IsWheelEnabled": {
            "title": "IsWheelEnabled",
            "type": "boolean"
          }
        }
      },
      "RankInfoDTO": {
        "required": [
          "Status",
          "Threshold"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "title": "Name",
            "type": "string"
          },
          "Threshold": {
            "title": "Threshold",
            "type": "number",
            "format": "double"
          },
          "ThumbnailUrl": {
            "title": "ThumbnailUrl",
            "type": "string"
          }
        }
      },
      "VipFeatureAllowedDTO": {
        "required": [
          "IsAllowed"
        ],
        "properties": {
          "IsAllowed": {
            "title": "IsAllowed",
            "type": "boolean"
          },
          "Reason": {
            "title": "Reason",
            "enum": [
              "Exclusion",
              "MinimumAge",
              "Blacklisted",
              "NotAllowed",
              "Deleted",
              "Suspended",
              "Vulnerable",
              "Inactive",
              "Disabled"
            ],
            "type": "string"
          }
        }
      },
      "GetPrizeInformationResponseDTO": {
        "required": [
          "Status",
          "PrizeType"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidRoom",
              "InvalidPrizeId"
            ],
            "type": "string"
          },
          "PrizeType": {
            "title": "PrizeType",
            "enum": [
              "Other",
              "PlayMoney",
              "RealMoney",
              "VipMoney",
              "BonusMoney",
              "FreeBet",
              "FreePlay",
              "FreeRound",
              "MoneyMaker",
              "ClubTicket",
              "CasinoBoost",
              "TournamentTicket"
            ],
            "type": "string"
          },
          "TranslatedPrizeTitle": {
            "title": "TranslatedPrizeTitle",
            "type": "string"
          }
        }
      },
      "GetPlayerWheelResponseDTO": {
        "required": [
          "WheelAvailable",
          "IsWheelEnabled",
          "CanPlayWheel",
          "WheelsAvailableCount",
          "Status"
        ],
        "properties": {
          "WheelAvailable": {
            "title": "WheelAvailable",
            "type": "boolean"
          },
          "IsWheelEnabled": {
            "title": "IsWheelEnabled",
            "type": "boolean"
          },
          "CanPlayWheel": {
            "title": "CanPlayWheel",
            "type": "boolean"
          },
          "WheelsAvailableCount": {
            "title": "WheelsAvailableCount",
            "type": "integer",
            "format": "int32"
          },
          "FirstAvailableWheelMiniGameId": {
            "title": "FirstAvailableWheelMiniGameId",
            "type": "string",
            "format": "uuid"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidPlayer",
              "InvalidRoom"
            ],
            "type": "string"
          },
          "AllowedToPlay": {
            "$ref": "#/components/schemas/VipFeatureAllowedDTO"
          }
        }
      },
      "PlayVipWheelMiniGameResponseDTO": {
        "required": [
          "Status",
          "Prize"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "AlreadyPlayed",
              "InvalidWheelId",
              "PlayerNotFound",
              "PlayerNotAuthorized"
            ],
            "type": "string"
          },
          "Prize": {
            "title": "Prize",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "GetPlayerWheelDetailsResponseDTO": {
        "required": [
          "WheelId",
          "AreAllWheelsPlayed",
          "IsPlayable",
          "RemainingPointsForNextWheel",
          "ClubRankCount",
          "CurrentClubRank",
          "Status"
        ],
        "properties": {
          "WheelId": {
            "title": "WheelId",
            "type": "string",
            "format": "uuid"
          },
          "WheelName": {
            "title": "WheelName",
            "type": "string"
          },
          "AreAllWheelsPlayed": {
            "title": "AreAllWheelsPlayed",
            "type": "boolean"
          },
          "IsPlayable": {
            "title": "IsPlayable",
            "type": "boolean"
          },
          "RemainingPointsForNextWheel": {
            "title": "RemainingPointsForNextWheel",
            "type": "number",
            "format": "double"
          },
          "Prizes": {
            "title": "Prizes",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WheelPrizeDTO"
            }
          },
          "ClubRankCount": {
            "title": "ClubRankCount",
            "type": "integer",
            "format": "int32"
          },
          "CurrentClubRank": {
            "title": "CurrentClubRank",
            "type": "integer",
            "format": "int32"
          },
          "Achievement": {
            "title": "Achievement",
            "type": "number",
            "format": "double"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidPlayer",
              "InvalidRoom"
            ],
            "type": "string"
          }
        }
      },
      "WheelPrizeDTO": {
        "required": [
          "Id"
        ],
        "properties": {
          "Id": {
            "title": "Id",
            "type": "string",
            "format": "uuid"
          },
          "Name": {
            "title": "Name",
            "type": "string"
          }
        }
      },
      "GetNextWheelPrizesResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "NextWheels": {
            "title": "NextWheels",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetNextWheelDTO"
            }
          },
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidPlayer",
              "InvalidRoom"
            ],
            "type": "string"
          }
        }
      },
      "GetNextWheelDTO": {
        "required": [
          "WheelVipPointAmount",
          "Order"
        ],
        "properties": {
          "WheelName": {
            "title": "WheelName",
            "type": "string"
          },
          "WheelIconStatus": {
            "title": "WheelIconStatus",
            "type": "string"
          },
          "WheelVipPointAmount": {
            "title": "WheelVipPointAmount",
            "type": "number",
            "format": "double"
          },
          "Order": {
            "title": "Order",
            "type": "integer",
            "format": "int32"
          },
          "Prizes": {
            "title": "Prizes",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetNextWheelPrizeDTO"
            }
          }
        }
      },
      "GetNextWheelPrizeDTO": {
        "required": [
          "TicketId",
          "Order"
        ],
        "properties": {
          "TicketId": {
            "title": "TicketId",
            "type": "string",
            "format": "uuid"
          },
          "TicketName": {
            "title": "TicketName",
            "type": "string"
          },
          "Order": {
            "title": "Order",
            "type": "integer",
            "format": "int32"
          },
          "Products": {
            "title": "Products",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetNextWheelProductDTO"
            }
          }
        }
      },
      "GetNextWheelProductDTO": {
        "properties": {
          "ProductName": {
            "title": "ProductName",
            "type": "string"
          },
          "ProductImage": {
            "title": "ProductImage",
            "type": "string"
          }
        }
      },
      "GetPlayerMonthlyBoxInfoResponseDTO": {
        "required": [
          "MonthlyBoxAvailable",
          "IsMonthlyBoxEnabled",
          "CanPlayMonthlyBox",
          "Status"
        ],
        "properties": {
          "MonthlyBoxAvailable": {
            "title": "MonthlyBoxAvailable",
            "type": "boolean"
          },
          "IsMonthlyBoxEnabled": {
            "title": "IsMonthlyBoxEnabled",
            "type": "boolean"
          },
          "CanPlayMonthlyBox": {
            "title": "CanPlayMonthlyBox",
            "type": "boolean"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidPlayer",
              "InvalidRoom"
            ],
            "type": "string"
          },
          "FirstAvailableMonthlyBoxMiniGameId": {
            "title": "FirstAvailableMonthlyBoxMiniGameId",
            "type": "string",
            "format": "uuid"
          },
          "NextBoxAvailableAt": {
            "title": "NextBoxAvailableAt",
            "type": "string",
            "format": "date-time"
          },
          "AllowedToPlay": {
            "$ref": "#/components/schemas/VipFeatureAllowedDTO"
          }
        }
      },
      "PlayMonthlyBoxMiniGameResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "AlreadyPlayed",
              "NoMarketingAction",
              "RoomNotFound",
              "PlayerNotFound",
              "WrongRoomForPlayer",
              "PlayerNotAuthorized"
            ],
            "type": "string"
          },
          "PrizeWon": {
            "$ref": "#/components/schemas/PrizeDTO"
          },
          "Prizes": {
            "title": "Prizes",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "PrizeDTO": {
        "required": [
          "Id",
          "PrizeConfigurationId",
          "PrizeType",
          "Amount",
          "Used",
          "Order",
          "IsOnlyFirstDeposit",
          "IsBonusPt1",
          "IsBonus"
        ],
        "properties": {
          "Id": {
            "title": "Id",
            "type": "string",
            "format": "uuid"
          },
          "PrizeConfigurationId": {
            "title": "PrizeConfigurationId",
            "type": "string",
            "format": "uuid"
          },
          "Description": {
            "title": "Description",
            "type": "string"
          },
          "Title": {
            "title": "Title",
            "type": "string"
          },
          "TermsAndConditions": {
            "title": "TermsAndConditions",
            "type": "string"
          },
          "WarningMessage": {
            "title": "WarningMessage",
            "type": "string"
          },
          "ExtraInfo": {
            "title": "ExtraInfo",
            "type": "string"
          },
          "TicketId": {
            "title": "TicketId",
            "type": "string",
            "format": "uuid"
          },
          "Name": {
            "title": "Name",
            "type": "string"
          },
          "PictureUrl": {
            "title": "PictureUrl",
            "type": "string"
          },
          "PrizeType": {
            "title": "PrizeType",
            "enum": [
              "Ticket",
              "Bonus",
              "DepositBonus",
              "RealMoney",
              "VipPoint",
              "FreeBet",
              "FreeSpin",
              "Item"
            ],
            "type": "string"
          },
          "Amount": {
            "title": "Amount",
            "type": "number",
            "format": "double"
          },
          "Unit": {
            "title": "Unit",
            "type": "string"
          },
          "Used": {
            "title": "Used",
            "type": "boolean"
          },
          "Values": {
            "title": "Values",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "Order": {
            "title": "Order",
            "type": "integer",
            "format": "int32"
          },
          "MinDepositAmount": {
            "title": "MinDepositAmount",
            "type": "number",
            "format": "double"
          },
          "IsOnlyFirstDeposit": {
            "title": "IsOnlyFirstDeposit",
            "type": "boolean"
          },
          "Cost": {
            "title": "Cost",
            "type": "number",
            "format": "double"
          },
          "IsBonusPt1": {
            "title": "IsBonusPt1",
            "type": "boolean"
          },
          "IsBonus": {
            "title": "IsBonus",
            "type": "boolean"
          }
        }
      },
      "MoneyMakerPromotionInfoResponse": {
        "required": [
          "Status"
        ],
        "properties": {
          "AllowedToReceiveMoneyMakerPromotion": {
            "$ref": "#/components/schemas/MoneyMakerPromotionAllowedResult"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success"
            ],
            "type": "string"
          }
        }
      },
      "MoneyMakerPromotionAllowedResult": {
        "required": [
          "IsAllowed"
        ],
        "properties": {
          "IsAllowed": {
            "title": "IsAllowed",
            "type": "boolean"
          },
          "Reason": {
            "title": "Reason",
            "enum": [
              "Inactive",
              "Blacklisted",
              "Excluded",
              "Deleted",
              "Suspended",
              "IsUntrusted",
              "Vulnerable",
              "Disabled"
            ],
            "type": "string"
          }
        }
      },
      "GetMiniGameUrlResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Url": {
            "title": "Url",
            "type": "string"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "NotAllowed"
            ],
            "type": "string"
          },
          "NotAllowed": {
            "$ref": "#/components/schemas/NotAllowedDetailDTO"
          }
        }
      },
      "GetPrognosticMiniGameAccessTokenResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "AccessToken": {
            "title": "AccessToken",
            "type": "string"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "AllowToPlay": {
            "$ref": "#/components/schemas/PrognosticMiniGameAllowedDTO"
          }
        }
      },
      "PrognosticMiniGameAllowedDTO": {
        "required": [
          "IsAllowed"
        ],
        "properties": {
          "IsAllowed": {
            "title": "IsAllowed",
            "type": "boolean"
          },
          "Reason": {
            "title": "Reason",
            "enum": [
              "Exclusion",
              "MinimumAgeToReceiveRewards",
              "Suspended",
              "Deleted",
              "Blacklisted",
              "WaitingForIdentification",
              "NotEnabled",
              "Vulnerable",
              "Inactive"
            ],
            "type": "string"
          }
        }
      },
      "GetMissionsAvailableOverviewResponseDTO": {
        "required": [
          "AvailableMissionsCount",
          "AvailableMissionsUnseenCount",
          "Status"
        ],
        "properties": {
          "AvailableMissionsCount": {
            "title": "AvailableMissionsCount",
            "type": "integer",
            "format": "int32"
          },
          "AvailableMissionsUnseenCount": {
            "title": "AvailableMissionsUnseenCount",
            "type": "integer",
            "format": "int32"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "AllowedToView": {
            "$ref": "#/components/schemas/MissionsAllowedDTO"
          }
        }
      },
      "MissionsAllowedDTO": {
        "required": [
          "IsAllowed"
        ],
        "properties": {
          "IsAllowed": {
            "title": "IsAllowed",
            "type": "boolean"
          },
          "Reason": {
            "title": "Reason",
            "enum": [
              "NotEnabled",
              "Suspended",
              "Deleted",
              "Blacklisted",
              "MinimumAgeToReceiveRewards",
              "Exclusion",
              "Vulnerable",
              "PlayerShouldNotSeeMissions"
            ],
            "type": "string"
          }
        }
      },
      "GetOngoingAvailableMissionsRequestDTO": {
        "required": [
          "NumberOfMissionsToReturn"
        ],
        "properties": {
          "MissionsAfter": {
            "title": "MissionsAfter",
            "type": "string",
            "format": "uuid"
          },
          "NumberOfMissionsToReturn": {
            "title": "NumberOfMissionsToReturn",
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "GetOngoingAvailableMissionsResponseDTO": {
        "required": [
          "OngoingMissionsTotalCount",
          "Status"
        ],
        "properties": {
          "OngoingMissions": {
            "title": "OngoingMissions",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OngoingMission"
            }
          },
          "OngoingMissionsTotalCount": {
            "title": "OngoingMissionsTotalCount",
            "type": "integer",
            "format": "int32"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "AllowedToView": {
            "$ref": "#/components/schemas/MissionsAllowedDTO"
          }
        }
      },
      "OngoingMission": {
        "required": [
          "MissionId",
          "EndDate",
          "IsNew",
          "MissionMechanic",
          "ProgressiveStepsMechanic",
          "ProgressiveStepsUnlock",
          "OnlyFromMobileApp"
        ],
        "properties": {
          "MissionId": {
            "title": "MissionId",
            "type": "string",
            "format": "uuid"
          },
          "TranslatedTitle": {
            "title": "TranslatedTitle",
            "type": "string"
          },
          "TranslatedIntroduction": {
            "title": "TranslatedIntroduction",
            "type": "string"
          },
          "TranslatedDetails": {
            "title": "TranslatedDetails",
            "type": "string"
          },
          "TranslatedMissionPrizeName": {
            "title": "TranslatedMissionPrizeName",
            "type": "string"
          },
          "HeaderImageUrl": {
            "title": "HeaderImageUrl",
            "type": "string"
          },
          "EndDate": {
            "title": "EndDate",
            "type": "string",
            "format": "date-time"
          },
          "IsNew": {
            "title": "IsNew",
            "type": "boolean"
          },
          "MissionMechanic": {
            "title": "MissionMechanic",
            "enum": [
              "IndependentSteps",
              "ProgressiveSteps"
            ],
            "type": "string"
          },
          "ProgressiveStepsMechanic": {
            "title": "ProgressiveStepsMechanic",
            "enum": [
              "WithoutDuration",
              "WithDuration"
            ],
            "type": "string"
          },
          "ProgressiveStepsUnlock": {
            "title": "ProgressiveStepsUnlock",
            "enum": [
              "AfterCompletion",
              "AfterCompletionAndIfExceededDuration",
              "AfterExceededDuration"
            ],
            "type": "string"
          },
          "PrizeInformation": {
            "$ref": "#/components/schemas/OngoingMissionPrizeInformation"
          },
          "OnlyFromMobileApp": {
            "title": "OnlyFromMobileApp",
            "type": "boolean"
          }
        }
      },
      "OngoingMissionPrizeInformation": {
        "required": [
          "AdditionalPrizes"
        ],
        "properties": {
          "PrizeLabel": {
            "title": "PrizeLabel",
            "type": "string"
          },
          "AdditionalPrizes": {
            "title": "AdditionalPrizes",
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "MarkMissionsAsSeenRequestDTO": {
        "properties": {
          "MissionIds": {
            "title": "MissionIds",
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        }
      },
      "MarkMissionsAsSeenResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "InvalidPlayer"
            ],
            "type": "string"
          }
        }
      },
      "GetMissionParticipationProgressRequestDTO": {
        "properties": {
          "MissionId": {
            "title": "MissionId",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "GetMissionParticipationProgressResponseDTO": {
        "required": [
          "Status",
          "IsOptedIn",
          "TotalMissionStepCount",
          "CompletedMissionStepCount",
          "ParticipationStatus"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "InvalidPlayer",
              "InvalidMission"
            ],
            "type": "string"
          },
          "AllowedToView": {
            "$ref": "#/components/schemas/MissionsAllowedDTO"
          },
          "MissionParticipationId": {
            "title": "MissionParticipationId",
            "type": "string",
            "format": "uuid"
          },
          "IsOptedIn": {
            "title": "IsOptedIn",
            "type": "boolean"
          },
          "OptedInTime": {
            "$ref": "#/components/schemas/DateTimeOffset"
          },
          "Deadline": {
            "$ref": "#/components/schemas/DateTimeOffset"
          },
          "TotalMissionStepCount": {
            "title": "TotalMissionStepCount",
            "type": "integer",
            "format": "int32"
          },
          "CompletedMissionStepCount": {
            "title": "CompletedMissionStepCount",
            "type": "integer",
            "format": "int32"
          },
          "ParticipationStatus": {
            "title": "ParticipationStatus",
            "enum": [
              "Running",
              "Completed",
              "Expired",
              "Stopped",
              "Unknown"
            ],
            "type": "string"
          }
        }
      },
      "DateTimeOffset": {
        "required": [
          "DateTime",
          "UtcDateTime",
          "LocalDateTime",
          "Date",
          "Day",
          "DayOfWeek",
          "DayOfYear",
          "Hour",
          "Millisecond",
          "Minute",
          "Month",
          "Offset",
          "Second",
          "Ticks",
          "UtcTicks",
          "TimeOfDay",
          "Year"
        ],
        "properties": {
          "DateTime": {
            "title": "DateTime",
            "type": "string",
            "format": "date-time"
          },
          "UtcDateTime": {
            "title": "UtcDateTime",
            "type": "string",
            "format": "date-time"
          },
          "LocalDateTime": {
            "title": "LocalDateTime",
            "type": "string",
            "format": "date-time"
          },
          "Date": {
            "title": "Date",
            "type": "string",
            "format": "date-time"
          },
          "Day": {
            "title": "Day",
            "type": "integer",
            "format": "int32"
          },
          "DayOfWeek": {
            "title": "DayOfWeek",
            "enum": [
              "Sunday",
              "Monday",
              "Tuesday",
              "Wednesday",
              "Thursday",
              "Friday",
              "Saturday"
            ],
            "type": "string"
          },
          "DayOfYear": {
            "title": "DayOfYear",
            "type": "integer",
            "format": "int32"
          },
          "Hour": {
            "title": "Hour",
            "type": "integer",
            "format": "int32"
          },
          "Millisecond": {
            "title": "Millisecond",
            "type": "integer",
            "format": "int32"
          },
          "Minute": {
            "title": "Minute",
            "type": "integer",
            "format": "int32"
          },
          "Month": {
            "title": "Month",
            "type": "integer",
            "format": "int32"
          },
          "Offset": {
            "$ref": "#/components/schemas/TimeSpan"
          },
          "Second": {
            "title": "Second",
            "type": "integer",
            "format": "int32"
          },
          "Ticks": {
            "title": "Ticks",
            "type": "integer",
            "format": "int64"
          },
          "UtcTicks": {
            "title": "UtcTicks",
            "type": "integer",
            "format": "int64"
          },
          "TimeOfDay": {
            "$ref": "#/components/schemas/TimeSpan"
          },
          "Year": {
            "title": "Year",
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "TimeSpan": {
        "required": [
          "Ticks",
          "Days",
          "Hours",
          "Milliseconds",
          "Minutes",
          "Seconds",
          "TotalDays",
          "TotalHours",
          "TotalMilliseconds",
          "TotalMinutes",
          "TotalSeconds"
        ],
        "properties": {
          "Ticks": {
            "title": "Ticks",
            "type": "integer",
            "format": "int64"
          },
          "Days": {
            "title": "Days",
            "type": "integer",
            "format": "int32"
          },
          "Hours": {
            "title": "Hours",
            "type": "integer",
            "format": "int32"
          },
          "Milliseconds": {
            "title": "Milliseconds",
            "type": "integer",
            "format": "int32"
          },
          "Minutes": {
            "title": "Minutes",
            "type": "integer",
            "format": "int32"
          },
          "Seconds": {
            "title": "Seconds",
            "type": "integer",
            "format": "int32"
          },
          "TotalDays": {
            "title": "TotalDays",
            "type": "number",
            "format": "double"
          },
          "TotalHours": {
            "title": "TotalHours",
            "type": "number",
            "format": "double"
          },
          "TotalMilliseconds": {
            "title": "TotalMilliseconds",
            "type": "number",
            "format": "double"
          },
          "TotalMinutes": {
            "title": "TotalMinutes",
            "type": "number",
            "format": "double"
          },
          "TotalSeconds": {
            "title": "TotalSeconds",
            "type": "number",
            "format": "double"
          }
        }
      },
      "ParticipateInMissionRequestDTO": {
        "properties": {
          "MissionId": {
            "title": "MissionId",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "ParticipateInMissionResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "InvalidPlayer",
              "InvalidMission",
              "MobileOnlyMission"
            ],
            "type": "string"
          },
          "AllowedToParticipate": {
            "$ref": "#/components/schemas/MissionsAllowedDTO"
          }
        }
      },
      "GetMissionParticipationStepsRequestDTO": {
        "properties": {
          "MissionParticipationId": {
            "title": "MissionParticipationId",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "GetMissionParticipationStepsResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "AllowedToView": {
            "$ref": "#/components/schemas/MissionsAllowedDTO"
          },
          "MissionParticipationSteps": {
            "title": "MissionParticipationSteps",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MissionParticipationStep"
            }
          }
        }
      },
      "MissionParticipationStep": {
        "required": [
          "MissionStepId",
          "MissionStepType",
          "Status",
          "UnlockNextStepConditions"
        ],
        "properties": {
          "MissionStepId": {
            "title": "MissionStepId",
            "type": "string",
            "format": "uuid"
          },
          "MissionStepType": {
            "title": "MissionStepType",
            "type": "string"
          },
          "TranslatedTitle": {
            "title": "TranslatedTitle",
            "type": "string"
          },
          "TranslatedDescription": {
            "title": "TranslatedDescription",
            "type": "string"
          },
          "TranslatedPrizeName": {
            "title": "TranslatedPrizeName",
            "type": "string"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "Locked",
              "Running",
              "Completed",
              "Expired"
            ],
            "type": "string"
          },
          "Participation": {
            "$ref": "#/components/schemas/MissionStepParticipationDto"
          },
          "UnlockNextStepConditions": {
            "title": "UnlockNextStepConditions",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnlockCondition"
            }
          }
        }
      },
      "MissionStepParticipationDto": {
        "required": [
          "MissionStepParticipationId"
        ],
        "properties": {
          "MissionStepParticipationId": {
            "title": "MissionStepParticipationId",
            "type": "string",
            "format": "uuid"
          },
          "DeadlineDate": {
            "$ref": "#/components/schemas/DateTimeOffset"
          },
          "CompletedDate": {
            "$ref": "#/components/schemas/DateTimeOffset"
          }
        }
      },
      "UnlockCondition": {
        "required": [
          "Type",
          "ConditionMet"
        ],
        "properties": {
          "Type": {
            "title": "Type",
            "enum": [
              "Wait",
              "Complete"
            ],
            "type": "string"
          },
          "ConditionMet": {
            "title": "ConditionMet",
            "type": "boolean"
          }
        }
      },
      "GetMissionCollectablePrizesResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "CollectablePrizes": {
            "title": "CollectablePrizes",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CollectablePrize"
            }
          }
        }
      },
      "CollectablePrize": {
        "required": [
          "PrizeId"
        ],
        "properties": {
          "PrizeId": {
            "title": "PrizeId",
            "type": "string",
            "format": "uuid"
          },
          "TranslatedPrizeName": {
            "title": "TranslatedPrizeName",
            "type": "string"
          }
        }
      },
      "CollectMissionPrizesResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "CollectedPrizeIds": {
            "title": "CollectedPrizeIds",
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        }
      },
      "CollectMissionPrizesDetailedResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "CollectedPrizes": {
            "title": "CollectedPrizes",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CollectedPrizeDTO"
            }
          }
        }
      },
      "CollectedPrizeDTO": {
        "required": [
          "PrizeId",
          "PrizeOwningCapabilityId"
        ],
        "properties": {
          "PrizeId": {
            "title": "PrizeId",
            "type": "string",
            "format": "uuid"
          },
          "PrizeOwningCapabilityId": {
            "title": "PrizeOwningCapabilityId",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "GetAvailableCampaignsResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "AllowedToView": {
            "$ref": "#/components/schemas/LoyaltyRewardAllowedDTO"
          },
          "Campaigns": {
            "title": "Campaigns",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Campaign"
            }
          }
        }
      },
      "LoyaltyRewardAllowedDTO": {
        "required": [
          "IsAllowed"
        ],
        "properties": {
          "IsAllowed": {
            "title": "IsAllowed",
            "type": "boolean"
          },
          "Reason": {
            "title": "Reason",
            "enum": [
              "NotEnabled",
              "NotAllowed",
              "NotRequiredAge",
              "Suspended",
              "Deleted",
              "Blacklisted",
              "Vulnerable",
              "Inactive",
              "Exclusion"
            ],
            "type": "string"
          }
        }
      },
      "Campaign": {
        "required": [
          "CampaignId"
        ],
        "properties": {
          "CampaignId": {
            "title": "CampaignId",
            "type": "string",
            "format": "uuid"
          },
          "CampaignName": {
            "title": "CampaignName",
            "type": "string"
          },
          "NextRewardTime": {
            "$ref": "#/components/schemas/DateTimeOffset"
          },
          "AvailableRewards": {
            "title": "AvailableRewards",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AvailableReward"
            }
          },
          "AssetUri": {
            "title": "AssetUri",
            "type": "string"
          },
          "IconUri": {
            "title": "IconUri",
            "type": "string"
          }
        }
      },
      "AvailableReward": {
        "required": [
          "RewardId",
          "PrizeOwningCapabilityId"
        ],
        "properties": {
          "RewardId": {
            "title": "RewardId",
            "type": "string",
            "format": "uuid"
          },
          "PrizeOwningCapabilityId": {
            "title": "PrizeOwningCapabilityId",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "PlayerDailyRewardResponseDTO": {
        "required": [
          "CurrentDay"
        ],
        "properties": {
          "DailyPrizes": {
            "title": "DailyPrizes",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DailyRewardPrizeDTO"
            }
          },
          "CurrentDay": {
            "title": "CurrentDay",
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "DailyRewardPrizeDTO": {
        "required": [
          "PrizeId"
        ],
        "properties": {
          "PrizeId": {
            "title": "PrizeId",
            "type": "string",
            "format": "uuid"
          },
          "Amount": {
            "title": "Amount",
            "type": "number",
            "format": "double"
          },
          "ImageUrl": {
            "title": "ImageUrl",
            "type": "string"
          }
        }
      },
      "GetAvailableLevelUpRewardsResponseDTO": {
        "required": [
          "Status",
          "PointsForNextLevel"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Success",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "Levels": {
            "title": "Levels",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AvailableLevelDTO"
            }
          },
          "PointsForNextLevel": {
            "title": "PointsForNextLevel",
            "type": "integer",
            "format": "int32"
          },
          "AllowedToView": {
            "$ref": "#/components/schemas/LevelUpRewardAllowedDTO"
          }
        }
      },
      "AvailableLevelDTO": {
        "required": [
          "IsCurrentLevel",
          "IsNextLevel",
          "LevelId"
        ],
        "properties": {
          "IsCurrentLevel": {
            "title": "IsCurrentLevel",
            "type": "boolean"
          },
          "IsNextLevel": {
            "title": "IsNextLevel",
            "type": "boolean"
          },
          "LevelId": {
            "title": "LevelId",
            "type": "string",
            "format": "uuid"
          },
          "LevelName": {
            "title": "LevelName",
            "type": "string"
          },
          "LevelImageUrl": {
            "title": "LevelImageUrl",
            "type": "string"
          },
          "LevelUpRewards": {
            "title": "LevelUpRewards",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LevelUpRewardDTO"
            }
          }
        }
      },
      "LevelUpRewardDTO": {
        "required": [
          "RewardId",
          "PrizeOwningCapabilityId"
        ],
        "properties": {
          "RewardId": {
            "title": "RewardId",
            "type": "string",
            "format": "uuid"
          },
          "PrizeOwningCapabilityId": {
            "title": "PrizeOwningCapabilityId",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "LevelUpRewardAllowedDTO": {
        "required": [
          "IsAllowed"
        ],
        "properties": {
          "IsAllowed": {
            "title": "IsAllowed",
            "type": "boolean"
          },
          "Reason": {
            "title": "Reason",
            "enum": [
              "NotEnabled",
              "NotAllowed",
              "NotRequiredAge",
              "Suspended",
              "Deleted",
              "Blacklisted",
              "Vulnerable",
              "Inactive",
              "Exclusion"
            ],
            "type": "string"
          }
        }
      },
      "VipPrizesResponse": {
        "required": [
          "Status"
        ],
        "properties": {
          "Prizes": {
            "title": "Prizes",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrizeDTO"
            }
          },
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidPlayer",
              "BadConfiguration"
            ],
            "type": "string"
          },
          "Message": {
            "title": "Message",
            "type": "string"
          }
        }
      },
      "BuyVipPrizeResponse": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidPlayer",
              "InsufficientPoints",
              "BadConfiguration"
            ],
            "type": "string"
          },
          "Message": {
            "title": "Message",
            "type": "string"
          }
        }
      },
      "GetVipInfoResponseDTO": {
        "required": [
          "Status",
          "Amount",
          "PeriodAmountBase",
          "PeriodAmountBonus",
          "PointsBase",
          "PointsBonus",
          "BonusCost"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "Message": {
            "title": "Message",
            "type": "string"
          },
          "CurrentRank": {
            "$ref": "#/components/schemas/VipRankDTO"
          },
          "NextRank": {
            "$ref": "#/components/schemas/VipRankDTO"
          },
          "Amount": {
            "title": "Amount",
            "type": "number",
            "format": "double"
          },
          "PeriodAmountBase": {
            "title": "PeriodAmountBase",
            "type": "number",
            "format": "double"
          },
          "PeriodAmountBonus": {
            "title": "PeriodAmountBonus",
            "type": "number",
            "format": "double"
          },
          "PointsBase": {
            "title": "PointsBase",
            "type": "number",
            "format": "double"
          },
          "PointsBonus": {
            "title": "PointsBonus",
            "type": "number",
            "format": "double"
          },
          "BonusCost": {
            "title": "BonusCost",
            "type": "number",
            "format": "double"
          }
        }
      },
      "VipRankDTO": {
        "required": [
          "Rank",
          "Threshold"
        ],
        "properties": {
          "Rank": {
            "title": "Rank",
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "title": "Name",
            "type": "string"
          },
          "Threshold": {
            "title": "Threshold",
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "GetVipRanksResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful"
            ],
            "type": "string"
          },
          "Ranks": {
            "title": "Ranks",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VipRankDetailsDTO"
            }
          }
        }
      },
      "VipRankDetailsDTO": {
        "required": [
          "Rank",
          "Threshold",
          "BonusPointMultiplier"
        ],
        "properties": {
          "Rank": {
            "title": "Rank",
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "title": "Name",
            "type": "string"
          },
          "Threshold": {
            "title": "Threshold",
            "type": "integer",
            "format": "int32"
          },
          "BonusPointMultiplier": {
            "title": "BonusPointMultiplier",
            "type": "number",
            "format": "double"
          }
        }
      },
      "CanBuyVipBonusResponse": {
        "required": [
          "CanBuyVipBonus",
          "Status"
        ],
        "properties": {
          "CanBuyVipBonus": {
            "title": "CanBuyVipBonus",
            "type": "boolean"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful"
            ],
            "type": "string"
          }
        }
      },
      "BuyVipBonusResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidPlayer",
              "InsufficientPoints",
              "PlayerNotAuthorized"
            ],
            "type": "string"
          },
          "Message": {
            "title": "Message",
            "type": "string"
          }
        }
      },
      "GetCoinsHistoryResponseDTO": {
        "required": [
          "Status",
          "PageNumber",
          "PageSize",
          "Total"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "InvalidPlayer"
            ],
            "type": "string"
          },
          "Message": {
            "title": "Message",
            "type": "string"
          },
          "PageNumber": {
            "title": "PageNumber",
            "type": "integer",
            "format": "int32"
          },
          "PageSize": {
            "title": "PageSize",
            "type": "integer",
            "format": "int32"
          },
          "Total": {
            "title": "Total",
            "type": "integer",
            "format": "int32"
          },
          "List": {
            "title": "List",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CoinsDTO"
            }
          }
        }
      },
      "CoinsDTO": {
        "required": [
          "TransactionId",
          "TransactionDate",
          "CoinsTransactionType",
          "Amount",
          "NewBalance",
          "ReasonForTransaction"
        ],
        "properties": {
          "TransactionId": {
            "title": "TransactionId",
            "type": "string",
            "format": "uuid"
          },
          "TransactionDate": {
            "title": "TransactionDate",
            "type": "string",
            "format": "date-time"
          },
          "CoinsTransactionType": {
            "title": "CoinsTransactionType",
            "enum": [
              "CREDIT",
              "DEBIT"
            ],
            "type": "string"
          },
          "Amount": {
            "title": "Amount",
            "type": "number",
            "format": "double"
          },
          "NewBalance": {
            "title": "NewBalance",
            "type": "number",
            "format": "double"
          },
          "ReasonForTransaction": {
            "title": "ReasonForTransaction",
            "enum": [
              "Unknown",
              "Reward",
              "GoodWill",
              "Club",
              "SpecialGift",
              "Animation",
              "AdjustmentVipPoints",
              "ClubVipPoints",
              "Tournament",
              "ShopRefund",
              "LandbasePurchase",
              "LandbaseReward",
              "SelfExclusion",
              "TestCredit",
              "TicketExchange",
              "VipManagement",
              "Compensation",
              "Other"
            ],
            "type": "string"
          },
          "Origin": {
            "title": "Origin",
            "type": "string"
          },
          "Reason": {
            "title": "Reason",
            "type": "string"
          },
          "TransactionType": {
            "title": "TransactionType",
            "type": "string"
          }
        }
      },
      "GetVipInitializationResponseDTO": {
        "required": [
          "Status",
          "Coins",
          "Points",
          "HasGift",
          "RefuseBonus",
          "RoomHasBonus"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "RoomNotFound",
              "PlayerNotFound",
              "WrongRoomForPlayer"
            ],
            "type": "string"
          },
          "Coins": {
            "title": "Coins",
            "type": "number",
            "format": "double"
          },
          "CurrentRank": {
            "title": "CurrentRank",
            "type": "string"
          },
          "Points": {
            "title": "Points",
            "type": "number",
            "format": "double"
          },
          "Pseudo": {
            "title": "Pseudo",
            "type": "string"
          },
          "RanksInfos": {
            "title": "RanksInfos",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WheelInfoDTO"
            }
          },
          "HasGift": {
            "title": "HasGift",
            "type": "boolean"
          },
          "RefuseBonus": {
            "title": "RefuseBonus",
            "type": "boolean"
          },
          "RoomHasBonus": {
            "title": "RoomHasBonus",
            "type": "boolean"
          }
        }
      },
      "WheelInfoDTO": {
        "required": [
          "Played",
          "Threshold",
          "Unlocked",
          "WheelId"
        ],
        "properties": {
          "Played": {
            "title": "Played",
            "type": "boolean"
          },
          "Prizes": {
            "title": "Prizes",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrizeDTO"
            }
          },
          "PrizeWon": {
            "$ref": "#/components/schemas/PrizeDTO"
          },
          "RankName": {
            "title": "RankName",
            "type": "string"
          },
          "Threshold": {
            "title": "Threshold",
            "type": "number",
            "format": "double"
          },
          "Unlocked": {
            "title": "Unlocked",
            "type": "boolean"
          },
          "WheelId": {
            "title": "WheelId",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "PlayVipWheelResponseDTO": {
        "required": [
          "Status",
          "Prize"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "AlreadyPlayed",
              "InvalidWheelId",
              "PlayerNotFound",
              "PlayerNotAuthorized"
            ],
            "type": "string"
          },
          "Prize": {
            "title": "Prize",
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "PlayMonthlyBoxRequestDTO": {
        "properties": {
          "_response": {
            "$ref": "#/components/schemas/PlayMonthlyBoxResponseDTO"
          }
        }
      },
      "PlayMonthlyBoxResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "InternalError",
              "Successful",
              "AlreadyPlayed",
              "NoMarketingAction",
              "RoomNotFound",
              "PlayerNotFound",
              "WrongRoomForPlayer",
              "PlayerNotAuthorized"
            ],
            "type": "string"
          },
          "PrizeWon": {
            "$ref": "#/components/schemas/PrizeDTO"
          },
          "Prizes": {
            "title": "Prizes",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ResetVipStatusResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Status": {
            "title": "Status",
            "enum": [
              "Ongoing",
              "Done",
              "NotDoneRankNotHighEnough",
              "NotDoneWheelsPending",
              "PlayerUnknown",
              "ErrorWithWheelsHistorization",
              "RoomNotFound",
              "MarketingActionsNotFound",
              "ParticipationsNotFound",
              "ErrorWithStatusHistorization",
              "InternalError",
              "NotEnabled"
            ],
            "type": "string"
          }
        }
      },
      "GetMinimalVipRankToAllowResetResponseDTO": {
        "required": [
          "VipRank"
        ],
        "properties": {
          "VipRank": {
            "title": "VipRank",
            "type": "integer",
            "format": "int32"
          },
          "RankName": {
            "title": "RankName",
            "type": "string"
          }
        }
      },
      "CanPlayerResetVipStatusResponseDTO": {
        "required": [
          "VipStatusResetAllowed"
        ],
        "properties": {
          "VipStatusResetAllowed": {
            "title": "VipStatusResetAllowed",
            "enum": [
              "Allowed",
              "NotAllowedInRoom",
              "NotAllowedRankNotHighEnough",
              "NotAllowedWheelsPending",
              "NotAllowedByConfiguration",
              "NotAllowedInternalError"
            ],
            "type": "string"
          }
        }
      },
      "FeatureEnabledResponseDTO": {
        "required": [
          "IsEnabled"
        ],
        "properties": {
          "Request": {
            "$ref": "#/components/schemas/FeatureEnabledRequestDTO"
          },
          "IsEnabled": {
            "title": "IsEnabled",
            "type": "boolean"
          }
        }
      },
      "FeatureEnabledRequestDTO": {
        "required": [
          "Feature"
        ],
        "properties": {
          "Feature": {
            "title": "Feature",
            "enum": [
              "None",
              "ResetStatus"
            ],
            "type": "string"
          }
        }
      },
      "GetShopCategoriesResponseDTO": {
        "required": [
          "Status"
        ],
        "properties": {
          "Categories": {
            "title": "Categories",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShopCategoryDTO"
            }
          },
          "Status": {
            "title": "Status",
            "enum": [
              "ServerError",
              "Success",
              "Unathorized",
              "BadRequest",
              "NotImplemented",
              "CannotAfford",
              "InvalidShop",
              "InvalidUser",
              "InvalidPrice",
              "InvalidQuery",
              "InvalidVipRank",
              "InvalidUserTrust",
              "OutOfStockRefunded",
              "InvalidAddress",
              "InvalidZipCode",
              "InvalidCity",
              "InvalidCountryIsoCode",
              "InvalidMunicipality",
              "InvalidDepartment",
              "InvalidVirtualRoom",
              "PlayerRefuseBonus",
              "PlayerBonusNotAllowed",
              "PlayerLimitedBetting",
              "ProductUnavailable",
              "ProviderErrorRefunded",
              "ProviderError",
              "PlayerNotTrusted",
              "PlayerSelfExcluded",
              "PlayerHasNotRightLicense",
              "PlayerHasLessThatMinimumAge",
              "PlayerSuspended",
              "PlayerDeleted",
              "PlayerVulnerable"
            ],
            "type": "string"
          },
          "Message": {
            "title": "Message",
            "type": "string"
          }
        }
      },
      "ShopCategoryDTO": {
        "required": [
          "Sort",
          "ProductCount"
        ],
        "properties": {
          "Id": {
            "title": "Id",
            "type": "string"
          },
          "Name": {
            "title": "Name",
            "type": "string"
          },
          "Slug": {
            "title": "Slug",
            "type": "string"
          },
          "Sort": {
            "title": "Sort",
            "type": "integer",
            "format": "int32"
          },
          "ProductCount": {
            "title": "ProductCount",
            "type": "integer",
            "format": "int32"
          },
          "MetaTitle": {
            "title": "MetaTitle",
            "type": "string"
          },
          "MetaDescription": {
            "title": "MetaDescription",
            "type": "string"
          }
        }
      },
      "GetShopHistoryResponseDTO": {
        "required": [
          "Total",
          "Status"
        ],
        "properties": {
          "Orders": {
            "title": "Orders",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShopOrderDTO"
            }
          },
          "Total": {
            "title": "Total",
            "type": "integer",
            "format": "int32"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "ServerError",
              "Success",
              "Unathorized",
              "BadRequest",
              "NotImplemented",
              "CannotAfford",
              "InvalidShop",
              "InvalidUser",
              "InvalidPrice",
              "InvalidQuery",
              "InvalidVipRank",
              "InvalidUserTrust",
              "OutOfStockRefunded",
              "InvalidAddress",
              "InvalidZipCode",
              "InvalidCity",
              "InvalidCountryIsoCode",
              "InvalidMunicipality",
              "InvalidDepartment",
              "InvalidVirtualRoom",
              "PlayerRefuseBonus",
              "PlayerBonusNotAllowed",
              "PlayerLimitedBetting",
              "ProductUnavailable",
              "ProviderErrorRefunded",
              "ProviderError",
              "PlayerNotTrusted",
              "PlayerSelfExcluded",
              "PlayerHasNotRightLicense",
              "PlayerHasLessThatMinimumAge",
              "PlayerSuspended",
              "PlayerDeleted",
              "PlayerVulnerable"
            ],
            "type": "string"
          },
          "Message": {
            "title": "Message",
            "type": "string"
          }
        }
      },
      "GetPlayerRankInfoResponseDTO": {
        "required": [
          "Points",
          "Coins",
          "CanPlayMonthlyBox",
          "CanPlayWheel",
          "IsMonthlyBoxEnabled",
          "IsVipWheelEnabled",
          "Status"
        ],
        "properties": {
          "Points": {
            "title": "Points",
            "type": "number",
            "format": "double"
          },
          "Coins": {
            "title": "Coins",
            "type": "number",
            "format": "double"
          },
          "AllowedToViewCoins": {
            "$ref": "#/components/schemas/VipFeatureAllowedDTO"
          },
          "CurrentStatus": {
            "$ref": "#/components/schemas/RankInfoDTO"
          },
          "NextStatus": {
            "$ref": "#/components/schemas/RankInfoDTO"
          },
          "NextWheel": {
            "$ref": "#/components/schemas/RankInfoDTO"
          },
          "CanPlayMonthlyBox": {
            "title": "CanPlayMonthlyBox",
            "type": "boolean"
          },
          "AllowedToPlayMonthlyBox": {
            "$ref": "#/components/schemas/VipFeatureAllowedDTO"
          },
          "CanPlayWheel": {
            "title": "CanPlayWheel",
            "type": "boolean"
          },
          "AllowedToPlayWheel": {
            "$ref": "#/components/schemas/VipFeatureAllowedDTO"
          },
          "IsMonthlyBoxEnabled": {
            "title": "IsMonthlyBoxEnabled",
            "type": "boolean"
          },
          "IsVipWheelEnabled": {
            "title": "IsVipWheelEnabled",
            "type": "boolean"
          },
          "Tickets": {
            "title": "Tickets",
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "Status": {
            "title": "Status",
            "enum": [
              "ServerError",
              "Success",
              "Unathorized",
              "BadRequest",
              "NotImplemented",
              "CannotAfford",
              "InvalidShop",
              "InvalidUser",
              "InvalidPrice",
              "InvalidQuery",
              "InvalidVipRank",
              "InvalidUserTrust",
              "OutOfStockRefunded",
              "InvalidAddress",
              "InvalidZipCode",
              "InvalidCity",
              "InvalidCountryIsoCode",
              "InvalidMunicipality",
              "InvalidDepartment",
              "InvalidVirtualRoom",
              "PlayerRefuseBonus",
              "PlayerBonusNotAllowed",
              "PlayerLimitedBetting",
              "ProductUnavailable",
              "ProviderErrorRefunded",
              "ProviderError",
              "PlayerNotTrusted",
              "PlayerSelfExcluded",
              "PlayerHasNotRightLicense",
              "PlayerHasLessThatMinimumAge",
              "PlayerSuspended",
              "PlayerDeleted",
              "PlayerVulnerable"
            ],
            "type": "string"
          },
          "Message": {
            "title": "Message",
            "type": "string"
          }
        }
      },
      "GetShopProductsRequestDTO": {
        "required": [
          "PageIndex",
          "PageCount",
          "Detailed",
          "AffordableOnlyFilter"
        ],
        "properties": {
          "Category": {
            "title": "Category",
            "type": "string"
          },
          "Ticket": {
            "title": "Ticket",
            "type": "string",
            "format": "uuid"
          },
          "Products": {
            "title": "Products",
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "PageIndex": {
            "title": "PageIndex",
            "type": "integer",
            "format": "int32"
          },
          "PageCount": {
            "title": "PageCount",
            "type": "integer",
            "format": "int32"
          },
          "Detailed": {
            "title": "Detailed",
            "type": "boolean"
          },
          "AffordableOnlyFilter": {
            "title": "AffordableOnlyFilter",
            "type": "boolean"
          },
          "Sort": {
            "$ref": "#/components/schemas/GetShopProductsSortDTO"
          },
          "Shop": {
            "title": "Shop",
            "type": "string"
          }
        }
      },
      "GetShopProductsSortDTO": {
        "required": [
          "Field",
          "Direction"
        ],
        "properties": {
          "Field": {
            "title": "Field",
            "enum": [
              "Popular",
              "Name",
              "Price",
              "Date"
            ],
            "type": "string"
          },
          "Direction": {
            "title": "Direction",
            "enum": [
              "Ascending",
              "Descending"
            ],
            "type": "string"
          }
        }
      },
      "GetShopProductsResponseDTO": {
        "required": [
          "Count",
          "Status"
        ],
        "properties": {
          "Products": {
            "title": "Products",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShopProductDTO"
            }
          },
          "AllowToView": {
            "$ref": "#/components/schemas/ShopFeatureAllowedDTO"
          },
          "Count": {
            "title": "Count",
            "type": "integer",
            "format": "int32"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "ServerError",
              "Success",
              "Unathorized",
              "BadRequest",
              "NotImplemented",
              "CannotAfford",
              "InvalidShop",
              "InvalidUser",
              "InvalidPrice",
              "InvalidQuery",
              "InvalidVipRank",
              "InvalidUserTrust",
              "OutOfStockRefunded",
              "InvalidAddress",
              "InvalidZipCode",
              "InvalidCity",
              "InvalidCountryIsoCode",
              "InvalidMunicipality",
              "InvalidDepartment",
              "InvalidVirtualRoom",
              "PlayerRefuseBonus",
              "PlayerBonusNotAllowed",
              "PlayerLimitedBetting",
              "ProductUnavailable",
              "ProviderErrorRefunded",
              "ProviderError",
              "PlayerNotTrusted",
              "PlayerSelfExcluded",
              "PlayerHasNotRightLicense",
              "PlayerHasLessThatMinimumAge",
              "PlayerSuspended",
              "PlayerDeleted",
              "PlayerVulnerable"
            ],
            "type": "string"
          },
          "Message": {
            "title": "Message",
            "type": "string"
          }
        }
      },
      "ShopProductDTO": {
        "required": [
          "Id",
          "Popularity",
          "CreatedDate",
          "CanAfford",
          "Type",
          "NewShopProductType",
          "ProductCategory",
          "SellableId"
        ],
        "properties": {
          "Id": {
            "title": "Id",
            "type": "string",
            "format": "uuid"
          },
          "Popularity": {
            "title": "Popularity",
            "type": "integer",
            "format": "int32"
          },
          "CreatedDate": {
            "title": "CreatedDate",
            "type": "string",
            "format": "date-time"
          },
          "Title": {
            "title": "Title",
            "type": "string"
          },
          "Conditions": {
            "title": "Conditions",
            "type": "string"
          },
          "OrderConfirmationMessage": {
            "title": "OrderConfirmationMessage",
            "type": "string"
          },
          "Description": {
            "title": "Description",
            "type": "string"
          },
          "Thumb": {
            "title": "Thumb",
            "type": "string"
          },
          "Image": {
            "title": "Image",
            "type": "string"
          },
          "PromotionalImage": {
            "title": "PromotionalImage",
            "type": "string"
          },
          "ImageAlternateText": {
            "title": "ImageAlternateText",
            "type": "string"
          },
          "Categories": {
            "title": "Categories",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "CanAfford": {
            "title": "CanAfford",
            "type": "boolean"
          },
          "Type": {
            "title": "Type",
            "enum": [
              "Unknown",
              "Tangible",
              "Virtual"
            ],
            "type": "string"
          },
          "NewShopProductType": {
            "title": "NewShopProductType",
            "enum": [
              "Unknown",
              "Physical",
              "VirtualInternal",
              "VirtualExternal"
            ],
            "type": "string"
          },
          "NeededPersonalInfoToOrder": {
            "title": "NeededPersonalInfoToOrder",
            "type": "array",
            "items": {
              "enum": [
                "Email",
                "Address",
                "PhoneNumber"
              ],
              "type": "string"
            }
          },
          "Price": {
            "$ref": "#/components/schemas/ShopPriceDTO"
          },
          "BasePrice": {
            "$ref": "#/components/schemas/ShopPriceDTO"
          },
          "TicketPrice": {
            "$ref": "#/components/schemas/ShopPriceDTO"
          },
          "Prices": {
            "title": "Prices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShopPriceDTO"
            }
          },
          "ProductCategory": {
            "title": "ProductCategory",
            "enum": [
              "Default",
              "VoucherCode",
              "Freebet",
              "GameFeature",
              "Bonus",
              "Item",
              "Credit",
              "DepositPrize",
              "CasinoPackage",
              "ScratchCard",
              "DonationCard",
              "Contest",
              "CreditRealMoney",
              "CreditVipMoney",
              "CreditPlayMoney",
              "CreditBonusMoney"
            ],
            "type": "string"
          },
          "SellableId": {
            "title": "SellableId",
            "type": "string",
            "format": "uuid"
          },
          "AllowToBuy": {
            "$ref": "#/components/schemas/ShopFeatureAllowedDTO"
          }
        }
      },
      "ShopPriceDTO": {
        "required": [
          "RequireVipRank",
          "IsMainPrice",
          "Type"
        ],
        "properties": {
          "Id": {
            "title": "Id",
            "type": "string",
            "format": "uuid"
          },
          "RequireVipRank": {
            "title": "RequireVipRank",
            "type": "integer",
            "format": "int32"
          },
          "IsMainPrice": {
            "title": "IsMainPrice",
            "type": "boolean"
          },
          "Parts": {
            "title": "Parts",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PricePartDTO"
            }
          },
          "Type": {
            "title": "Type",
            "enum": [
              "Invalid",
              "RealMoney",
              "VipMoney",
              "VipTicket",
              "Dynamic"
            ],
            "type": "string"
          }
        }
      },
      "PricePartDTO": {
        "required": [
          "Type",
          "Amount"
        ],
        "properties": {
          "Type": {
            "title": "Type",
            "enum": [
              "Invalid",
              "RealMoney",
              "VipMoney",
              "VipTicket",
              "Dynamic"
            ],
            "type": "string"
          },
          "Amount": {
            "title": "Amount",
            "type": "number",
            "format": "double"
          },
          "MinAmount": {
            "title": "MinAmount",
            "type": "number",
            "format": "double"
          },
          "MaxAmount": {
            "title": "MaxAmount",
            "type": "number",
            "format": "double"
          }
        }
      },
      "ShopPurchaseRequestDTO": {
        "required": [
          "ShopPrice",
          "UseDefaultAddress"
        ],
        "properties": {
          "ShopPrice": {
            "title": "ShopPrice",
            "type": "string",
            "format": "uuid"
          },
          "Address1": {
            "title": "Address1",
            "type": "string"
          },
          "Address2": {
            "title": "Address2",
            "type": "string"
          },
          "ZipCode": {
            "title": "ZipCode",
            "type": "string"
          },
          "City": {
            "title": "City",
            "type": "string"
          },
          "CountryIsoCode": {
            "title": "CountryIsoCode",
            "type": "string"
          },
          "UseDefaultAddress": {
            "title": "UseDefaultAddress",
            "type": "boolean"
          },
          "VirtualRoomId": {
            "title": "VirtualRoomId",
            "type": "string",
            "format": "uuid"
          },
          "Municipality": {
            "title": "Municipality",
            "type": "string"
          },
          "Department": {
            "title": "Department",
            "type": "string"
          },
          "Shop": {
            "title": "Shop",
            "type": "string"
          }
        }
      },
      "ShopPurchaseResponseDTO": {
        "required": [
          "ProductCategory",
          "ShopOrderId",
          "Status"
        ],
        "properties": {
          "ProductCode": {
            "title": "ProductCode",
            "type": "string"
          },
          "ProductCategory": {
            "title": "ProductCategory",
            "enum": [
              "Default",
              "VoucherCode",
              "Freebet",
              "GameFeature",
              "Bonus",
              "Item",
              "Credit",
              "DepositPrize",
              "CasinoPackage",
              "ScratchCard",
              "DonationCard",
              "Contest",
              "CreditRealMoney",
              "CreditVipMoney",
              "CreditPlayMoney",
              "CreditBonusMoney"
            ],
            "type": "string"
          },
          "RedeemUrl": {
            "title": "RedeemUrl",
            "type": "string"
          },
          "RedeemUrlWithParameters": {
            "title": "RedeemUrlWithParameters",
            "type": "string"
          },
          "ShopOrderId": {
            "title": "ShopOrderId",
            "type": "string",
            "format": "uuid"
          },
          "Status": {
            "title": "Status",
            "enum": [
              "ServerError",
              "Success",
              "Unathorized",
              "BadRequest",
              "NotImplemented",
              "CannotAfford",
              "InvalidShop",
              "InvalidUser",
              "InvalidPrice",
              "InvalidQuery",
              "InvalidVipRank",
              "InvalidUserTrust",
              "OutOfStockRefunded",
              "InvalidAddress",
              "InvalidZipCode",
              "InvalidCity",
              "InvalidCountryIsoCode",
              "InvalidMunicipality",
              "InvalidDepartment",
              "InvalidVirtualRoom",
              "PlayerRefuseBonus",
              "PlayerBonusNotAllowed",
              "PlayerLimitedBetting",
              "ProductUnavailable",
              "ProviderErrorRefunded",
              "ProviderError",
              "PlayerNotTrusted",
              "PlayerSelfExcluded",
              "PlayerHasNotRightLicense",
              "PlayerHasLessThatMinimumAge",
              "PlayerSuspended",
              "PlayerDeleted",
              "PlayerVulnerable"
            ],
            "type": "string"
          },
          "Message": {
            "title": "Message",
            "type": "string"
          }
        }
      }
    },
    "parameters": {
      "NodeTypeDefaultFinalClient": {
        "name": "NodeType",
        "in": "header",
        "schema": {
          "title": "NodeType",
          "enum": [
            "Unknown",
            "FinalClient",
            "APR",
            "Server"
          ],
          "type": "string",
          "default": "FinalClient"
        }
      },
      "NodeTypeDefaultServer": {
        "name": "NodeType",
        "in": "header",
        "schema": {
          "title": "NodeType",
          "enum": [
            "Unknown",
            "FinalClient",
            "APR",
            "Server"
          ],
          "type": "string",
          "default": "Server"
        }
      },
      "PlayerId": {
        "name": "PlayerId",
        "in": "header",
        "schema": {
          "title": "PlayerId",
          "type": "string",
          "format": "uuid",
          "default": ""
        }
      },
      "RoomDomain": {
        "name": "RoomDomain",
        "in": "header",
        "schema": {
          "title": "RoomDomain",
          "type": "string",
          "default": "CIRCUS"
        }
      }
    }
  }
}