What the platform takes
The most specific rung wins: one chair beats one salon, a salon beats its state, a state beats its country.
Set a rate
Setting a scope that already has a rate replaces it — there is only ever one row per scope.
ISO 3166-2, country included — US-CA. Bare CA is Canada. The fixed part is in each business’s own minor unit — 150 is $1.50 in the US and ¥150 in Japan, so a country trading in a different currency needs its own row.
Where we are open for business
An empty list means everywhere. A row exists to say something different from that — usually to close a country.
Closing a country stops new salons being created there. Salons already trading are untouched — this is a door, not an eviction.
What the AI providers charge us
Per million tokens, in the provider's own currency — exactly as their price list prints it. A model with no price here is still metered; its calls just come back as unpriced.
Who we are billed by — not who trained the model. QwenCloud serves DeepSeek, Kimi and GLM on its own plan.
The exact id the API is called with. A near-miss saves a price nothing will ever match.
What the PROVIDER bills in, which is not what a salon pays in.
Ordinary prompt tokens.
What the model writes. Thinking bills here too.
Putting the fixed prompt in the cache — dearer than input.
Reading it back on every later call — a fraction of input.
Saving a model that is already listed replaces its price. What was already billed does not move — every call stored the rate it was charged at.