# 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.

For: Admins, Managers · On: Web, iOS, Android · [Help Center](https://www.mays.app/help) › [Scheduling](https://www.mays.app/help/scheduling) · Last updated October 17, 2026 · 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](https://www.mays.app/help/team-roles/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](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__positions-and-wages__01-positions-page.5d61e4f898.png)

## 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](https://www.mays.app/help/scheduling/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](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__positions-and-wages__02-new-position.9f45d37ca8.png)

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).](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__positions-and-wages__03-org-wide-wage-hint.232e61e52a.png)

## 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](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__positions-and-wages__04-user-positions-and-pay.aa5f1330cc.png)

**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](https://mays-uploads.s3.us-east-2.amazonaws.com/site/help__positions-and-wages__04-no-position-shifts.34edc08b5b.png)

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](https://www.mays.app/help/time-clock/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](https://www.mays.app/help/scheduling/build-the-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](https://www.mays.app/help/time-clock/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](https://www.mays.app/help/scheduling/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](https://www.mays.app/help/time-clock/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](https://www.mays.app/help/scheduling/set-up-scheduling).
- Managers can set pay for employees at their locations; pay for managers and admins is changed by an admin.

## Related articles

- Scheduling: [Setting up scheduling](https://www.mays.app/help/scheduling/set-up-scheduling) — Get a location ready to schedule in Mays — choose Mays or 7shifts as its schedule, set the day its week starts, and pick who appears on the schedule.
- Scheduling: [Building the weekly schedule](https://www.mays.app/help/scheduling/build-the-schedule) — Build a location's week on the web — add, move, copy and edit shifts, add open shifts, and keep an eye on time off, availability and labor cost while you work.
- Scheduling: [Publishing the schedule and notifying staff](https://www.mays.app/help/scheduling/publish-the-schedule) — Your team only sees a week once you publish it. Check the warnings, choose who gets notified, publish — and republish, undo or clear a week when plans change.
- Team & roles: [Add and invite team members](https://www.mays.app/help/team-roles/add-team-members) — Add people on the web or from the app. Employees get a text with a link to the app; managers and admins get an email to set a password. Plus resending invites and checking delivery.
- Team & roles: [Roles and permissions](https://www.mays.app/help/team-roles/roles-and-permissions) — What the built-in Admin, Manager and Employee roles can do, how location access works, and how to build a custom role from individual permissions.
- Time clock: [Labor & compliance (per location)](https://www.mays.app/help/time-clock/labor-compliance) — Where: Locations & Users → Locations → a location → Scheduling tab → Labor & compliance card.
- Scheduling: [Scheduling minors](https://www.mays.app/help/scheduling/scheduling-minors) — Turn on work rules for minors at a location (part of Labor law compliance), and Mays checks the hours and times of anyone under 18 against federal and state law. You get warnings on the schedule, and the auto-scheduler stays inside the limits. Nothing is ever blocked.

## Still need help?

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

[Contact support](https://www.mays.app/contact?topic=support) · [Call +1 (561) 286-3939](tel:+15612863939)

Canonical: https://www.mays.app/help/scheduling/positions-and-wages
