Positions and wages

Create the jobs people work — Barista, Cashier, Line Cook — with a colour and a default hourly wage, give people their positions and pay, and see where Mays uses them.

AdminsManagersWebiOSAndroid
Last updated · Mays Team

A position is the job someone works on a shift — Barista, Cashier, Line Cook. Each has a colour for the schedule and a default hourly wage that Mays uses to cost your schedule.

Positions aren't access roles: a role (admin, manager, employee) decides what someone can see and do; a position is the job on the schedule. See Roles and permissions.

The Positions page with three positions — Barista and Cashier (Org-wide) at $16.00/hr and $15.00/hr, and Line Cook (South) at $17.50/hr — each with a colour dot and edit and delete buttons

Create a position

  1. Pick the location at the bottom of the sidebar — a new position belongs to the location that's selected.
  2. Go to Scheduling → Positions and click New position.
  3. Type a Name, for example Line Cook.
  4. Pick a Color. It's the colour block on every shift with this position.
  5. Enter the Default wage ($/hr). Leave it blank for $0. Where Labor law compliance's Minimum wage is on, the line under the field shows the legal minimum at the position's location (for a Tipped position, the tipped cash wage where the state or city allows a tip credit). If the wage is below it, the dialog says so, and after you save a message says which location's minimum it's below. The position is still saved.
  6. With Labor law compliance on, optionally set a Minimum age (16 or 18) and tick the tasks the position involves, such as a meat or deli slicer. See Scheduling minors.
  7. Click Create Position.

Admins can create, change and delete positions at any of the organization's locations, including ones they aren't assigned to. Managers can do it at their own locations only. If a position can't be saved, the dialog stays open and says why, for example "Location is outside your scope."

The New Position dialog with Name Prep Cook, a green Color swatch and Default wage 13.50, the note Below the $14.00/hr minimum wage at South (Florida). You can still save., the Tipped position checkbox with its hint, Minimum age 18 or older, the list Does anyone in this position do any of these? with Meat or deli slicer, meat grinder, patty former ticked, and the Cancel and Create Position buttons

The Positions page lists the positions of the selected location plus any Org-wide positions, which apply at every location (for example ones imported from 7shifts). With no single location selected, an admin sees every location's positions and a manager sees their own locations'. Use the search box and the All scopes filter to narrow the list.

To change a position, click the pencil, edit and click Save Changes. To remove one, click the trash can — there's no confirmation.

An Org-wide position is paid at every location, so its dialog shows the legal minimum at every location you can see (a manager sees only their own locations). When they all share a figure it's one line, for example "Legal minimum: $15.00/hr minimum wage (Florida, 2 locations)." When they don't, there's one line per figure with the locations it applies to; a long list shows the first few and +N more. If the wage is below the minimum at some of them, the dialog names those locations.

The Edit Position dialog for the org-wide Barista position with Default wage 16.00 and, under the field, the line Legal minimum: $15.00/hr minimum wage (Florida, 2 locations).

Give people their positions and pay

On the web:

  1. Go to Locations & Users → Users, open the person and go to the Locations & pay tab.
  2. Under Scheduling Positions, click the positions they work. The chips are grouped by location (All locations for org-wide ones); a selected chip is highlighted.
  3. Under Pay, choose the Pay type — Hourly or Weekly salary — and enter their Hourly wage or weekly salary if they have one. Where Labor law compliance's Minimum wage is on, if their Hourly wage is below the legal minimum at one of their locations, the Pay section says so as you type, and a message repeats it after you save. The wage is still saved.
  4. Click Save Changes.
A manager's view of Owen Reyes's Locations & pay tab: South greyed out under Assigned Locations, the Scheduling Positions section with Barista selected under All locations and Cashier and Line Cook under South, and the Pay section with Pay type Hourly and an empty Hourly wage

Scheduling Positions appears once the person exists (not on the add form), and only people whose role can build the schedule can change it.

In the app, managers can do the same from Profile → Team → the person: Scheduling positions and Wage (Pay type and the hourly rate or weekly salary). Positions themselves — names, colours, default wages — are created and edited on the web only.

How Mays works out labor cost

For each shift, Mays uses:

  1. the person's own Hourly wage, if they're paid hourly and one is set — it wins over any position wage;
  2. otherwise the Default wage of the shift's position;
  3. for a shift with no position, the wage of the person's main position at the location — their primary position if one is marked (7shifts imports mark one), otherwise the position they were given first. Positions with no wage, deleted positions and other locations' positions are skipped;
  4. $0 if none of these has a wage.

A shift with no position shows No position under its time on the schedule, so you can open it and set one.

The schedule for Oct 5 – Oct 11, 2026: Ava Stone has a 9am–5pm shift on Wed 7 with a question-mark block and No position under the time, and a Line Cook shift on Thu 8, 16h · $272.00 next to her name; Ben Ortiz has a 9am–5pm No position shift on Fri 9, 8h · $160.00

People on a Weekly salary count as their weekly amount in Scheduled labor every week, whether or not they have shifts, and get no overtime warnings.

Time clock pay uses the same order. When someone paid hourly clocks in — on their phone, a kiosk or an NFC tag — or a manager adds a punch for them, Mays saves the wage for the position they're working on that punch — with no position, their main position's, as above. The time clock's pay figures and the payroll export use that saved wage, so changing a wage later doesn't change punches already made. Salaried staff, and people with no wage and no position wage, get no wage on their punches. A punch with no wage saved is paid by the same order while its pay period is open; see Timesheets and pay periods.

You see the cost on the schedule: each person's hours and pay next to their name, the week's total above the grid, and the Scheduled labor card, with overtime priced in — see Building the weekly schedule. Admins and managers see these numbers; employees never see wages.

Wages below the minimum

At a location where Labor law compliance's Minimum wage is on (see Labor & compliance), Mays reads the legal minimum wage from the location's address. When a position's default wage, someone's hourly wage, their wage for a position, or a punch from the last 14 days is below it, the Wages below minimum box at the top of Scheduling → Positions lists it for the selected location, with the figure it's compared with and a link to the official source. It also lists the wages that will be below the next scheduled rate, for example Florida's $15.00 from September 30, 2026. Tipped positions are compared with the tipped cash wage where the state or city allows a tip credit. Nothing is blocked: the list is there so you can fix the wages. Only people who can see pay see it. Like the positions themselves, admins see it at any of the organization's locations, managers at their own.

On the schedule, a line under the labor cards says how many wages are below the minimum at the location and when the next increase is.

What positions do on the schedule

  • Colour and letter. A published shift shows a coloured block with the position's first letter.
  • Roles view. Switch the schedule from Employees view to Roles view to group the week by position.
  • Pay. The shift's position picks the default wage, as above; a shift with no position is costed at the person's main position and says No position.

Positions don't stop you scheduling anyone or anyone picking up a shift: you can give anyone any position on a shift, and anyone at the location can claim an open shift. At a location with Labor law compliance's Minors (under 18) on, a position's Minimum age and the tasks ticked under Does anyone in this position do any of these? warn you when someone younger is on it, and the auto-scheduler won't put them there. See Scheduling minors.

Good to know

  • Before you delete a position, take it off the people who hold it. A deleted position disappears from their page but stays attached behind the scenes, and changing their positions afterwards fails with Failed to save position assignments.
  • Adding a location and one of its positions at once: save the new location on the person first, then pick the position and save again.
  • Tipped position is the tip pool's default: a location whose Tip pool card (Locations & Users → Locations → the location → Scheduling) has no positions picked under Who receives shares tips among its tipped positions — see Tip pooling.
  • 7shifts: with Scheduling data sync on, your 7shifts roles become positions and people's 7shifts wages come across; imported positions start with a $0 default wage, so set one. See Setting up scheduling.
  • Managers can set pay for employees at their locations; pay for managers and admins is changed by an admin.

Still need help?

Send us a support request and a real person on the Mays team will get back to you.