> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zenamu.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pricing option

> One way to pay for a class or workshop.

Each class and workshop carries a `pricingOptions` array listing every way a
client can pay for it. A studio can offer several at once — cash, credits, and a
membership on the same class.

```json theme={null}
{
  "id": 331,
  "type": "default",
  "name": "Single class",
  "value": 250,
  "currency": "CZK",
  "description": null
}
```

## Reading value and currency together

`value` means different things depending on `type`, and `currency` tells you
which reading applies:

* **With `currency`** — `value` is a money amount in that currency. Zenamu
  accepts ISO 4217 currency codes. Common examples include `CZK`, `EUR`, `USD`,
  `HUF`, `PLN`, `GBP`, `RON`, `SEK`, `DKK`, and `NOK`; treat the list as open.
* **Without `currency`** — `value` is a count of credits or entries, or is not
  meaningful at all.

`currency` is omitted entirely — not `null` — whenever an option is not
money-based. This includes credit and entry counts, membership coverage,
make-up sessions, and options with no monetary unit. Check for the key's
presence, not the `type`, to decide whether `value` is money.

<Warning>
  Do not render `value` as a price without checking `currency` first. A `credit`
  option with `value: 2` means two credits, not two crowns.
</Warning>

## Types

| Type                       | Meaning                                                         |
| -------------------------- | --------------------------------------------------------------- |
| `default`                  | The standard price.                                             |
| `discount`                 | A reduced price.                                                |
| `credit`                   | Paid with credits. `value` is a credit count.                   |
| `credit_discount`          | A reduced credit price. `value` is a credit count.              |
| `pass`                     | Paid with an entry pass. `value` is an entry count.             |
| `membership`               | Covered by a membership.                                        |
| `membership_surcharge`     | An extra charge on top of a membership.                         |
| `benefit`                  | Covered by an employee benefit program.                         |
| `benefit_surcharge`        | An extra charge on top of a benefit.                            |
| `benefit_surcharge_credit` | A benefit surcharge paid in credits. `value` is a credit count. |
| `single_course_session`    | Price for attending one session of a course.                    |
| `other`                    | Anything else the studio configured.                            |

Types do not determine whether `currency` appears. For example,
`credit_discount` and `benefit_surcharge_credit` omit it, while a monetary
`membership_surcharge` keeps it.

<Note>
  Treat the list as open. Zenamu can add types within v1, so render an unknown
  `type` using `name` rather than failing.
</Note>

## Naming and description

`name` is the studio's own label — show it rather than deriving text from
`type`. It can be `null`.

`description` is an optional note, present on **class** pricing options only.
[Workshop](/api/objects/workshop) options do not carry it.

## Visibility

Only pricing options the studio marked visible are returned. A studio can offer
an option in a currency you do not expect — read `currency` rather than assuming
the studio's default.
