---
title: "Accessibility and pricing"
description: "Author semantic accommodations, wheelchair spaces, categories, and tiers that survive into buyer and reporting flows."
---

Accessible inventory needs semantic data, not only a colour or icon. SeatLayer
uses a fixed accommodation taxonomy that the buyer picker can expose and filter.

## Accommodation taxonomy

| Key | Buyer meaning |
|---|---|
| `wheelchair` | Wheelchair space |
| `companion` | Companion seat |
| `semi-ambulatory` | Limited-mobility seating |
| `hearing` | Assistive listening |
| `cart` | CART live-caption view |
| `sign-language` | Sign-language view |
| `plus-size` | Plus-size seat |
| `lift-armrest` | Lift-up armrest |

A seat can carry several values. Use only accommodations that the venue can
actually provide and operational staff can honor.

## Wheelchair space versus removed inventory

For a wheelchair accommodation, record the physical provision:

| Value | Meaning | Inventory exists? |
|---|---|---:|
| `seat-present` | Accessible physical chair remains | Yes |
| `no-seat` | Empty, sellable wheelchair bay | Yes |
| Skipped position | Numbering gap/no inventory at that position | No |

<Aside type="warning" title="Do not model a wheelchair bay as skipped">
  A skipped position disappears from capacity. A `no-seat` wheelchair bay is
  still one selectable and bookable inventory place.
</Aside>

Older chart data may contain `accessible: true`; it is interpreted as wheelchair
accessibility. New authoring writes the full semantic list.

## Author accessible seats

<Steps>
  <Step title="Select exact positions">
    Choose one seat or a range within a row/section. Confirm the visible labels
    before applying a batch edit.
  </Step>
  <Step title="Apply accommodations">
    Select every supported accommodation. For wheelchair inventory, choose the
    physical space type.
  </Step>
  <Step title="Inspect buyer behavior">
    Preview badges, filters, confirmation copy, keyboard focus, and a
    colorblind-safe rendering.
  </Step>
  <Step title="Validate operations">
    Confirm box-office and reporting surfaces preserve the same semantics.
  </Step>
</Steps>

## Price through categories and tiers

Price is assigned to the category or its tiers, not to arbitrary browser input:

1. define stable category keys and buyer labels;
2. set a base price or named tier prices;
3. assign each bookable object to the intended category;
4. publish the chart and create/update the event intentionally; and
5. inspect the server hold before charging.

Prices use major currency units: `45` means 45.00 in the event currency.

<Aside type="caution" title="Display overrides are not ledger overrides">
  An SDK host can show a fee-inclusive or promotional amount through `pricing`,
  but SeatLayer's authoritative held and booked amount remains the published
  category/tier price.
</Aside>

## Accessibility and price together

An accommodation does not automatically imply a price or discount. Use a
category or ticket tier for commercial policy, and preserve the accessibility
metadata independently.

This keeps the model explicit:

- accessibility says what the place physically supports;
- category says how inventory is grouped and styled;
- tier says which buyer price/policy was selected; and
- the inspected hold freezes the trusted combination.

## Review checklist

- [ ] Each accessible place uses the correct taxonomy.
- [ ] Empty wheelchair bays are `no-seat`, not skipped.
- [ ] Multiple accommodations remain selectable and understandable.
- [ ] Category/tier keys are stable and prices use major units.
- [ ] Discount eligibility is explained in the host checkout.
- [ ] Buyer UI works with keyboard, screen reader, and colorblind-safe mode.
- [ ] Server payment uses inspected `unitPrice`, currency, and quantity.
- [ ] Venue staff have verified the authored accommodations.

Continue with [charts and objects](/designer/charts-and-objects) or
[ticket tiers](/buyer-sdk/ticket-tiers).