Skip to content

Instantly share code, notes, and snippets.

@chihabhajji
Created November 15, 2025 12:57
Show Gist options
  • Select an option

  • Save chihabhajji/332295915a74ed86d7a642a7eff97776 to your computer and use it in GitHub Desktop.

Select an option

Save chihabhajji/332295915a74ed86d7a642a7eff97776 to your computer and use it in GitHub Desktop.
"""Exposes a URL that specifies the behaviour of this scalar."""
directive @specifiedBy(
"""The URL that specifies the behaviour of this scalar."""
url: String!
) on SCALAR
"""Indicates an Input Object is a OneOf Input Object."""
directive @oneOf on INPUT_OBJECT
type AccessTokenResponse {
accessToken: String
}
type Activity {
id: ID
name: String
type: String
iconUrl: String
isRealitySupported: Boolean
}
input ActivityInput {
id: UUID
name: String
type: String
isRealitySupported: Boolean
}
type AddressDTO {
street: String
city: String
state: String
country: String
postalCode: String
}
input AddressInput {
street: String
postalCode: String
city: String
state: String
country: String
}
enum AdminRoleType {
ADMIN
SUPER_ADMIN
}
type Amenity {
amenityId: UUID
name: String
}
type AuthPayload {
accessToken: String
refreshToken: String
}
type Bank {
bankAccountId: UUID!
accountHolderName: String!
accountNumber: String!
iban: String!
}
type BankBE {
bankAccountId: UUID!
accountHolderName: String!
accountNumber: String!
iban: String!
}
input BankInput {
accountHolderName: String
accountNumber: String
iban: String
}
input BankInputBE {
accountHolderName: String
accountNumber: String
iban: String
}
input BaseEventInput {
startDatetime: String!
endDatetime: String!
fieldId: String!
facilityId: String!
fieldType: String
notes: String
eventType: String!
}
enum BillingSourceType {
USER_COVERED
CREATOR_COVERED
FACILITY_COVERED
FREE
SPONSOR
}
type BusinessBE {
businessId: UUID!
name: String!
location: UUID!
phone: Phone!
email: String!
imageUrl: String
}
type BusinessDTOBE {
businessId: UUID
name: String
location: LocationDTO
phone: Phone
email: String
imageUrl: String
}
type BusinessInfo {
id: UUID!
name: String!
imageUrl: String
}
type BusinessMinimal {
id: UUID
name: String
imageUrl: String
}
type BusinessMinimalBE {
id: UUID
name: String
imageUrl: String
}
type CalendarCoachingSession {
id: UUID
title: String
type: String
startDateTime: String
endDateTime: String
fieldId: String
isReality: Boolean
coachNames: [String]
}
union CalendarEventResult = CalendarMatch | CalendarCoachingSession | CalendarMaintenance
type CalendarMaintenance {
id: UUID
title: String
type: String
startDateTime: String
endDateTime: String
fieldId: String
reason: String
}
type CalendarMatch {
id: UUID
title: String
type: String
startDateTime: String
endDateTime: String
fieldId: String
isReality: Boolean
participantsNames: [String]
}
type CheckFieldAvailability {
fieldId: UUID
startDatetime: DateTime
endDatetime: DateTime
isAvailable: Boolean
}
type CoachActivityDTO {
activity: Activity
joinDate: Date
lastActiveDate: Date
}
input CoachActivityInput {
sportId: UUID!
experienceYears: Int!
}
input CoachActivityInputBE {
activityId: UUID
experienceYears: Int
}
type CoachAvailabilityDTO {
dayOfWeek: String
startTime: String
endTime: String
note: String
}
type CoachDTO {
firstName: String
lastName: String
role: String
userId: String
}
input CoachingSessionDetailsInput {
baseEvent: BaseEventInput!
lessonId: String
lessonTitle: String
activityId: String!
coachesId: [String]
}
type CoachingSessionDTO implements EventDTO {
eventId: ID
startDatetime: String
endDatetime: String
fieldId: String
fieldName: String
facilityId: String
eventType: String
notes: String
lessonId: String
lessonTopic: String
lessonTarget: String
activityId: String
realityEvent: Boolean
status: String
paymentStatus: String
coaches: [CoachDTO]
participants: [ParticipantDTO]
}
input CoachInput {
firstName: String!
lastName: String!
role: String
}
input CoachInputBE {
userId: String
role: String
}
input CoachRateInput {
rate: Float!
frequency: FrequencyType!
currency: CurrencyType!
}
type Comment {
id: ID!
content: String!
userId: String!
}
type CommonBookedTimeSlot {
date: Date
bookedSlots: [TimeInterval]
}
input CommonBookedTimeSlotsInput {
startDate: Date!
endDate: Date!
fieldIds: [UUID!]!
}
type CommunityFeedPost {
id: ID!
caption: String!
timestamp: String!
mediaUrl: String
authorId: String!
type: MediaTypeEnum!
likes: Int!
dislikes: Int!
comments: [Comment!]!
}
input ConfirmTournamentSessionsInputBE {
tournament: TournamentInput!
sessions: [SessionInput]!
}
type CoordinatesDTO {
latitude: Float
longitude: Float
}
input CoordinatesInput {
latitude: Float!
longitude: Float!
}
input CreateAmenityInput {
name: String
}
input CreateBusinessInput {
businessOwnerId: UUID
name: String!
location: WebAppLocationInput!
phone: PhoneInput!
email: String!
imageUrl: String
}
input CreateBusinessInputBE {
businessOwnerId: UUID
name: String!
location: WebAppLocationInput!
phone: PhoneInput!
email: String!
imageUrl: String
}
input CreateEventRequest {
""" common"""
startDatetime: DateTime!
endDatetime: DateTime!
eventType: String!
fieldId: UUID
notes: String
paymentStatus: String
paymentStrategy: PaymentStrategy
onBehalfCustomerId: UUID
"""match"""
activityId: UUID
minPlayers: Int
maxPlayers: Int
basePrice: PriceInput
guestFee: PriceInput
competitionType: ParticipantType
"""tournament match"""
tournamentSessionId: UUID
"""coaching session"""
lessonId: UUID
coaches: [CoachInputBE]
"""maintenance session"""
maintenanceId: UUID
"""tournament session"""
tournamentId: UUID
"""maintenance"""
maintenanceSessionStartDatetime: DateTime
maintenanceSessionEndDatetime: DateTime
maintenanceType: MaintenanceType
maintenanceReason: String
}
input CreateFacilityAdminInput {
firstName: String!
lastName: String!
email: String!
phone: PhoneInput!
facilities: [FacilityRoleInput]!
}
input CreateFacilityRequest {
name: String
venueAdmin: [FacilityAdminInput]
amenities: [String]
phone: PhoneInput
email: String
description: String
businessId: UUID
location: WebAppLocationInput
openingHours: [TimeScheduleInput]
holidayHours: [HolidayHoursInput]
fields: [FieldInput]
imageUrl: String
currency: CurrencyType
}
input CreateFacilityRequestBE {
name: String
phone: PhoneInput
email: String
description: String
businessId: UUID
location: WebAppLocationInput
openingHours: [TimeScheduleInput]
holidayHours: [HolidayHoursInput]
}
input CreateRealityEventRequest {
""" common"""
startDatetime: DateTime!
endDatetime: DateTime!
eventType: String!
fieldId: UUID
notes: String
paymentStatus: String
paymentStrategy: PaymentStrategy
"""match"""
activityId: UUID
minPlayers: Int
maxPlayers: Int
basePrice: PriceInput
guestFee: PriceInput
competitionType: ParticipantType
initiatePaymentRequest: InitiatePaymentInput
}
type CreateRealityEventResponse {
event: EventDTO
paymentResponse: InitiatePaymentResponse
}
enum CurrencyType {
TND
EUR
USD
GBP
}
type CustomerInfo {
firstName: String
lastName: String
}
input CustomerMembershipInput {
customerId: UUID!
teamId: UUID
position: String
isCaptain: Boolean
}
input CustomerQueryInput {
facilityId: String!
page: Int = 0
size: Int = 10
}
"""An RFC-3339 compliant Full Date Scalar"""
scalar Date
"""A slightly refined version of RFC-3339 compliant DateTime Scalar"""
scalar DateTime
type DateWindowDTO {
date: String
timeWindow: TimeScheduleDTO
}
type DayAvailability {
dayOfWeek: DayOfWeekType!
startTime: Time!
endTime: Time!
}
input DayAvailabilityInput {
dayOfWeek: DayOfWeekType!
startTime: TimeInput!
endTime: TimeInput!
}
enum DayOfWeekType {
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
}
type DeleteEventMutationResponse {
success: Boolean
message: String
data: EventMetadataDTO
}
input EventByTimeFrameInput {
facilityId: UUID!
startDate: Date!
endDate: Date!
eventType: String!
activityId: UUID
fieldId: UUID
page: Int
size: Int
}
input EventCreationInput {
matchDetails: MatchDetailsInput
tournamentDetails: TournamentDetailsInput
coachingSessionDetails: CoachingSessionDetailsInput
maintenanceDetails: MaintenanceDetailsInput
}
input EventDeletionInput {
id: UUID
}
interface EventDTO {
eventId: ID
startDatetime: String
endDatetime: String
fieldId: String
facilityId: String
fieldName: String
eventType: String
notes: String
}
input EventFilterInput {
longitude: Float
latitude: Float
date: String
startTime: String
endTime: String
}
type EventMetadataDTO {
eventId: String
eventType: String
date: String
facilityId: String
}
type EventParticipant {
eventId: UUID
eventType: EventType
eventParticipationId: UUID
customerId: UUID
userInfo: RealityCustomerDTO
customerInfo: FacilityCustomerDTO
status: ParticipationStatusType
}
input EventQueryInput {
facilityId: String!
date: String!
activityId: String
fieldId: String
coaches: [String]
eventType: String
}
enum EventType {
MAINTENANCE
COACHING_SESSION
TOURNAMENT_MATCH
MATCH
}
type FacilityAdmin {
facilityId: UUID
facilityAdminName: String
facilityAdminEmail: String
facilityAdminImage: String
}
type FacilityAdminBankAccount {
userId: UUID!
role: String
firstName: String
lastName: String
email: String
phone: Phone
bankAccountId: UUID
bankAccountHolderName: String
bankAccountNumber: String
bankIban: String
}
type FacilityAdminComplete {
facilityAdminId: UUID
facilityId: UUID
userId: UUID
firstName: String
lastName: String
email: String
phone: Phone
role: AdminRoleType
}
input FacilityAdminInput {
facilityId: UUID
facilityAdminName: String
facilityAdminEmail: String
facilityAdminImage: String
}
type FacilityAdminLite {
facilityAdminId: UUID
facilityId: UUID
userId: UUID
role: AdminRoleType
}
type FacilityCoachDTO {
coachId: UUID
firstName: String
lastName: String
rate: Int
frequency: String
currency: String
activities: [CoachActivityDTO]
availabilities: [CoachAvailabilityDTO]
}
input FacilityCoachesRequest {
facilityId: ID!
isActive: Boolean
page: Int
size: Int
}
input FacilityCoachesRequestBE {
facilityId: ID!
isActive: Boolean
page: Int
size: Int
}
type FacilityCustomerDTO {
customerId: ID
email: String
firstName: String
lastName: String
phone: Phone
gender: GenderType
birthdate: String
healthCondition: String
notes: String
joinDate: String
}
input FacilityCustomerRequest {
facilityId: UUID!
page: Int
size: Int
}
input FacilityCustomerSearchRequest {
facilityId: UUID!
excludedCustomers: [UUID]
key: String!
page: Int
size: Int
}
type FacilityDTOBE {
facilityId: UUID
name: String
phone: Phone
email: String
description: String
businessId: UUID
location: LocationDTO
openingHours: [TimeScheduleDTO]
}
type FacilityInfo {
id: UUID!
name: String!
imageUrl: String
}
type FacilityInfoWeb {
facilityId: UUID
name: String
phone: Phone
email: String
description: String
location: LocationDTO
currency: CurrencyType
openingHours: [TimeScheduleDTO]
fields: [Field]
holidayHours: [HolidayHours]
imageUrl: String
venueAdmin: [FacilityAdmin]
amenities: [Amenity]
}
type FacilityInfoWebResponse {
data: FacilityInfoWeb
success: Boolean
message: String
statusCode: String
}
type FacilityMinimal {
id: UUID
name: String
imageUrl: String
}
type FacilityRole {
facilityId: UUID
role: AdminRoleType
}
input FacilityRoleInput {
facilityId: UUID
role: AdminRoleType
}
type Field {
fieldId: UUID
fieldName: String
fieldImage: String
description: String
matchDurationMinutes: Int
surfaceType: String
isIndoor: Boolean
facilityId: UUID
activities: [Activity]
defaultPricePerUnit: Float
guestFee: Float
}
type FieldAvailability {
fieldId: UUID
availabilities: [DateWindowDTO]
}
input FieldFilterInput {
indoor: Boolean
surface: [String]
activities: [UUID]
}
input FieldInput {
fieldName: String
fieldImage: String
surfaceType: String
isIndoor: Boolean
facilityId: UUID
description: String
matchDurationMinutes: Int
activities: [ActivityInput]
defaultPricePerUnit: Float
guestFee: Float
}
type FieldMaintenanceDTO implements EventDTO {
eventId: ID
startDatetime: String
endDatetime: String
fieldId: String
fieldName: String
facilityId: String
eventType: String
notes: String
maintenanceType: String
reason: String
}
type FieldMutationResponse {
success: Boolean
message: String
data: Field
}
input FieldsAvailabilitiesInput {
fieldIds: [UUID]!
startDate: Date!
endDate: Date!
}
input ForgotPasswordInput {
email: String!
}
enum FrequencyType {
HOURLY
WEEKLY
MONTHLY
}
enum GenderType {
FEMALE
MALE
ANY
}
type GenerateTournamentDrawResponse {
success: Boolean!
message: String
data: [TournamentConfrontation]
statusCode: String
}
type GeocodingResult {
latitude: Float
longitude: Float
country: String
city: String
state: String
street: String
postalCode: String
}
input GetFacilitiesByFiltersInputBE {
longitude: Float!
latitude: Float!
radiusKm: Float
preferredActivityIds: [UUID]
dates: [Date]
timeWindow: TimeIntervalInput
page: Int
size: Int
}
interface GraphQLBaseCoachDTO {
id: UUID!
firstName: String!
lastName: String!
}
type GraphQLBusiness {
businessId: UUID!
name: String!
location: UUID!
phone: Phone!
email: String!
imageUrl: String
}
type GraphQLBusinessDTO {
businessId: UUID
name: String
location: LocationDTO
phone: Phone
email: String
imageUrl: String
}
type GraphQLCoachActivityDTO {
sportId: UUID!
experienceYears: Int!
}
type GraphQLCoachDTO implements GraphQLBaseCoachDTO {
id: UUID!
firstName: String!
lastName: String!
email: String!
dateOfBirth: String!
phone: Phone!
availability: [DayAvailability!]!
rate: GraphQLCoachRateDTO!
activities: [GraphQLCoachActivityDTO!]!
facilityId: UUID!
notes: String
}
type GraphQLCoachingSessionDTO implements GraphQLEventDTO {
facilityId: String
eventId: ID
startDatetime: String
endDatetime: String
fieldId: String
fieldName: String
fieldType: String
eventType: String
notes: String
lessonId: String
lessonTitle: String
activityId: String
activityName: String
coaches: [GraphQLLessonCoachDTO]
}
type GraphQLCoachRateDTO {
rate: Float!
frequency: FrequencyType!
currency: CurrencyType!
}
input GraphQLCreateCoachRequest {
firstName: String!
lastName: String!
email: String!
dateOfBirth: String!
phone: PhoneInput!
availability: [DayAvailabilityInput!]!
rate: CoachRateInput!
activities: [CoachActivityInput!]!
facilityId: UUID!
notes: String
}
type GraphQLCurrentUser {
id: UUID
firstName: String
lastName: String
email: String
language: String
timeFormatPreference: String
emailNotification: Boolean
appNotification: Boolean
smsNotification: Boolean
role: UserRole
business: BusinessInfo
facilities: [FacilityInfo]
profileImageUrl: String
}
interface GraphQLEventDTO {
facilityId: String
eventId: ID
startDatetime: String
endDatetime: String
fieldId: String
fieldName: String
fieldType: String
eventType: String
notes: String
}
type GraphQLFacilityAdminBankAccount {
userId: UUID!
role: String
firstName: String
lastName: String
email: String
phone: Phone
bankAccountId: UUID
bankAccountHolderName: String
bankAccountNumber: String
bankIban: String
}
type GraphQLFacilityCoachDTO implements GraphQLBaseCoachDTO {
id: UUID!
firstName: String!
lastName: String!
email: String!
phone: Phone!
activities: [String!]
}
input GraphQLFacilityCustomerCreationInput {
firstName: String!
lastName: String!
email: String!
facilityId: String!
phone: PhoneInput!
gender: GenderType!
dateOfBirth: String
notes: String
}
type GraphQLFacilityCustomerDTO {
id: String
firstName: String
lastName: String
email: String
phone: Phone
gender: String
dateOfBirth: String
notes: String
joinedDate: String
}
type GraphQLFacilityDTO {
facilityId: UUID
name: String
phone: Phone
email: String
description: String
businessId: UUID
location: LocationDTO
openingHours: [TimeScheduleDTO]
holidayHours: [HolidayHours]
imageUrl: String
currency: CurrencyType
amenities: [Amenity]
}
type GraphQLLessonCoachDTO implements GraphQLBaseCoachDTO {
id: UUID!
firstName: String!
lastName: String!
role: String!
}
type GraphQLMaintenanceDTO implements GraphQLEventDTO {
facilityId: String
eventId: ID
startDatetime: String
endDatetime: String
fieldId: String
fieldName: String
fieldType: String
eventType: String
notes: String
maintenanceType: String
reason: String
}
type GraphQLMatchDTO implements GraphQLEventDTO {
facilityId: String
eventId: ID
startDatetime: String
endDatetime: String
fieldId: String
fieldName: String
fieldType: String
eventType: String
notes: String
activityId: String
activityName: String
paymentStatus: String
realityEvent: Boolean
participants: [GraphQLParticipantDTO]
organizerFirstName: String
organizerLastName: String
organizerImageUrl: String
minPlayers: Int
maxPlayers: Int
basePrice: Price
guestFee: Price
title: String
paymentStrategy: PaymentStrategy
competitionType: ParticipantType
}
type GraphQLMinimalFacility {
facilityId: UUID
facilityName: String
}
type GraphQLParticipantDTO {
id: String
firstName: String
lastName: String
eventCreator: String
type: String
}
type GraphQLQueryResponseEvent {
success: Boolean
message: String
statusCode: String
data: GraphQLEventDTO
pagination: PaginationDTO
}
type GraphQLQueryResponseMatch {
success: Boolean
message: String
statusCode: String
data: GraphQLMatchDTO
}
input GraphQLRegisterInput {
firstName: String!
lastName: String!
phone: PhoneInput!
email: String!
password: String!
role: UserRole!
}
type GraphQLTournamentDTO {
tournamentId: UUID!
name: String!
startDate: Date!
endDate: Date!
numberOfParticipants: Int!
activityType: String!
registrationStatus: RegistrationStatusType!
competitionType: ParticipantType!
}
type GraphQLTournamentMatchDTO implements GraphQLEventDTO {
facilityId: String
eventId: ID
startDatetime: String
endDatetime: String
fieldId: String
fieldName: String
fieldType: String
eventType: String
notes: String
activityId: String
activityName: String
title: String
tournamentId: String
}
enum GraphQLTournamentStatus {
CONFIRMED
PENDING
}
type GraphQLUserCreatePayload {
userId: UUID
email: String
phone: Phone
}
type GroupedBarStats {
month: Int!
total: Float!
transactedOnline: Float!
onsitePayments: Float!
}
enum GroupedBarStatsFilter {
REVENUES
MATCHES
RESERVATIONS
PLAYERS
}
type HolidayHours {
startsAt: DateTime
endsAt: DateTime
notes: String
facilityId: UUID
facilityHolidayHoursId: UUID
createdAt: DateTime
updatedAt: DateTime
}
input HolidayHoursInput {
startsAt: DateTime
endsAt: DateTime
notes: String
}
input HolidayScheduleInput {
startTime: String!
endTime: String!
note: String
}
enum InitialRatingType {
FIRST_TIME_PLAYER
PLAYED_FEW_GAMES
MID_LEVEL_PROFICIENCY
ADVANCED_PLAYER
PROFESSIONAL_PLAYER
}
input InitiatePaymentInput {
paymentType: PaymentType!
provider: PaymentProviderType
customerId: UUID
}
type InitiatePaymentResponse {
orderId: UUID
paymentType: PaymentType
provider: PaymentProviderType
paymentRef: String
redirectUrl: String
status: ParticipationStatusType
}
enum InputLocationType {
PLAIN_TEXT
COORDINATES
}
type JoinMatchResponse {
eventParticipationId: UUID
status: ParticipationStatusType
orderId: UUID
amount: Float
currency: CurrencyType
}
type Lesson {
lessonId: UUID
title: String
description: String
gender: TargetGenderType
minAge: Int
maxAge: Int
maxParticipants: Int
startDate: Date
endDate: Date
durationSessionMinutes: Int
activityId: UUID
coachId: UUID
facilityId: UUID
realityEvent: Boolean!
}
input LessonByTimeframeInput {
facilityId: UUID!
startDate: Date!
endDate: Date!
activityId: UUID
leadCoachId: UUID
page: Int
size: Int
}
type LocationDTO {
inputType: String
coordinates: CoordinatesDTO
address: AddressDTO
}
input LoginInput {
email: String!
password: String!
}
input MaintenanceDetailsInput {
baseEvent: BaseEventInput!
reason: String!
}
type MaintenanceDTO {
maintenanceId: String
startDatetime: Date
endDatetime: Date
maintenanceType: String
reason: String
fieldId: String
fieldName: String
notes: String
}
type MaintenanceSessionDTO implements EventDTO {
eventId: ID
startDatetime: String
endDatetime: String
fieldId: String
fieldName: String
facilityId: String
eventType: String
notes: String
fieldMaintenanceId: String
maintenanceType: String
maintenanceReason: String
}
input MaintenancesRequest {
facilityId: String!
startDate: Date
endDate: Date
fieldId: String
}
enum MaintenanceType {
MAINTENANCE
UPGRADE
}
input MatchDetailsInput {
baseEvent: BaseEventInput!
activityId: String!
paymentStatus: String
organizerFirstName: String
organizerLastName: String
organizerImageUrl: String
title: String
participants: [ParticipantInput!]
}
type MatchDTO implements EventDTO {
eventId: ID
startDatetime: String
endDatetime: String
fieldId: String
fieldName: String
facilityId: String
eventType: String
notes: String
activityId: String
activityName: String
paymentStatus: String
minPlayers: Int
maxPlayers: Int
basePrice: Price
guestFee: Price
realityEvent: Boolean
participants: [ParticipantDTO]
competitionType: ParticipantType
paymentStrategy: PaymentStrategy
}
input MatchFilterInput {
trending: Boolean = false
longitude: Float!
latitude: Float!
radiusKm: Float
preferredActivityIds: [UUID]
dates: [Date]
timeWindow: TimeIntervalInput
timeframe: TimeframeType
isParticipating: Boolean
page: Int
size: Int
}
type MatchParticipantDTO {
matchId: UUID
tournamentParticipantId: UUID
matchParticipantId: UUID
participantInfo: ParticipantInfo
results: MatchParticipantResult
}
type MatchParticipantResult {
score: Int
additionalScore: Int
segmentScores: [MatchSegmentScore]
}
type MatchSegment {
matchId: UUID
matchSegmentId: UUID
segmentOrder: Int
segmentLabel: String
matchSegmentsScores: [MatchSegmentScore]
}
type MatchSegmentScore {
matchParticipantId: UUID
tournamentParticipantId: UUID
score: Int
additionalScore: Int
segmentLabel: String
segmentOrder: Int
}
enum MediaTypeEnum {
IMAGE
VIDEO
}
type MissingSessionResponseDTO {
preferredDate: Date
preferredStartTime: String
preferredEndTime: String
reason: String
}
input MobileAppLocationInput {
inputType: InputLocationType!
coordinates: CoordinatesInput
address: AddressInput
}
type MobileAppMatch {
eventId: ID
startDatetime: String
endDatetime: String
fieldId: String
fieldName: String
fieldType: String
eventType: String
notes: String
activityId: String
activityName: String
paymentStatus: String
location: LocationDTO
minPlayers: Int
maxPlayers: Int
realityEvent: Boolean
participants: [MobileAppParticipant]
competitionType: ParticipantType
paymentStrategy: PaymentStrategy
basePrice: Price
guestFee: Price
joiningPrice: Price
isParticipating: Boolean
fieldSurfaceType: String
distanceKm: Float
remainingSlots: Int
imageUrl: String
}
type MobileAppParticipant {
customerId: UUID
firstName: String
lastName: String
eventCreator: Boolean
status: String
}
type MobileEventDTO {
id: String!
name: String!
startTime: String!
endTime: String!
distance: Float
type: String!
totalPlaces: Int!
availablePlaces: Int!
address: String!
notes: [String]
imageUrl: [String]!
price: Float!
longitude: Float!
latitude: Float!
}
type MobileUserDetails {
id: UUID
firstName: String
lastName: String
role: UserRole
phone: Phone
email: String
birthdate: String
gender: String
profileImageUrl: String
}
type MobileUserPreferences {
pack: String
contentMarketing: Boolean
language: String
theme: String
timeFormatPreference: String
emailNotification: Boolean
smsNotification: Boolean
}
type MobileUserProfile {
userDetails: MobileUserDetails
userPreferences: MobileUserPreferences
Location: LocationDTO
preferredActivities: [UserPreferredActivity]
}
type MonthlyUserStatsDTO {
month: String!
totalUsers: Int!
regularUsers: Int!
newUsers: Int!
}
type MonthlyUserStatsResponse {
success: Boolean!
message: String
statusCode: String
data: [MonthlyUserStatsDTO!]
}
type Mutation {
createActivity(activityInput: ActivityInput): MutationResponseActivity
updateActivity(id: ID!, activityInput: ActivityInput): MutationResponseActivity
deleteActivity(id: ID!): MutationResponseActivity
createAmenity(input: CreateAmenityInput): MutationResponseCreateAmenity
login(loginInput: LoginInput!): MutationResponseAuth!
refreshToken(input: RefreshTokenInput!): MutationResponseToken!
logout(input: RefreshTokenInput!): MutationResponseVoid
updatePassword(input: PasswordUpdateInput!): MutationResponseVoid!
mobileAppRegister(input: GraphQLRegisterInput!): MutationResponseRegister!
webAppRegister(input: GraphQLRegisterInput!): MutationResponseRegister!
resetPassword(input: ResetPasswordInput!): MutationResponseVoid
verifyAccount(token: String!): MutationResponseVoid
setupAccount(input: SetupAccountInput!): MutationResponseVoid
mobileAppForgotPassword(input: ForgotPasswordInput!): MutationResponseVoid
webAppForgotPassword(input: ForgotPasswordInput!): MutationResponseVoid
mobileAppInitVerifyAccount(input: VerifyAccountInput!): MutationResponseVoid
webAppInitVerifyAccount(input: VerifyAccountInput!): MutationResponseVoid
createBankBE(input: BankInputBE!): MutationResponseBankBE
updateBankBE(bankAccountId: UUID!, input: BankInputBE!): MutationResponseBankBE
deleteMyBankBE(bankAccountId: UUID!): MutationResponseBankBE
createBankAndLinkToFacilityBE(facilityId: UUID!, input: BankInputBE!): MutationResponseBankBE
createBankAndLinkToBusinessBE(businessId: UUID!, input: BankInputBE!): MutationResponseBankBE
updateBankAndLinkToFacilityBE(bankAccountId: UUID!, facilityId: UUID!, input: BankInputBE!): MutationResponseBankBE
updateBankAndLinkToBusinessBE(bankAccountId: UUID!, businessId: UUID!, input: BankInputBE!): MutationResponseBankBE
deleteBankBE(bankAccountId: UUID!): MutationResponseBankBE
createBank(input: BankInput!): MutationResponseBank
updateBank(bankAccountId: UUID!, input: BankInput!): MutationResponseBank
deleteMyBank(bankAccountId: UUID!): MutationResponseBank
createBankAndLinkToFacility(facilityId: UUID!, input: BankInput!): MutationResponseBank
createBankAndLinkToBusiness(businessId: UUID!, input: BankInput!): MutationResponseBank
updateBankAndLinkToFacility(bankAccountId: UUID!, facilityId: UUID!, input: BankInput!): MutationResponseBank
updateBankAndLinkToBusiness(bankAccountId: UUID!, businessId: UUID!, input: BankInput!): MutationResponseBank
deleteBank(bankAccountId: UUID!): MutationResponseBank
deleteBusinessBE(businessId: UUID): MutationResponseBusinessBE
createBusinessBE(input: CreateBusinessInputBE!): QueryResponseBusinessBE
updateBusinessBE(businessId: UUID!, input: UpdateBusinessInputBE!): QueryResponseBusinessBE
deleteBusiness(businessId: UUID): MutationResponseBusiness
createBusiness(input: CreateBusinessInput!): QueryResponseBusiness
updateBusiness(businessId: UUID!, input: UpdateBusinessInput!): QueryResponseBusiness
updateCoach(input: UpdateCoachRequestBE, coachId: UUID, facilityId: UUID): MutationResponseFacilityCoachBE
createCoach(input: GraphQLCreateCoachRequest!): MutationResponseCoach!
deleteCoach(coachId: UUID!): MutationResponseCoach!
updateFacilityCustomer(id: UUID!, input: UpdateFacilityCustomerInput): MutationResponseString
deleteFacilityCustomer(id: UUID!): MutationResponseString
createRealityCustomer(input: RealityCustomerCreationInput!): MutationResponseVoid
createFacilityCustomer(input: GraphQLFacilityCustomerCreationInput!): MutationResponseString
createEventBE(eventDTO: CreateEventRequest!): MutationResponseEventBE
updateEventBE(id: UUID, eventDTO: CreateEventRequest): MutationResponseEventBE
deleteEventBE(id: UUID): DeleteEventMutationResponse
createEvent(eventDTO: CreateEventRequest!): MutationResponseEvent
updateEvent(id: UUID, eventDTO: CreateEventRequest): MutationResponseEvent
deleteEvent(id: UUID): DeleteEventMutationResponse
createMatch(input: CreateRealityEventRequest!): MutationResponseCreateRealityEvent
addMatchParticipant(matchId: UUID, input: CustomerMembershipInput): MutationResponseAddMatchParticipant
joinMatch(matchId: UUID, input: CustomerMembershipInput): MutationResponseJoinMatch
initiateMatchPayment(matchId: UUID, orderId: UUID, input: InitiatePaymentInput): MutationResponseInitiatePayment
approveJoinMatchRequest(matchId: UUID, eventParticipantId: UUID): MutationResponseApproveJoin
createFacilityAdmin(input: CreateFacilityAdminInput): MutationResponseVoid
updateFacilityAdmin(facilityAdminId: UUID, input: UpdateFacilityAdminInput): MutationResponseVoid
deleteFacilityAdmin(facilityAdminId: UUID): MutationResponseVoid
createFacilityBE(input: CreateFacilityRequestBE!): MutationResponseFacilityBE
updateFacilityBE(facilityId: UUID!, input: CreateFacilityRequestBE!): MutationResponseFacilityBE
deleteFacility(facilityId: UUID!): MutationResponseFacilityBE
createFacility(input: CreateFacilityRequest!): MutationResponseFacility
updateFacility(facilityId: UUID!, input: CreateFacilityRequest!): MutationResponseFacility
createField(fieldInput: FieldInput): FieldMutationResponse
updateField(fieldId: UUID!, fieldInput: FieldInput): FieldMutationResponse
deleteField(fieldId: UUID!): FieldMutationResponse
confirmTournamentSessions(input: ConfirmTournamentSessionsInputBE): MutationResponseConfirmTournament
addTournamentParticipant(tournamentId: UUID, input: CustomerMembershipInput): MutationResponseAddTournamentParticipant
updateTeamMembership(tournamentId: UUID, input: CustomerMembershipInput): MutationResponseUpdateTeamMembership
removeTournamentParticipant(tournamentId: UUID, customerId: UUID): MutationResponseRemoveTournamentParticipant
updateTournament(tournamentId: UUID, input: UpdateTournamentInput): MutationResponseUpdateTournament
removeTournament(tournamentId: UUID): MutationResponseRemoveTournament
updateTournamentMatchResult(tournamentId: UUID!, matchId: UUID!, input: UpdateTournamentMatchResultRequest!): MutationResponseUpdateTournamentMatchResult
approveJoinTournamentRequest(tournamentId: UUID!, tournamentParticipantId: UUID!): MutationResponseApproveJoin
requestToJoinTournament(tournamentId: UUID!, input: TournamentJoinRequestInput): MutationResponseJoinTournament
initiateTournamentPayment(tournamentId: UUID!, orderId: UUID!, input: InitiatePaymentInput!): MutationResponseInitiatePayment
updateWebUserProfile(id: ID!, input: UpdateWebUserProfileInput!): MutationResponseWebUserProfile
updateMobileUserProfile(input: UpdateMobileUserProfileInput!): MutationResponseMobileUserProfile
updateUserBasicInfo(input: UpdateUserBasicInfoInput!): MutationResponseVoid
updatePreferredActivities(input: UpdatePreferredActivitiesInput!): MutationResponseUserPreferredActivities
}
type MutationResponseActivity {
success: Boolean
message: String
data: Activity
}
type MutationResponseAddMatchParticipant {
success: Boolean
message: String
statusCode: String
data: EventParticipant
}
type MutationResponseAddTournamentParticipant {
success: Boolean!
message: String
data: TournamentParticipantEntity
statusCode: String
}
type MutationResponseApproveJoin {
success: Boolean!
message: String
statusCode: String
}
type MutationResponseAuth {
success: Boolean!
message: String
data: AuthPayload
statusCode: String
}
type MutationResponseBank {
success: Boolean!
message: String
statusCode: String
data: Bank
}
type MutationResponseBankBE {
success: Boolean!
message: String
statusCode: String
data: BankBE
}
type MutationResponseBusiness {
success: Boolean
message: String
data: GraphQLBusiness
statusCode: String
}
type MutationResponseBusinessBE {
success: Boolean
message: String
data: BusinessBE
statusCode: String
}
type MutationResponseCoach {
success: Boolean!
message: String!
statusCode: String!
}
type MutationResponseConfirmTournament {
success: Boolean
message: String
data: TournamentScheduleDTO
statusCode: String
}
type MutationResponseCreateAmenity {
success: Boolean
message: String
data: Amenity
}
type MutationResponseCreateRealityEvent {
success: Boolean
message: String
statusCode: String
data: CreateRealityEventResponse
}
type MutationResponseEvent {
success: Boolean
message: String
data: String
}
type MutationResponseEventBE {
success: Boolean
message: String
data: EventDTO
}
type MutationResponseFacility {
success: Boolean
message: String
statusCode: String
data: GraphQLFacilityDTO
}
type MutationResponseFacilityAdmin {
success: Boolean
message: String
statusCode: String
data: FacilityAdminLite
}
type MutationResponseFacilityBE {
success: Boolean
message: String
statusCode: String
data: FacilityDTOBE
}
type MutationResponseFacilityCoachBE {
success: Boolean
statusCode: String
message: String
data: FacilityCoachDTO
}
type MutationResponseInitiatePayment {
success: Boolean!
message: String
data: InitiatePaymentResponse
statusCode: String
}
type MutationResponseJoinMatch {
success: Boolean
message: String
statusCode: String
data: JoinMatchResponse
}
type MutationResponseJoinTournament {
success: Boolean!
message: String
data: TournamentJoinResponse
statusCode: String
}
type MutationResponseMobileUserProfile {
success: String
message: String
statusCode: String
data: MobileUserProfile
}
type MutationResponseRegister {
success: Boolean!
message: String
statusCode: String
data: GraphQLUserCreatePayload
}
type MutationResponseRemoveTournament {
success: Boolean!
message: String
data: TournamentDTO
statusCode: String
}
type MutationResponseRemoveTournamentParticipant {
success: Boolean!
message: String
data: TournamentCustomerParticipant
statusCode: String
}
type MutationResponseString {
success: Boolean
message: String
data: String
}
type MutationResponseToken {
success: Boolean!
message: String
statusCode: String
data: AccessTokenResponse
}
type MutationResponseUpdateTeamMembership {
success: Boolean!
message: String
data: TeamMember
statusCode: String
}
type MutationResponseUpdateTournament {
success: Boolean!
message: String
data: TournamentDTO
statusCode: String
}
type MutationResponseUpdateTournamentMatchResult {
success: Boolean!
message: String
data: [MatchParticipantDTO]
statusCode: String
}
type MutationResponseUserPreferredActivities {
success: String
message: String
statusCode: String
data: [UserPreferredActivity]
}
type MutationResponseVoid {
success: Boolean
message: String
statusCode: String
}
type MutationResponseWebUserProfile {
success: String
message: String
statusCode: String
data: WebUserProfile
}
enum OpponentType {
REAL
BYE
TBD
}
type PaginatedQueryResponseEvent {
success: Boolean
message: String
data: [GraphQLEventDTO]
pagination: PaginationDTO
}
type PaginatedQueryResponseLesson {
success: Boolean
message: String
data: [Lesson]
pagination: PaginationDTO
}
type PaginatedQueryResponseTournament {
success: Boolean
message: String
data: [TournamentDTO]
pagination: PaginationDTO
}
type PaginationDTO {
totalRecords: Int
pageNumber: Int
totalPages: Int
pageSize: Int
}
type ParticipantDTO {
user: CustomerInfo
facilityCustomer: CustomerInfo
eventCreator: Boolean
status: String
customerId: String
}
type ParticipantInfo {
type: ParticipantType
role: OpponentType
averageRating: Float
player: TournamentCustomerParticipant
team: TournamentTeamParticipant
}
input ParticipantInput {
firstName: String!
lastName: String!
type: String
}
input ParticipantInputBE {
customerId: String
status: String
eventCreator: Boolean
attendanceStatusType: String
matchPlayerStatusType: String
}
input ParticipantScoreInput {
tournamentParticipantId: UUID
score: Int
additionalScore: Int
}
enum ParticipantType {
TEAM
PLAYER
}
enum ParticipationStatusType {
PENDING_PAYMENT
PENDING_APPROVAL
APPROVED
REJECTED
CANCELED
ABANDONED
PAYMENT_TIMEOUT
INVITATION_SENT
INVITATION_REJECTED
}
input PasswordUpdateInput {
oldPassword: String!
newPassword: String!
}
enum PaymentProviderType {
KONNECT
STRIPE
OTHER
}
enum PaymentStatusType {
COMPLETED
PARTIALLY_PAID
PENDING
INITIATED
FAILED
}
enum PaymentStrategy {
ONE_FOR_ALL
EACH_PAYS
}
type PaymentSummary {
paymentRef: String
provider: PaymentProviderType
currency: CurrencyType
totalAmount: Int
}
enum PaymentType {
CASH
ONLINE_PAYMENT
POINTS
}
type PaymentTypeStats {
name: String!
percentage: Float!
}
type Phone {
phoneCode: String!
phoneNumber: String!
}
input PhoneInput {
phoneCode: String!
phoneNumber: String!
}
input PreferredActivityInput {
activityId: UUID!
proficiency: ProficiencyType!
}
input PreferredTimeWindow {
dayOfWeek: DayOfWeekType!
startTime: String!
endTime: String!
}
type Price {
rate: Float
currency: CurrencyType
}
input PriceInput {
rate: Float
currency: CurrencyType
}
enum ProficiencyType {
FIRST_TIME_PLAYER
PLAYED_FEW_GAMES
MID_LEVEL_PROFICIENCY
ADVANCED_PLAYER
PROFESSIONAL_PLAYER
}
type Query {
activities: QueryResponseActivity
supportedActivities: QueryResponseActivity
fieldActivities(fieldId: UUID!): QueryResponseActivity
facilityActivities(facilityId: UUID!): QueryResponseActivity
amenities(page: Int, size: Int): QueryResponseRandomAmenities
verifyToken(token: String!, type: VerificationTokenType!): QueryResponseBoolean
bankByAccountNumberBE(accountNumber: String!): QueryResponseBankBE
bankByAccountIdBE(accountID: String!): QueryResponseBankBE
myBankBE: QueryResponseBankBE
facilityAdminBankAccountsBE(facilityId: UUID!): QueryResponseFacilityAdminBanksBE
bankByAccountNumber(accountNumber: String!): QueryResponseBank
bankByAccountId(accountID: String!): QueryResponseBank
myBank: QueryResponseBank
facilityAdminBankAccounts(facilityId: UUID!): QueryResponseFacilityAdminBanks
businessBE(businessId: UUID): QueryResponseBusinessBE
business(businessId: UUID): QueryResponseBusiness
facilityCoachesBE(input: FacilityCoachesRequestBE!): QueryResponseFacilityCoachBE
facilityCoaches(input: FacilityCoachesRequest!): QueryResponseFacilityCoach!
communityFeed: QueryResponseCommunityFeed
facilityCustomersBE(input: FacilityCustomerRequest!): QueryResponseFacilityCustomer
realityCustomerSearch(input: RealityCustomerSearchRequest!): QueryResponseRealityCustomer
facilityCustomerSearch(input: FacilityCustomerSearchRequest!): QueryResponseFacilityCustomer
facilityCustomerDetails(facilityCustomerId: UUID!): QueryResponseFacilityCustomerDetails
facilityCustomers(input: CustomerQueryInput!): QueryResponseFacilityCustomer
events(input: EventQueryInput!): QueryResponseEvent
commonBookedTimeSlots(input: CommonBookedTimeSlotsInput!): QueryResponseBookedTimeSlotsBE
eventsByTimeFrame(input: EventByTimeFrameInput!): PaginatedQueryResponseEvent
realityAppUpcomingMatches(userId: UUID!): QueryResponseMatch
realityAppMatches(input: MatchFilterInput!): QueryResponseMatch
calendarEvents: [CalendarEventResult]
matchDetails(matchId: UUID!): GraphQLQueryResponseMatch
eventsByFilter(filter: EventFilterInput!): QueryResponseMobileEvent
facilityAdmins(facilityId: UUID!): QueryResponseFacilityAdmin
facilitiesForUser(userId: UUID!, role: AdminRoleType): QueryResponseMinimalFacility
facilities(page: Int, size: Int): QueryResponseFacilityBE
facilitiesForBusiness(businessId: UUID!, page: Int, size: Int): QueryResponseFacilityBE
facilitiesByFilters(filters: GetFacilitiesByFiltersInputBE): QueryResponseFacilitiesByFilters
facilityInfoWeb(id: UUID): FacilityInfoWebResponse
fields(facilityId: UUID!, filters: FieldFilterInput): QueryResponseField
fieldsAvailabilities(input: FieldsAvailabilitiesInput): QueryResponseFieldsAvailabilities
checkFieldAvailability(fieldId: UUID!, startDate: DateTime!, endDate: DateTime!): QueryResponseCheckFieldAvailability
searchAddresses(query: String!): QueryResponseGeocodingResultList
reverseGeocode(latitude: Float!, longitude: Float!): QueryResponseGeocodingResult
getGroupedBarStats(filter: GroupedBarStatsFilter!): QueryResponseOfGroupedBarStats!
lessonsByTimeFrame(input: LessonByTimeframeInput!): PaginatedQueryResponseLesson
lessonSchedule(lessonId: ID!): QueryResponseLessonSession
fieldMaintenancesByTimeframe(maintenanceRequest: MaintenancesRequest): QueryResponseMaintenanceBE
getPaymentTypeStats: QueryResponseOfPaymentTypeStats!
monthlyUserStats: MonthlyUserStatsResponse!
tournamentSchedule(tournamentId: ID!): QueryResponseTournamentSchedule!
tournamentPlanningSuggestion(input: SuggestTournamentPlanningInputBE!): QueryResponseTournamentPlanningSuggestion!
generateTournamentDraw(tournamentId: ID!): GenerateTournamentDrawResponse
tournamentConfrontations(tournamentId: ID!): QueryResponseTournamentConfrontations!
tournamentParticipants(tournamentId: ID!): QueryResponseTournamentParticipants!
searchTournamentCustomerParticipants(tournamentId: ID!, input: SearchByInput): QueryResponseSearchCustomerTournamentParticipants!
tournamentInformation(tournamentId: ID!): QueryResponseTournamentInformation!
tournamentsByCriteria(input: TournamentSearchRequestInput!): QueryResponseSearchTournamentsByCriteria!
tournamentParticipantOrderInfo(tournamentId: ID!, customerId: ID!): QueryResponseTournamentParticipantOrderInfo
tournamentsByTimeFrame(input: TournamentByTimeFrameInput!): QueryResponseTournament
mobileUserProfile: QueryResponseMobileUserProfile
webUserProfileBE: QueryResponseWebUserProfile
userBasicInfo(token: String): QueryResponseUserBasicInfo
webUserProfile: QueryResponseGraphQLCurrentUser
}
type QueryResponseActivity {
success: Boolean
message: String
data: [Activity]
}
type QueryResponseBank {
success: Boolean!
message: String
statusCode: String
data: Bank
}
type QueryResponseBankBE {
success: Boolean!
message: String
statusCode: String
data: BankBE
}
type QueryResponseBookedTimeSlotsBE {
success: Boolean
message: String
data: [CommonBookedTimeSlot]
statusCode: String
}
type QueryResponseBoolean {
success: Boolean
message: String
statusCode: String
data: Boolean
}
type QueryResponseBusiness {
success: Boolean
message: String
data: GraphQLBusinessDTO
statusCode: String
}
type QueryResponseBusinessBE {
success: Boolean
message: String
data: BusinessDTOBE
statusCode: String
}
type QueryResponseCheckFieldAvailability {
success: Boolean
message: String
data: CheckFieldAvailability
statusCode: String
}
type QueryResponseCommunityFeed {
success: Boolean
message: String
statusCode: String
data: [CommunityFeedPost]
}
type QueryResponseCustomer {
success: Boolean
message: String
data: [GraphQLFacilityCustomerDTO]
}
type QueryResponseEvent {
success: Boolean
message: String
data: [EventDTO]
}
type QueryResponseFacilitiesByFilters {
success: Boolean
message: String
statusCode: String
data: [GraphQLFacilityDTO]
pagination: PaginationDTO
}
type QueryResponseFacility {
success: Boolean
message: String
statusCode: String
data: [GraphQLFacilityDTO]
pagination: PaginationDTO
}
type QueryResponseFacilityAdmin {
success: Boolean
message: String
statusCode: String
data: [FacilityAdminComplete]
}
type QueryResponseFacilityAdminBanks {
success: Boolean!
message: String
statusCode: String
data: [GraphQLFacilityAdminBankAccount!]!
}
type QueryResponseFacilityAdminBanksBE {
success: Boolean!
message: String
statusCode: String
data: [FacilityAdminBankAccount!]!
}
type QueryResponseFacilityBE {
success: Boolean
message: String
statusCode: String
data: [FacilityDTOBE]
pagination: PaginationDTO
}
type QueryResponseFacilityCoach {
success: Boolean!
message: String!
data: [GraphQLFacilityCoachDTO]
pagination: PaginationDTO
}
type QueryResponseFacilityCoachBE {
success: Boolean
message: String
data: [FacilityCoachDTO]
pagination: PaginationDTO
}
type QueryResponseFacilityCustomer {
success: Boolean
message: String
statusCode: String
data: [GraphQLFacilityCustomerDTO]
pagination: PaginationDTO
}
type QueryResponseFacilityCustomerBE {
success: Boolean
message: String
statusCode: String
data: [FacilityCustomerDTO]
pagination: PaginationDTO
}
type QueryResponseFacilityCustomerDetails {
success: Boolean
message: String
statusCode: String
data: GraphQLFacilityCustomerDTO
}
type QueryResponseField {
success: Boolean
message: String
statusCode: String
data: [Field]
}
type QueryResponseFieldsAvailabilities {
success: Boolean
message: String
data: [FieldAvailability]
statusCode: String
}
type QueryResponseGeocodingResult {
success: Boolean
message: String
statusCode: String
data: GeocodingResult
}
type QueryResponseGeocodingResultList {
success: Boolean
message: String
statusCode: String
data: [GeocodingResult]
}
type QueryResponseGraphQLCurrentUser {
success: Boolean!
message: String!
statusCode: String!
data: GraphQLCurrentUser
}
type QueryResponseLessonSession {
success: Boolean
message: String
statusCode: String
data: [CoachingSessionDTO]
}
type QueryResponseMaintenanceBE {
success: Boolean
message: String
statusCode: String
data: [MaintenanceDTO]
pagination: PaginationDTO
}
type QueryResponseMatch {
success: Boolean
message: String
data: [MobileAppMatch]
}
type QueryResponseMinimalFacility {
success: Boolean
message: String
statusCode: String
data: [GraphQLMinimalFacility]
}
type QueryResponseMobileEvent {
success: Boolean!
message: String!
statusCode: String!
data: [MobileEventDTO]
}
type QueryResponseMobileUserProfile {
success: String
message: String
statusCode: String
data: MobileUserProfile
}
type QueryResponseOfGroupedBarStats {
success: Boolean!
message: String!
statusCode: String!
data: [GroupedBarStats!]!
}
type QueryResponseOfPaymentTypeStats {
success: Boolean!
message: String!
statusCode: String!
data: [PaymentTypeStats!]!
}
type QueryResponseRandomAmenities {
success: Boolean
message: String
data: [Amenity]
pagination: PaginationDTO
}
type QueryResponseRealityCustomer {
success: Boolean
message: String
statusCode: String
data: [RealityCustomerDTO]
pagination: PaginationDTO
}
type QueryResponseSearchCustomerTournamentParticipants {
success: Boolean!
message: String
statusCode: String
data: [TournamentCustomerParticipant]
pagination: PaginationDTO
}
type QueryResponseSearchTournamentsByCriteria {
success: Boolean!
message: String
data: [TournamentInformation]
pagination: PaginationDTO
statusCode: String
}
type QueryResponseTournament {
success: Boolean!
message: String!
data: [TournamentInformation]
pagination: PaginationDTO
statusCode: String!
}
type QueryResponseTournamentConfrontations {
success: Boolean!
message: String
statusCode: String
data: TournamentConfrontationsOutput
}
type QueryResponseTournamentInformation {
success: Boolean!
message: String
data: TournamentInformation
statusCode: String
}
type QueryResponseTournamentParticipantOrderInfo {
success: Boolean!
message: String
data: TournamentParticipantOrderInfo
statusCode: String
}
type QueryResponseTournamentParticipants {
success: Boolean!
message: String
statusCode: String
data: TournamentParticipantsOutput
}
type QueryResponseTournamentPlanningSuggestion {
success: Boolean!
message: String
data: TournamentPlanningSuggestion
statusCode: String
}
type QueryResponseTournamentSchedule {
success: Boolean!
message: String
data: TournamentAndMatchSessionsOutput
statusCode: String
}
type QueryResponseUserBasicInfo {
success: String
message: String
statusCode: String
data: UserBasicInfo
}
type QueryResponseVoid {
success: Boolean
message: String
statusCode: String
}
type QueryResponseWebSignupInfo {
success: Boolean!
message: String
code: String
data: WebSignupInfoDTO
}
type QueryResponseWebUserProfile {
success: String
message: String
statusCode: String
data: WebUserProfile
}
input RealityCustomerCreationInput {
gender: GenderType
birthdate: Date!
location: MobileAppLocationInput
preferredActivities: [PreferredActivityInput!]!
}
type RealityCustomerDTO {
userId: ID
email: String
firstName: String
lastName: String
phone: Phone
gender: GenderType
birthdate: String
}
input RealityCustomerSearchRequest {
key: String!
page: Int
size: Int
}
input RefreshTokenInput {
refreshToken: String!
}
enum RegistrationStatusType {
OPEN
FULL
}
input ResetPasswordInput {
token: String!
newPassword: String!
}
input SearchByInput {
key: String!
page: Int!
size: Int!
}
type SessionDTO {
date: Date
startTime: String
endTime: String
fieldId: UUID
}
input SessionInput {
date: Date!
startTime: String!
endTime: String!
fieldId: UUID!
}
input SetupAccountInput {
email: String!
}
input SuggestTournamentPlanningInputBE {
tournamentFormat: TournamentFormat!
preferredFieldIds: [UUID!]!
matchDurationMinutes: Int!
preferredTimeWindows: [PreferredTimeWindow!]!
startDate: Date!
endDate: Date
minNumberOfMatchesPerDay: Int!
maxNumberOfMatchesPerDay: Int!
numberOfParticipants: Int!
facilityId: UUID!
activityId: UUID!
}
enum TargetGenderType {
ANY
FEMALE
MALE
}
type TeamMember {
teamId: UUID
playerId: UUID
position: String
isTeamCaptain: Boolean
}
type Time {
hour: Int!
minute: Int!
}
enum TimeframeType {
PAST
ONGOING
FUTURE
}
input TimeInput {
hour: Int!
minute: Int!
}
type TimeInterval {
start: String
end: String
}
input TimeIntervalInput {
start: String
end: String
}
type TimeScheduleDTO {
dayOfWeek: String
startTime: String
endTime: String
note: String
}
input TimeScheduleInput {
dayOfWeek: Int!
startTime: String!
endTime: String!
note: String
}
input TimeScheduleInputV2 {
dayOfWeek: DayOfWeekType!
startTime: String!
endTime: String!
note: String
}
type TournamentAndMatchSessionsOutput {
tournamentId: UUID!
tournamentStatus: TournamentStatus
startDate: Date
endDate: Date
matchDurationMinutes: Int
sessions: [TournamentSessionDTO!]!
matches: [TournamentMatchDTO!]!
}
input TournamentByTimeFrameInput {
facilityId: UUID!
timeframeType: TimeframeType!
activityId: UUID
page: Int
size: Int
}
input TournamentByTimeFrameInputBE {
facilityId: UUID!
startDate: Date!
endDate: Date!
activityId: UUID
page: Int
size: Int
}
type TournamentConfrontation {
confrontationId: UUID
roundOrder: Int
roundLabel: String
participantOneId: UUID
participantTwoId: UUID
predecessorOneId: UUID
predecessorTwoId: UUID
successorId: UUID
winnerParticipantId: UUID
confrontationParticipants: [TournamentParticipant]
matches: [TournamentMatch]
}
type TournamentConfrontationsOutput {
tournamentId: UUID
participantType: ParticipantType
startDate: Date
endDate: Date
endRegistrationDate: Date
tournamentStatus: TournamentStatus
registrationStatus: RegistrationStatusType
confrontations: [TournamentConfrontation]
}
type TournamentCustomerParticipant {
tournamentParticipantId: UUID
customerId: UUID
userInfo: RealityCustomerDTO
customerInfo: FacilityCustomerDTO
rating: Float
teamId: UUID
}
input TournamentDetailsInput {
baseEvent: BaseEventInput!
activityId: String!
title: String
}
type TournamentDTO {
tournamentId: UUID
type: TournamentType
name: String
rules: String
startDate: Date
endDate: Date
prizes: String
format: TournamentFormat
numberOfParticipants: Int
businessId: UUID
isRealityEvent: Boolean
numberOfGroups: Int
activityId: UUID
facilityId: UUID
organizerCustomerId: UUID
organizerUserId: UUID
price: Float
currency: CurrencyType
paymentStrategy: PaymentStrategy
tournamentStatus: TournamentStatus
competitionType: ParticipantType
matchDurationMinutes: Int
maxNumberPlayersPerTeam: Int
minNumberPlayersPerTeam: Int
poster: String
description: String
shareInReality: String
gender: GenderType
endRegistrationDate: Date
registrationStatus: RegistrationStatusType
}
enum TournamentFormat {
ROUND_ROBIN
GROUPS
BEST_OF_THREE
BEST_OF_ONE
BEST_OF_TWO
}
type TournamentInformation {
tournamentId: UUID
type: String
name: String
rules: String
startDate: Date
endDate: Date
prizes: String
format: TournamentFormat
numberOfParticipants: Int
businessId: UUID
isRealityEvent: Boolean
numberOfGroups: Int
activityId: UUID
facilityId: UUID
organizerCustomerId: UUID
organizerUserId: UUID
price: Float
currency: CurrencyType
paymentStrategy: PaymentStrategy
tournamentStatus: TournamentStatus
competitionType: ParticipantType
matchDurationMinutes: Int
maxNumberPlayersPerTeam: Int
minNumberPlayersPerTeam: Int
poster: String
description: String
shareInReality: String
gender: GenderType
endRegistrationDate: Date
registrationStatus: RegistrationStatusType
distanceKm: Float
activity: Activity
facility: FacilityDTOBE
individualParticipants: [TournamentCustomerParticipant]
isParticipating: Boolean
}
input TournamentInput {
startDate: Date!
endDate: Date!
facilityId: UUID!
organizerId: UUID!
name: String!
activityId: UUID!
matchDurationMinutes: Int!
description: String
competitionType: ParticipantType!
numberOfParticipants: Int!
minNumberPlayersPerTeam: Int
maxNumberPlayersPerTeam: Int
format: TournamentFormat!
type: TournamentType!
paymentStrategy: PaymentStrategy
price: Float
currency: CurrencyType
shareInReality: Boolean
prizes: String
poster: String
numberOfGroups: Int
isRealityEvent: Boolean
rules: String
gender: GenderType
endRegistrationDate: Date
}
input TournamentJoinRequestInput {
teamId: UUID
customerId: UUID
}
type TournamentJoinResponse {
tournamentParticipantId: UUID
status: ParticipationStatusType
orderId: UUID
amount: Float
currency: CurrencyType
}
type TournamentMatch {
matchId: UUID
tournamentSessionId: UUID
startDatetime: DateTime
endDatetime: DateTime
participants: [MatchParticipantDTO]
field: Field
activity: Activity
notes: String
minPlayers: Int
maxPlayers: Int
}
type TournamentMatchDTO implements EventDTO {
eventId: ID
startDatetime: String
endDatetime: String
fieldId: String
fieldName: String
facilityId: String
eventType: String
notes: String
activityId: String
activityName: String
paymentStatus: String
minPlayers: Int
maxPlayers: Int
realityEvent: Boolean
participants: [ParticipantDTO]
matchParticipants: [MatchParticipantDTO]
tournamentId: String
tournamentName: String
rules: String
tournamentSessionId: UUID
}
input TournamentMatchSegmentInput {
order: Int
label: String
scores: [ParticipantScoreInput]
}
type TournamentParticipant {
tournamentParticipantId: UUID
participantInfo: ParticipantInfo
}
type TournamentParticipantEntity {
tournamentParticipantId: UUID
tournamentId: UUID
participantType: ParticipantType
teamId: UUID
playerId: UUID
}
type TournamentParticipantOrderInfo {
tournamentId: UUID
tournamentParticipantId: UUID
billingSource: BillingSourceType
participantStatus: ParticipationStatusType
orderId: UUID
paymentType: PaymentType
orderTotalAmount: Float
orderCurrency: CurrencyType
payment: PaymentSummary
transactions: [Transaction]
}
type TournamentParticipantsOutput {
tournamentId: UUID
tournamentStatus: TournamentStatus
startDate: Date
endDate: Date
numberOfParticipants: Int
maxNumberPlayersPerTeam: Int
minNumberPlayersPerTeam: Int
gender: GenderType
endRegistrationDate: Date
competitionType: ParticipantType
participants: [TournamentParticipant]
}
type TournamentPlanningSuggestion {
requiredMatches: Int!
availableSessions: [SessionDTO]
missingSessions: [MissingSessionResponseDTO]
}
type TournamentScheduleDTO {
tournamentId: UUID!
sessions: [TournamentSessionDTO!]!
matches: [TournamentMatchDTO!]!
confrontations: [TournamentConfrontation]
}
input TournamentSearchRequestInput {
startDateFrom: Date
endDateTo: Date
facilityIds: [UUID]
activityIds: [UUID]
types: [TournamentType]
formats: [TournamentFormat]
status: TournamentStatus
competitionType: ParticipantType
isRealityEvent: Boolean
nameQuery: String
isParticipating: Boolean
latitude: Float
longitude: Float
radiusKm: Float
page: Int!
size: Int!
}
type TournamentSessionDTO implements EventDTO {
eventId: ID
startDatetime: String
endDatetime: String
fieldId: String
fieldName: String
facilityId: String
eventType: String
notes: String
tournamentId: String
tournamentName: String
activityId: String
activityName: String
}
enum TournamentStatus {
DRAFT
PUBLISHED
CANCELED
}
type TournamentTeamParticipant {
tournamentParticipantId: UUID
teamId: UUID
teamName: String
averageRating: Float
teamMembers: [TournamentCustomerParticipant]
}
enum TournamentType {
LEAGUE
TOURNAMENT
}
type Transaction {
transactionId: String
paymentRef: String
transactionAmount: Int
transactionStatus: TransactionStatusType
cardOwnerEmail: String
cardOwnerName: String
errorMessage: String
createdAt: DateTime
updatedAt: DateTime
}
enum TransactionStatusType {
SUCCESS
PENDING_PAYMENT
FAILED_PAYMENT
}
input UpdateBusinessInput {
businessOwnerId: UUID
name: String
location: WebAppLocationInput
phone: PhoneInput
email: String
imageUrl: String
}
input UpdateBusinessInputBE {
businessOwnerId: UUID
name: String
location: WebAppLocationInput
phone: PhoneInput
email: String
imageUrl: String
}
input UpdateCoachRequestBE {
bio: String
certifications: String
dateOfBirth: Date
rate: Float
currency: CurrencyType
frequency: FrequencyType
availability: [TimeScheduleInputV2]
activities: [CoachActivityInputBE]
}
input UpdateFacilityAdminInput {
firstName: String
lastName: String
phone: PhoneInput
role: AdminRoleType
facilities: [FacilityRoleInput]!
}
input UpdateFacilityCustomerInput {
firstName: String
lastName: String
gender: GenderType
email: String
birthdate: String
healthCondition: String
notes: String
}
input UpdateMobileUserProfileInput {
firstName: String
lastName: String
email: String
phone: PhoneInput
language: String
theme: String
timeFormatPreference: String
pack: String
contentMarketing: Boolean
emailNotification: Boolean
smsNotification: Boolean
appNotification: Boolean
gender: GenderType
birthdate: Date
location: MobileAppLocationInput
profileImageUrl: String
}
input UpdatePreferredActivitiesInput {
preferredActivities: [PreferredActivityInput!]!
}
input UpdateTournamentInput {
name: String
description: String
paymentStrategy: PaymentStrategy
price: Float
currency: CurrencyType
shareInReality: Boolean
prizes: String
poster: String
isRealityEvent: Boolean
rules: String
gender: GenderType
endRegistrationDate: Date
tournamentStatus: TournamentStatus
registrationStatus: RegistrationStatusType
}
input UpdateTournamentMatchResultRequest {
participants: [ParticipantScoreInput!]!
declaredWinnerTournamentParticipantId: UUID
segments: [TournamentMatchSegmentInput]
}
input UpdateUserBasicInfoInput {
token: String!
firstName: String
lastName: String
}
input UpdateWebUserProfileInput {
firstName: String
lastName: String
email: String
phone: PhoneInput
language: String
theme: String
timeFormatPreference: String
pack: String
contentMarketing: Boolean
emailNotification: Boolean
smsNotification: Boolean
appNotification: Boolean
profileImageUrl: String
}
type UserBasicInfo {
firstName: String
lastName: String
email: String
phone: Phone
}
type UserPreferredActivity {
activityId: UUID
activityName: String
activityType: String
isRealitySupported: Boolean
skillLevel: Float
rankingPoints: Float
trophiesWon: Int
initialRating: InitialRatingType
}
enum UserRole {
REALITY_ADMIN
BUSINESS_ADMIN
FACILITY_MANAGER
REALITY_APP_CUSTOMER
COACH
}
"""A universally unique identifier compliant UUID Scalar"""
scalar UUID
enum VerificationTokenType {
RESET_PASSWORD
VERIFY_EMAIL
}
input VerifyAccountInput {
email: String!
}
input WebAppLocationInput {
coordinates: CoordinatesInput!
address: AddressInput!
}
type WebSignupInfoDTO {
firstName: String
lastName: String
email: String
businessName: String
businessAddress: LocationDTO
}
type WebUserProfile {
id: UUID
firstName: String
lastName: String
email: String
role: UserRole
phone: Phone
pack: String
contentMarketing: Boolean
language: String
theme: String
timeFormatPreference: String
emailNotification: Boolean
appNotification: Boolean
smsNotification: Boolean
business: BusinessMinimal
facilities: [FacilityMinimal]
profileImageUrl: String
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment