Businesses and locations
A connection is to one business. Most records belong to a location, and the location owns the timezone.
A business is the company that signed up to Shiftly: The Wharf Hotel, say. It has one or more locations, which are the places people actually work: a venue, a kitchen, a second site across town. Positions, rosters, shifts, timesheets and availability all belong to a location.
Your app connects to a business, never to a location. Within the connection, the person who connected your app may be limited to some of the business's locations, and then so is your app: lists are filtered to those locations and a record elsewhere answers not found.
Each location carries a timezone, and everything that happens at that location is reckoned in it. A roster week starts at midnight in the location's timezone; a date range you send is resolved there; a shift's start time is an instant, but which calendar day it falls on depends on the location. Two locations of one business can be in different timezones.
- Business and Locations need the settings:read permission.
- Positions are the jobs people are rostered into at a location, such as Bartender or Barista.
- Each location also says how it runs: opening and closing times, default shift times, the day its roster week starts, its clock-in rules and, with settings:read, its labour cost target.
- Public holidays lists the days each location pays at public holiday rates, including days the business added or removed in Shiftly.
- Projects are the jobs or cost centres shifts and timesheets are recorded against. With projects:write your app can create and change them; a project is archived, never deleted.
