market-*.json)Each market-*.json file pins one market (country + language + currency) and runs a small fixed sample of 4 bookings across varied routes, pax, and classes. Use these to catch market-specific regressions - currency formatting, translation keys, regional inventory rules, market-gated carriers - without having to re-run an entire pax or route sweep per market.
Every file shares the exact same 4-item sample, so you can diff rows across CSVs and compare behaviour 1:1 across markets.
All files live in docs/examples/batch/market/.
| File | Market | Country | Currency | Language |
|---|---|---|---|---|
uk-en.json |
uk-en |
United Kingdom | GBP | English |
fr-fr.json |
fr-fr |
France | EUR | French |
be-fr.json |
be-fr |
Belgium | EUR | French |
be-en.json |
be-en |
Belgium | EUR | English |
be-nl.json |
be-nl |
Belgium | EUR | Dutch |
de-de.json |
de-de |
Germany | EUR | German |
nl-nl.json |
nl-nl |
Netherlands | EUR | Dutch |
us-en.json |
us-en |
United States | USD | English |
rw-en.json |
rw-en |
Rest of world | USD | English |
That's every language × currency combination the bot supports: 4 languages (EN, FR, DE, NL) × 3 currencies (GBP, EUR, USD), with duplicates (EN×EUR in be-en, EN×USD in both us-en and rw-en) kept because the market itself is meaningfully different (different country → different regional rules).
| # | OD | Pax | Class | Why |
|---|---|---|---|---|
| 1 | es (London → Paris) |
1a |
STD | Baseline: cheapest, most common booking. |
| 2 | er (London → Amsterdam) |
2a |
PLUS | Different carrier, higher class, multi-pax. |
| 3 | par-bru (Paris → Brussels) |
1a,1c |
STD | ER-only intra-EU route with a child pax. |
| 4 | sncb (London → Bruges) |
2a,2c |
PREMIER | ES + SNCB connection at the top class, family pax. |
Four bookings per file × 8 markets = 32 bookings across the whole set.
bun book --batch docs/examples/batch/market/fr-fr.json
Results land in fr-fr.csv next to the JSON.
for f in docs/examples/batch/market/*.json; do
bun book --batch "$f"
done
Then diff the CSVs to see where a market's behaviour diverges from the rest.