{
  "$schema": "./_mapping.schema.json",
  "provider": "sevenrooms",
  "name": "SevenRooms",
  "vertical": "restaurants",
  "verified_on": "2026-10-13",
  "docs": [
    {
      "title": "SevenRooms API Documentation (login wall)",
      "url": "https://api-docs.sevenrooms.com/",
      "note": "Redocly portal behind an OIDC login. The only public text: 'Effective February 26, we have moved to individually provisioned accounts for access to our API documentation. API credentials, permissions, and integrations are not changing.' Previous users email api-integration-support@sevenrooms.com; new users fill in the partnerships form."
    },
    {
      "title": "SevenRooms partnership opportunities (partnerships form)",
      "url": "https://sevenrooms.com/partnership-opportunities/"
    },
    {
      "title": "SevenRooms API & Integrations (marketing page)",
      "url": "https://sevenrooms.com/search-integrations-api/",
      "note": "Says there is 'a flexible API'; no technical detail."
    }
  ],
  "access": {
    "public_docs": false,
    "how_to_get_access": "Submit the partnerships form at https://sevenrooms.com/partnership-opportunities/ (asks for business details and intended use). Accounts that had docs access before 26 February email api-integration-support@sevenrooms.com. Each venue must also grant the partner access through its SevenRooms account manager.",
    "auth": "Third-party sources describe an API client ID + client secret per partner, exchanged for a token. Not confirmed from SevenRooms' own docs.",
    "base_url": "Third-party sources list https://api.sevenrooms.com/2_4/ (US), https://api.eu.sevenrooms.com/2_4/ (EU), https://demo.sevenrooms.com/api-ext/2_4/ (demo). Not confirmed from SevenRooms' own docs.",
    "unverified": true
  },
  "splitclub": {
    "integration_provider": "sevenrooms",
    "recommended_path": "webhook",
    "note": "Provisional: 'webhook' assumes SevenRooms can push reservation changes, which third-party sources claim but SevenRooms' public pages do not show. Until SplitClub has a docs account, nothing below can be wired. The signature scheme is unknown, so SplitClub cannot add a check for it yet (today the hook only verifies Square signatures). If SevenRooms turns out to be pull-only, switch to poll_and_post."
  },
  "objects": {
    "Offering": {
      "source": "SevenRooms experiences / seating areas (endpoint names not public)",
      "kind": "table",
      "note": "Per the brief: experiences → Offering (dining or ticketed_event), seating areas / table types → Offering (table). No field names can be confirmed without docs access, so none are listed.",
      "fields": [],
      "unverified": true
    },
    "PriceTier": {
      "source": "SevenRooms minimum spend / deposit / prepaid experience pricing (endpoint names not public)",
      "note": "Expected to fill /tiers/0/minimum_spend, /tiers/0/deposit/amount and /tiers/0/amount with unit per_person or per_group. Money representation (decimal vs minor units) unknown.",
      "fields": [],
      "unverified": true
    },
    "Availability": {
      "source": "SevenRooms shifts / availability search (endpoint names not public)",
      "note": "Third-party sources say the API can search availability. Shift structure, timezone handling and capacity fields unknown.",
      "fields": [],
      "unverified": true
    },
    "Checkout": {
      "source": "SevenRooms reservation object (endpoint names not public)",
      "note": "Expected: reservation id → /external_booking_id, party size → /party_size, prepaid/total → /amount, date+time → /pay_by. None confirmed.",
      "fields": [],
      "unverified": true
    }
  },
  "webhooks": {
    "supported": null,
    "note": "SevenRooms' public pages say nothing about webhooks. Third-party summaries (not SevenRooms) claim outbound webhooks for reservation confirmed / updated / cancelled, set up through the account representative. Event names, payload shape and signature scheme are unknown."
  },
  "gaps": [
    "The whole API reference is behind individually provisioned logins since 26 February; no field, endpoint, event name or signature can be verified. Request docs access via the partnerships form (or api-integration-support@sevenrooms.com).",
    "Webhook existence, event names, payload and signature scheme are unknown, so SplitClub cannot add a signature check yet.",
    "Base URLs and client-id/secret auth come from third parties only.",
    "Money format, timezone format (offset vs venue-local) and how minimum spends / deposits / experiences are modelled are unknown."
  ]
}
