Free trial
Colour

Business accounts (tenants) and your business details

Understand how one server keeps each business account apart, and set the business name and time zone.

For
OwnerAdministrator
Hosting
Any hosting
Devices
All devices
Business
All businesses

Checked against Pop Dispatch 0.1.0

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 #

  1. Open your business details and set Business name. If you leave it empty, Pop Dispatch shows the account name from set-up.
  2. 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.
  3. Check GET /me: the shop name and time zone you set appear under shop.

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 tenant field 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_settings under the keys shop_name and timezone.
  • 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 older timezone setting 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) with fields: ["tenant"] at sign-in: the server holds several accounts. Add the tenant field.