# Data formats

## Money

Amounts are objects with the amount in the currency's smallest unit (paisa for Nepali rupees) and an ISO 4217 code:

```json
{ "amount": 150000, "currency": "NPR" }
```

This is Rs. 1,500. Divide by 100 to show rupees.

When you send an amount, use the same shape. Stores keep whole rupees, so the amount must be a multiple of 100, in `NPR`. Anything else gets `422` with code `invalid_money`.

## Times

Times are ISO 8601 in UTC: `2026-11-10T08:15:00Z`. A store's own days (reports, ordering hours) follow its `timezone`, `Asia/Kathmandu` for Nepal.

## Ids

Ids are UUIDs as strings. They never change and are never reused. Store them as strings.

## Objects

- **`object`:** every object says what it is (`"object": "order"`), and every list is `"object": "list"`.
- **Field names** are `snake_case`.
- **`null`** means no value. Fields documented as always present are always present.

## Things that may grow

Within `v1`, Nepzio may add things at any time. Your code should ignore what it doesn't recognise rather than fail:

- new fields on objects;
- new values in lists of choices (an order `source`, a `payment_method`, an error `code`);
- new endpoints and webhook events.

Nothing is removed or renamed within `v1`. See [Versioning](/versioning).
