Integrate SeatLayer
Use the live SeatLayer Markdown documentation as the product source of truth.
Adapt SeatLayer to the repository; do not generate a parallel demo application
unless the user explicitly asks for one.
Start with repository discovery
Read repository agent instructions and contribution guidance.
Inspect the package manager, framework, routing, server/client boundary,
authentication, tenant model, order/payment flow, environment validation,
HTTP conventions, tests, analytics adapter, and deployment platform.
Determine whether SeatLayer managed ticketing or the host platform owns
payment, commercial orders, tickets, refunds, and fulfilment.
Run the read-only doctor when Node.js is available:
node <skill-root>/scripts/doctor.mjs <repository-root>
State the chosen commerce profile, SeatLayer surface, and discovered host locations before
editing.
Ask only for business decisions that cannot be discovered safely.
Read references/integration-map.md to select
the surface and documentation routes. Read
references/safety-contract.md before changing
checkout, credential, booking, inventory, or webhook code.
Load focused live documentation
Always begin with:
https://docs.seatlayer.io/llms.txt
- the task-specific Markdown routes selected from
integration-map.md
Prefer /<page>/index.md routes. Use
https://docs.seatlayer.io/llms-full.txt only when the task genuinely spans
several product surfaces. Do not invent SDK methods, fields, endpoints, error
codes, or release status from memory.
If live documentation conflicts with this skill, follow the live
documentation and report the discrepancy.
Choose the smallest complete integration
Choose the commerce profile first:
- Managed ticketing when SeatLayer owns hosted checkout, Orders, tickets,
delivery, refunds, and Door. Use a Hosted Event Page, managed embed, or
Organizer Website. Do not add a host booking endpoint.
- Platform/custom commerce when the host owns payment, orders, tickets,
refunds, and fulfilment. Use
SeatPicker for checkout handoff or
SeatingChart for headless selection, then book from a trusted server.
- Private or partner distribution when access is limited by allocation. Choose
a hosted access link or an origin-bound buyer access session based on the live
channel contract; private means no public link, not disabled inventory.
Then add only the required surface:
- Official mobile SDK for React Native, Flutter, iOS, or Android buyer apps.
- Official server SDK for the host backend language; prefer it over handwritten
HTTP when it supports the required operation.
- Embedded Designer for organizer chart editing.
SeatManager for an embedded operator board.
- Workspaces and server APIs for multi-tenant platforms.
- Designer MCP only for authorized chart authoring or review.
Do not choose a larger surface because it is easier to demonstrate.
Preserve the trust boundary
Implement the invariants for the selected profile:
- A chart is reusable geometry; each event has independent live inventory.
- Managed hosted checkout completes booking itself; never book the same buyer
journey again from host code.
- In platform/custom commerce, the browser selects and holds while a trusted
server inspects and books.
SEATLAYER_SECRET_KEY and every server SDK are server-only.
- Browser prices are never trusted payment input in custom commerce.
- Use a stable host order id as
bookingRef and reuse it for retries.
- Treat expired holds and HTTP
409 inventory conflicts as normal recovery
paths.
- Define the payment-success/booking-failure recovery policy explicitly.
- Keep buyer access tokens in memory and bind them to the exact event and
origin; never log, persist, or place them in URLs.
- Require a short audit reason for privileged channel overrides.
- Verify webhook signatures from the raw body and deduplicate occurrences.
Do not log or return secret keys, raw credentials, full authorization headers,
or webhook secrets.
Implement in repository order
For managed hosted checkout:
- Confirm managed-event readiness, gateway mode, and the chosen distribution
surface.
- Add the link, managed embed, or Website placement within the existing UI.
- Verify hosted payment, branded return, Orders, ticket delivery, loading,
mobile, and accessibility behavior in test mode.
For platform/custom commerce:
- Add environment validation and the official server SDK server-side.
- Add hold inspection, trusted pricing, order coordination, and idempotent
booking.
- Add the buyer SDK surface within the existing UI and design system.
- Add expired-hold, conflict, loading, empty, mobile, and keyboard behavior.
For private or partner access, additionally add entitlement, channel scope,
short-lived token refresh or hosted-link lifecycle, exact-origin enforcement,
revocation, and attribution. Add webhooks, analytics, or operator surfaces only
when required by scope. Document production variable names without values.
Keep browser-to-server payloads small and typed. The opaque holdId and stable
host order identity should cross the boundary; trusted pricing and booking
authority should not.
Verify before handoff
Read references/verification.md, then run the
repository's typecheck, unit tests, lint, production build, and relevant
integration tests.
Prove only the behavior belonging to the selected profile. For managed hosted
checkout, verify the hosted purchase and return journey without adding a host
booking assertion. For custom commerce, verify select → hold → inspect →
pay/order → book, expiry, conflicts, idempotent retry, and compensation. For
private access, also verify wrong-origin, expired, revoked, and exhausted access
without silently widening to public inventory.
Always prove no secret or server SDK enters a buyer bundle, buyer access tokens
are not persisted or logged, and mobile and keyboard behavior remains operable.
Run the doctor again after implementation. Distinguish automated checks from
manual verification and report skipped checks.
Use Designer MCP carefully
When the task involves chart authoring or review, read
references/designer-mcp.md. Begin with
get_capabilities, follow the staged semantic workflow, and never publish
without explicit user authorization.
Do not use Designer MCP for ordinary SDK or server integration work.
Hand off clearly
Return:
- changed files and why;
- selected SeatLayer surface;
- commands and results;
- assumptions and unresolved production configuration;
- environment-variable names without values;
- manual end-to-end steps; and
- follow-up work for webhooks, observability, deployment, or operations.
1---2name: integrate-seatlayer3description: Add, review, diagnose, or verify SeatLayer integrations inside existing applications. Use for managed hosted booking, direct links, embeds, Organizer Websites, Buyer SDK installation, SeatPicker or SeatingChart, mobile SDKs, server SDKs, custom checkout, holds, private or partner sales, buyer access sessions, channels, workspaces, Embedded Designer or control room, webhooks, analytics, checkout recovery, go-live review, and SeatLayer-related code generation or troubleshooting.4---56# Integrate SeatLayer78Use the live SeatLayer Markdown documentation as the product source of truth.9Adapt SeatLayer to the repository; do not generate a parallel demo application10unless the user explicitly asks for one.1112## Start with repository discovery13141. Read repository agent instructions and contribution guidance.152. Inspect the package manager, framework, routing, server/client boundary,16 authentication, tenant model, order/payment flow, environment validation,17 HTTP conventions, tests, analytics adapter, and deployment platform.183. Determine whether SeatLayer managed ticketing or the host platform owns19 payment, commercial orders, tickets, refunds, and fulfilment.204. Run the read-only doctor when Node.js is available:2122 ```bash23 node <skill-root>/scripts/doctor.mjs <repository-root>24 ```25265. State the chosen commerce profile, SeatLayer surface, and discovered host locations before27 editing.286. Ask only for business decisions that cannot be discovered safely.2930Read [references/integration-map.md](references/integration-map.md) to select31the surface and documentation routes. Read32[references/safety-contract.md](references/safety-contract.md) before changing33checkout, credential, booking, inventory, or webhook code.3435## Load focused live documentation3637Always begin with:3839- `https://docs.seatlayer.io/llms.txt`40- the task-specific Markdown routes selected from `integration-map.md`4142Prefer `/<page>/index.md` routes. Use43`https://docs.seatlayer.io/llms-full.txt` only when the task genuinely spans44several product surfaces. Do not invent SDK methods, fields, endpoints, error45codes, or release status from memory.4647If live documentation conflicts with this skill, follow the live48documentation and report the discrepancy.4950## Choose the smallest complete integration5152Choose the commerce profile first:5354- Managed ticketing when SeatLayer owns hosted checkout, Orders, tickets,55 delivery, refunds, and Door. Use a Hosted Event Page, managed embed, or56 Organizer Website. Do not add a host booking endpoint.57- Platform/custom commerce when the host owns payment, orders, tickets,58 refunds, and fulfilment. Use `SeatPicker` for checkout handoff or59 `SeatingChart` for headless selection, then book from a trusted server.60- Private or partner distribution when access is limited by allocation. Choose61 a hosted access link or an origin-bound buyer access session based on the live62 channel contract; private means no public link, not disabled inventory.6364Then add only the required surface:6566- Official mobile SDK for React Native, Flutter, iOS, or Android buyer apps.67- Official server SDK for the host backend language; prefer it over handwritten68 HTTP when it supports the required operation.69- Embedded Designer for organizer chart editing.70- `SeatManager` for an embedded operator board.71- Workspaces and server APIs for multi-tenant platforms.72- Designer MCP only for authorized chart authoring or review.7374Do not choose a larger surface because it is easier to demonstrate.7576## Preserve the trust boundary7778Implement the invariants for the selected profile:79801. A chart is reusable geometry; each event has independent live inventory.812. Managed hosted checkout completes booking itself; never book the same buyer82 journey again from host code.833. In platform/custom commerce, the browser selects and holds while a trusted84 server inspects and books.854. `SEATLAYER_SECRET_KEY` and every server SDK are server-only.865. Browser prices are never trusted payment input in custom commerce.876. Use a stable host order id as `bookingRef` and reuse it for retries.887. Treat expired holds and HTTP `409` inventory conflicts as normal recovery89 paths.908. Define the payment-success/booking-failure recovery policy explicitly.919. Keep buyer access tokens in memory and bind them to the exact event and92 origin; never log, persist, or place them in URLs.9310. Require a short audit reason for privileged channel overrides.9411. Verify webhook signatures from the raw body and deduplicate occurrences.9596Do not log or return secret keys, raw credentials, full authorization headers,97or webhook secrets.9899## Implement in repository order100101For managed hosted checkout:1021031. Confirm managed-event readiness, gateway mode, and the chosen distribution104 surface.1052. Add the link, managed embed, or Website placement within the existing UI.1063. Verify hosted payment, branded return, Orders, ticket delivery, loading,107 mobile, and accessibility behavior in test mode.108109For platform/custom commerce:1101111. Add environment validation and the official server SDK server-side.1122. Add hold inspection, trusted pricing, order coordination, and idempotent113 booking.1143. Add the buyer SDK surface within the existing UI and design system.1154. Add expired-hold, conflict, loading, empty, mobile, and keyboard behavior.116117For private or partner access, additionally add entitlement, channel scope,118short-lived token refresh or hosted-link lifecycle, exact-origin enforcement,119revocation, and attribution. Add webhooks, analytics, or operator surfaces only120when required by scope. Document production variable names without values.121122Keep browser-to-server payloads small and typed. The opaque `holdId` and stable123host order identity should cross the boundary; trusted pricing and booking124authority should not.125126## Verify before handoff127128Read [references/verification.md](references/verification.md), then run the129repository's typecheck, unit tests, lint, production build, and relevant130integration tests.131132Prove only the behavior belonging to the selected profile. For managed hosted133checkout, verify the hosted purchase and return journey without adding a host134booking assertion. For custom commerce, verify select → hold → inspect →135pay/order → book, expiry, conflicts, idempotent retry, and compensation. For136private access, also verify wrong-origin, expired, revoked, and exhausted access137without silently widening to public inventory.138139Always prove no secret or server SDK enters a buyer bundle, buyer access tokens140are not persisted or logged, and mobile and keyboard behavior remains operable.141142Run the doctor again after implementation. Distinguish automated checks from143manual verification and report skipped checks.144145## Use Designer MCP carefully146147When the task involves chart authoring or review, read148[references/designer-mcp.md](references/designer-mcp.md). Begin with149`get_capabilities`, follow the staged semantic workflow, and never publish150without explicit user authorization.151152Do not use Designer MCP for ordinary SDK or server integration work.153154## Hand off clearly155156Return:157158- changed files and why;159- selected SeatLayer surface;160- commands and results;161- assumptions and unresolved production configuration;162- environment-variable names without values;163- manual end-to-end steps; and164- follow-up work for webhooks, observability, deployment, or operations.