One Pop Dispatch server can hold several business accounts. Each account is a tenant. You will be able to see how the accounts stay apart and set the two details that show on every screen: the business name and the time zone.
Before you start #
You need the owner role to change settings.
Steps #
- Open your business details and set Business name. If you leave it empty, Pop Dispatch shows the account name from set-up.
- Set Time zone. Type any name from the international time zone database, such as America/Chicago, Asia/Kolkata or Europe/London. A name missing from the database is refused, and Pop Dispatch never swaps in another zone for you.
- Check
GET /me: the shop name and time zone you set appear undershop.
How accounts stay apart #
- Every record carries its account id. Every database query is written with that id, and a query without it is refused.
- A record in one account can never point at a record in another, even with a guessed number.
- Each account has its own audit log. Each entry carries the hash of the entry before it, so any change to history shows up.
- Sign-in names the account. With several accounts on the server, the
tenantfield is required. An unknown name gets the same answer as a wrong password. - Public links (an invoice payment link, an estimate approval link, a tow tracking link) are unique across the server so one link finds one account without showing an account id.
- Each account has its own live board channel, with up to 50 open boards.
Technical details
- Settings live in
app_settingsunder the keysshop_nameandtimezone. - Time zones come from the bundled international time zone database, so each zone follows its own daylight saving history: Asia/Kolkata has none, Europe/London changes on the last Sundays of March and October. When clocks go back, a local time that happens twice is read as the first one. When clocks go forward, a local time that never happens is read as the same wall time after the jump.
- A tenant's time zone is stored in
tenant_locale.time_zone; the oldertimezonesetting is read only when no locale was saved. - Times in the API are UTC in the form
YYYY-MM-DDTHH:MM:SSZ. A date-time that carries no offset is read in the business time zone. - Each tenant's key is derived from the server's data key.
If something goes wrong #
validation_failed(422) withfields: ["tenant"]at sign-in: the server holds several accounts. Add thetenantfield.