Champagne

Club configuration

Read and update every club setting in one operation.

clubConfiguration returns, at once, the settings a club administrator edits in the back office, and updateClubConfiguration changes any subset of them atomically. They suit automation such as the Terraform provider; the back office keeps using the dedicated operations of each setting, which stay available.

Both operations require settings_manage in the club (club administrators and API tokens hold it). Other callers receive UNAUTHENTICATED.

Read the configuration

query ClubConfiguration($clubId: ID! = "51000000-0000-4000-8000-000000000051") {
  clubConfiguration(clubId: $clubId) {
    clubId
    name
    description
    timezone
    hostedSlug
    address {
      line1
      line2
      postalCode
      city
      state
      country
    }
    billingEnabled
    credits {
      creditName
      creditsPerEuro
      lowBalanceThreshold
    }
    reservationGuestsRequireAccount
    depositRefundDays
    noShowSanctions {
      resetAfterDays
      rules {
        noShows
        action
        suspensionDays
      }
    }
  }
}

Returns null when the club does not exist. name is read-only here: only platform administrators rename a club. billingEnabled is false when the platform turned the club's billing module off.

Update the configuration

mutation UpdateClubConfiguration($input: ClubConfigurationInput!) {
  updateClubConfiguration(input: $input) {
    clubId
    timezone
    hostedSlug
  }
}
{
  "input": {
    "clubId": "51000000-0000-4000-8000-000000000051",
    "timezone": "Europe/Paris",
    "hostedSlug": "ukab-clubs",
    "depositRefundDays": 7,
    "noShowSanctions": {
      "resetAfterDays": 90,
      "rules": [{ "noShows": 3, "action": "suspend", "suspensionDays": 14 }]
    }
  }
}

Only clubId is required. A field left out keeps its value. description, hostedSlug and address are cleared by an explicit null; on any other field null also keeps the value. Every provided setting is applied in one transaction: when one is refused, none is saved. The mutation returns the configuration after the update.

FieldValidation
descriptionTrimmed, at most 2,000 characters; blank is stored as null.
timezoneA supported IANA zone or UTC.
hostedSlug3–63 lowercase letters, digits or hyphens, not reserved, unique across clubs.
addressSame rules as updateClubAddress.
creditsSame rules as configureCredits; refused when billing is off.
reservationGuestsRequireAccountBoolean.
depositRefundDays0 to 365.
noShowSanctions1 to 3,650 reset days, at most 10 rules with distinct noShows; rules are returned sorted.

Invalid values and refusals return BAD_USER_INPUT with a message; an unknown club returns This club is unavailable. Each group of settings that actually changes is recorded in the club activity under the action of its dedicated mutation.

Sur cette page