{
  "schemaVersion": 1,
  "catalog": "seatlayer-sdk-catalog",
  "verifiedAt": "2026-09-05",
  "trustBoundary": {
    "buyer": "The buyer SDK holds inventory and hands only the opaque hold identifier to your backend.",
    "server": "Your trusted backend inspects the hold, calculates authoritative pricing, charges, and books with a secret key."
  },
  "inventoryModels": {
    "event": "One independently inventoried occurrence.",
    "performance-group": "One atomic selection across 2–8 compatible Events.",
    "fixed-renewable-season": "One immutable Plan across 2–20 compatible Events with durable Seat Rights and renewal."
  },
  "githubOrg": "https://github.com/seatlayer",
  "implementationLinks": {
    "developerHub": "https://seatlayer.io/developers/",
    "sdkChooser": "https://docs.seatlayer.io/sdks/",
    "sdkCatalog": "https://docs.seatlayer.io/sdk-catalog.json",
    "quickstart": "https://docs.seatlayer.io/start/quickstart/",
    "webSdkInstall": "https://docs.seatlayer.io/buyer-sdk/install/",
    "readyMadeSeatPicker": "https://docs.seatlayer.io/buyer-sdk/seat-picker/",
    "lowerLevelSeatingChart": "https://docs.seatlayer.io/buyer-sdk/seating-chart/",
    "mobileSdkOverview": "https://docs.seatlayer.io/buyer-sdk/mobile/",
    "serverSdkOverview": "https://docs.seatlayer.io/server-sdk/",
    "holdsAndCheckout": "https://docs.seatlayer.io/buyer-sdk/holds-and-checkout/",
    "openApi": "https://docs.seatlayer.io/openapi.json",
    "demoHub": "https://app.seatlayer.io/demo/",
    "largeVenueDemo": "https://app.seatlayer.io/demo/play/large-stadium"
  },
  "platforms": [
    {
      "platform": "js",
      "name": "JavaScript / TypeScript",
      "kind": "client",
      "package": "@seatlayer/js",
      "publishedVersion": "0.80.3",
      "verifiedAt": "2026-09-05",
      "primarySurface": "web-picker",
      "inventoryModels": [
        "event",
        "performance-group",
        "fixed-renewable-season"
      ],
      "github": "https://github.com/seatlayer/seatlayer-sdk",
      "registry": "https://www.npmjs.com/package/@seatlayer/js",
      "docs": "https://docs.seatlayer.io/buyer-sdk/install/"
    },
    {
      "platform": "react",
      "name": "React",
      "kind": "client",
      "package": "@seatlayer/react",
      "publishedVersion": "0.80.3",
      "verifiedAt": "2026-09-05",
      "primarySurface": "web-picker",
      "inventoryModels": [
        "event",
        "performance-group",
        "fixed-renewable-season"
      ],
      "github": "https://github.com/seatlayer/seatlayer-sdk",
      "registry": "https://www.npmjs.com/package/@seatlayer/react",
      "docs": "https://docs.seatlayer.io/buyer-sdk/react/"
    },
    {
      "platform": "vue",
      "name": "Vue",
      "kind": "client",
      "package": "@seatlayer/vue",
      "publishedVersion": "0.80.3",
      "verifiedAt": "2026-09-05",
      "primarySurface": "web-picker",
      "inventoryModels": [
        "event",
        "performance-group",
        "fixed-renewable-season"
      ],
      "github": "https://github.com/seatlayer/seatlayer-sdk",
      "registry": "https://www.npmjs.com/package/@seatlayer/vue",
      "docs": "https://docs.seatlayer.io/buyer-sdk/vue/"
    },
    {
      "platform": "angular",
      "name": "Angular",
      "kind": "client",
      "package": "@seatlayer/angular",
      "publishedVersion": "0.80.3",
      "verifiedAt": "2026-09-05",
      "primarySurface": "web-picker",
      "inventoryModels": [
        "event",
        "performance-group",
        "fixed-renewable-season"
      ],
      "github": "https://github.com/seatlayer/seatlayer-sdk",
      "registry": "https://www.npmjs.com/package/@seatlayer/angular",
      "docs": "https://docs.seatlayer.io/buyer-sdk/angular/"
    },
    {
      "platform": "react-native",
      "name": "React Native",
      "kind": "client",
      "package": "@seatlayer/react-native",
      "publishedVersion": "0.3.4",
      "verifiedAt": "2026-08-31",
      "primarySurface": "native-picker",
      "inventoryModels": [
        "event"
      ],
      "surfaces": [
        "ready-made-picker",
        "customizable-picker",
        "custom-layout",
        "raw-map"
      ],
      "github": "https://github.com/seatlayer/seatlayer-react-native",
      "registry": "https://www.npmjs.com/package/@seatlayer/react-native",
      "docs": "https://docs.seatlayer.io/buyer-sdk/react-native/"
    },
    {
      "platform": "flutter",
      "name": "Flutter",
      "kind": "client",
      "package": "seatlayer",
      "publishedVersion": "0.8.0",
      "verifiedAt": "2026-09-05",
      "primarySurface": "native-picker",
      "inventoryModels": [
        "event"
      ],
      "surfaces": [
        "ready-made-picker",
        "customizable-picker",
        "custom-layout",
        "raw-map"
      ],
      "github": "https://github.com/seatlayer/seatlayer-flutter",
      "registry": "https://pub.dev/packages/seatlayer",
      "docs": "https://docs.seatlayer.io/buyer-sdk/flutter/"
    },
    {
      "platform": "ios",
      "name": "Swift / iOS",
      "kind": "client",
      "package": "seatlayer-ios",
      "publishedVersion": "0.3.4",
      "verifiedAt": "2026-08-31",
      "primarySurface": "native-picker",
      "inventoryModels": [
        "event"
      ],
      "surfaces": [
        "ready-made-picker",
        "customizable-picker",
        "custom-layout",
        "raw-map"
      ],
      "github": "https://github.com/seatlayer/seatlayer-ios",
      "registry": "https://github.com/seatlayer/seatlayer-ios",
      "docs": "https://docs.seatlayer.io/buyer-sdk/ios/"
    },
    {
      "platform": "android",
      "name": "Kotlin / Android",
      "kind": "client",
      "package": "io.seatlayer:seatlayer-android:0.3.4",
      "companionPackages": [
        "io.seatlayer:seatlayer-android-compose:0.3.4"
      ],
      "distribution": "Maven Central",
      "publishedVersion": "0.3.4",
      "verifiedAt": "2026-08-31",
      "primarySurface": "native-picker",
      "inventoryModels": [
        "event"
      ],
      "surfaces": [
        "ready-made-picker",
        "customizable-picker",
        "custom-layout",
        "raw-map"
      ],
      "github": "https://github.com/seatlayer/seatlayer-android",
      "registry": "https://central.sonatype.com/artifact/io.seatlayer/seatlayer-android",
      "docs": "https://docs.seatlayer.io/buyer-sdk/android/"
    },
    {
      "platform": "wordpress",
      "name": "WordPress plugin",
      "kind": "plugin",
      "github": "https://github.com/seatlayer/seatlayer-sdk",
      "registry": "https://wordpress.org/plugins/seatlayer-seating-charts/",
      "docs": "https://docs.seatlayer.io/integrations/wordpress/"
    },
    {
      "platform": "node",
      "name": "Node / JavaScript server",
      "kind": "server",
      "package": "@seatlayer/server",
      "publishedVersion": "0.7.0",
      "verifiedAt": "2026-08-30",
      "primarySurface": "typed-server-sdk",
      "inventoryModels": [
        "event",
        "performance-group",
        "fixed-renewable-season"
      ],
      "seasonOperations": 48,
      "seasonsBoundary": "The published package exposes all 48 frozen Season operations. Newer candidate contract shapes and occurrence return/reclaim are not part of this release.",
      "github": "https://github.com/seatlayer/seatlayer-node",
      "registry": "https://www.npmjs.com/package/@seatlayer/server",
      "docs": "https://docs.seatlayer.io/server-sdk/node/"
    },
    {
      "platform": "python",
      "name": "Python",
      "kind": "server",
      "package": "seatlayer",
      "publishedVersion": "0.7.0",
      "verifiedAt": "2026-08-30",
      "primarySurface": "typed-server-sdk",
      "inventoryModels": [
        "event",
        "performance-group",
        "fixed-renewable-season"
      ],
      "seasonOperations": 48,
      "github": "https://github.com/seatlayer/seatlayer-python",
      "registry": "https://pypi.org/project/seatlayer/",
      "docs": "https://docs.seatlayer.io/server-sdk/python/"
    },
    {
      "platform": "php",
      "name": "PHP",
      "kind": "server",
      "package": "seatlayer/seatlayer-php",
      "publishedVersion": "0.7.0",
      "verifiedAt": "2026-08-30",
      "primarySurface": "typed-server-sdk",
      "inventoryModels": [
        "event",
        "performance-group",
        "fixed-renewable-season"
      ],
      "seasonOperations": 48,
      "github": "https://github.com/seatlayer/seatlayer-php",
      "registry": "https://packagist.org/packages/seatlayer/seatlayer-php",
      "docs": "https://docs.seatlayer.io/server-sdk/php/"
    },
    {
      "platform": "java",
      "name": "Java",
      "kind": "server",
      "package": "io.seatlayer:seatlayer-java",
      "publishedVersion": "0.7.0",
      "verifiedAt": "2026-08-30",
      "primarySurface": "typed-server-sdk",
      "inventoryModels": [
        "event",
        "performance-group",
        "fixed-renewable-season"
      ],
      "seasonOperations": 48,
      "github": "https://github.com/seatlayer/seatlayer-java",
      "registry": "https://central.sonatype.com/artifact/io.seatlayer/seatlayer-java",
      "docs": "https://docs.seatlayer.io/server-sdk/java/"
    },
    {
      "platform": "go",
      "name": "Go",
      "kind": "server",
      "package": "github.com/seatlayer/seatlayer-go",
      "publishedVersion": "0.7.0",
      "verifiedAt": "2026-08-30",
      "primarySurface": "typed-server-sdk",
      "inventoryModels": [
        "event",
        "performance-group",
        "fixed-renewable-season"
      ],
      "seasonOperations": 48,
      "github": "https://github.com/seatlayer/seatlayer-go",
      "registry": "https://pkg.go.dev/github.com/seatlayer/seatlayer-go",
      "docs": "https://docs.seatlayer.io/server-sdk/go/"
    },
    {
      "platform": "ruby",
      "name": "Ruby",
      "kind": "server",
      "package": "seatlayer",
      "publishedVersion": "0.7.0",
      "verifiedAt": "2026-08-30",
      "primarySurface": "typed-server-sdk",
      "inventoryModels": [
        "event",
        "performance-group",
        "fixed-renewable-season"
      ],
      "seasonOperations": 48,
      "github": "https://github.com/seatlayer/seatlayer-ruby",
      "registry": "https://rubygems.org/gems/seatlayer",
      "docs": "https://docs.seatlayer.io/server-sdk/ruby/"
    },
    {
      "platform": "dotnet",
      "name": ".NET",
      "kind": "server",
      "package": "SeatLayer",
      "publishedVersion": "0.7.0",
      "verifiedAt": "2026-08-30",
      "primarySurface": "typed-server-sdk",
      "inventoryModels": [
        "event",
        "performance-group",
        "fixed-renewable-season"
      ],
      "seasonOperations": 48,
      "github": "https://github.com/seatlayer/seatlayer-dotnet",
      "registry": "https://www.nuget.org/packages/SeatLayer",
      "docs": "https://docs.seatlayer.io/server-sdk/dotnet/"
    },
    {
      "platform": "rest",
      "name": "REST / OpenAPI 3.1",
      "kind": "api",
      "github": "https://github.com/seatlayer/seatlayer-sdk",
      "registry": "https://docs.seatlayer.io/openapi.json",
      "docs": "https://docs.seatlayer.io/start/quickstart/"
    }
  ]
}
