🎿 Activities GraphQL API

Klicke auf "Open in Playground" um die Query direkt zu testen

🔑 Authentication Header

Setze diesen Header im Playground (unten auf "Headers" klicken):

{"Authorization": "Bearer YOUR_CRON_SECRET"}

📦 Full Activity Data - Alle Felder

KOMPLETT
{
  activitiesSearch(limit: 1, locale: "de-CH") {
    data {
      id
      bookingId
      locale
      title
      teaserImage { url alternativeText }
      info { title teaser slug }
      supplier {
        id name email website
        contactFirstName contactLastName contactEmail contactPhone
        country address plz place
        commissionPercent commissionFixed commissionCurrency
      }
      location { id title slug }
      type { id title slug description }
      meetingPoints { title latitude longitude address }
      summary {
        activityId contentApiActivityId isActive
        startingPrice { amount currency formatted }
        popularity ticketsIssued numOffers
        durations durationInHours
        cancellation cancellationCutOff
        highDemand bookingOnRequest dynamicPrice
        rankingScoreValue rankingScoreNoDate
        guideLanguages minAge maxAge
      }
      isBookable
      nextAvailableDate
      availableDates
      commission { percent fixedAmount currency source }
      offers {
        offerId label description duration
        minAge maxAge isActive
        startingPrice { amount currency formatted }
      }
      lat lng
      createdAt updatedAt
    }
    pagination { total page perPage totalPages hasMore }
    meta { responseTimeMs source locale }
  }
}
Copied!

🔍 Search with Fuzzy Matching

SUCHE
{
  activitiesSearch(
    q: "rafting"
    locale: "de-CH"
    limit: 10
    offset: 0
  ) {
    data {
      id
      bookingId
      title
      searchScore
      isBookable
      nextAvailableDate
      supplier { id name }
      location { id title slug }
      type { id title slug }
      summary {
        startingPrice { formatted }
        rankingScoreValue
        isActive
        popularity
      }
    }
    pagination { total page totalPages hasMore }
    meta { responseTimeMs source query }
  }
}
Copied!

📍 Filter by Location

FILTER
{
  activitiesSearch(
    locationId: "15"
    locale: "de-CH"
    limit: 10
  ) {
    data {
      id
      title
      location { id title slug }
      summary { startingPrice { formatted } rankingScoreValue }
    }
    pagination { total }
    meta { responseTimeMs }
  }
}
Copied!

🎯 Single Activity by Content API ID

EINZELN
{
  activity(id: "240", locale: "de-CH") {
    id
    bookingId
    title
    isBookable
    nextAvailableDate
    teaserImage { url alternativeText }
    supplier { name email website commissionPercent }
    location { title slug }
    type { title slug description }
    info { title teaser slug }
    commission { percent fixedAmount currency source }
    summary {
      isActive
      startingPrice { amount currency formatted }
      popularity ticketsIssued rankingScoreValue
      highDemand bookingOnRequest cancellation
      guideLanguages durations
    }
    offers { offerId label duration startingPrice { formatted } }
    availableDates
  }
}
Copied!

🔢 Activity by Booking API ID

BAPI
{
  activityByBookingId(bookingId: 2, locale: "de-CH") {
    id
    bookingId
    title
    isBookable
    supplier { name }
    summary { startingPrice { formatted } rankingScoreValue }
  }
}
Copied!

🏢 Filter by Supplier Name

FILTER
{
  activitiesSearch(
    supplierName: "Swiss"
    locale: "de-CH"
    limit: 10
  ) {
    data {
      id
      title
      supplier {
        id name email website
        commissionPercent commissionFixed
      }
    }
    pagination { total }
  }
}
Copied!