---
title: "Client SDKs"
description: "Choose a SeatLayer web or mobile client SDK, select the right level of UI control, and hand temporary holds to a trusted backend for booking."
---

Client SDKs render live seating inventory, manage selection, and create
temporary holds. They do not replace your trusted checkout, payment, order,
ticketing, refund, or fulfilment systems.

<Aside type="note" title="Use the catalog for release truth">
  This chooser intentionally does not repeat package versions. Read the
  [SDK catalog](/sdk-catalog.json) for current release evidence and the selected
  platform guide for exact installation instructions.
</Aside>

## Choose a platform

<CardGrid>
  <Card title="Web application" icon="ph:browser">
    Compare [JavaScript, React, Vue, and Angular](/buyer-sdk/web/). Use the
    complete picker or compose a custom browser experience from the lower-level
    chart API.
  </Card>
  <Card title="Native app SDKs" icon="ph:device-mobile">
    Compare [Flutter, React Native, iOS, and Android](/buyer-sdk/mobile/),
    including ready-made, customizable, composable, and raw-map integration
    levels.
  </Card>
</CardGrid>

## Choose how much UI you own

| Surface | Choose it when | Your application owns |
|---|---|---|
| [`SeatPicker`](/buyer-sdk/seat-picker/) | You want the standard buyer selection and confirmation flow | Checkout, payment, commercial order, tickets, and fulfilment |
| [`SeatingChart`](/buyer-sdk/seating-chart/) | You need your own cart, layout, or hold controls | Buyer chrome, explicit hold lifecycle, checkout, and fulfilment |
| [Native mobile SDK](/buyer-sdk/mobile/) | The buyer journey belongs inside a mobile application | App navigation, platform lifecycle, checkout, and fulfilment |
| [Performance Group picker](/buyer-sdk/performance-groups/) | One atomic selection spans several performances | Checkout and fulfilment for the group handoff |
| [Season picker](/buyer-sdk/seasons/) | Buyers choose renewable fixed inventory across a Season | Season commerce, payment, and fulfilment after handoff |

## Complete the trusted half

Every client path ends at the same boundary: pass the opaque hold identity to a
trusted backend, inspect it there, and commit booking only after your own order
or payment decision. Choose a [server SDK](/server-sdk/) or use the
[REST API](/server-api/) directly.

If you have not chosen the inventory model yet, compare
[Events, Performance Groups, and Seasons](/start/inventory-models/).