Hospital Scheduling Guide • By , Founder & CEO of XShift AI • Updated September 16, 2026

Hospital Staff Scheduling:
How a Nurse Schedule Gets Built, Unit by Unit

Every other scheduling tool tells you the unit came up short. XShift AI tells you before the cycle is posted, with the name and the reason attached.

Hospital staff scheduling is the job of putting a named nurse on every shift on every unit, around the clock, without breaking the number that unit runs on. It happens in a fixed order over the weeks before the cycle posts. This page walks that order stage by stage, then lists the thirteen things a name has to clear before it is safe on a shift.

A hospital is the hardest schedule in any industry, and the reason is not the hours. Nurse scheduling has to satisfy four things at once that have nothing to do with each other: a number of nurses per unit, a legal floor in some states, a pattern people can live on, and a roster that is never quite full. Most units build it in a spreadsheet, or in software bought before the last chief nursing officer arrived.

The American Hospital Association put workforce at about 60 percent of total hospital expenses, rising 5.6 percent in 2025. So the nurse schedule is the largest line item in the building, and on most units it is assembled by hand by somebody who also has patients.

Every example below runs on one unit, so you are not relearning the setup each time: 3 West, a 28-bed telemetry unit at a census of 24, on 12-hour shifts, seven to seven, with an RN at say $42 an hour. Your unit is a different size. The order is the same.

Before the window opens: the time off is already answered

Stage 1

Nurse time off requests get answered before anybody looks at a shift, because leave is the only constraint with no way round it later. Every other hole has somebody who could fill it. An approved week off does not.

I would never open a self-scheduling window before the leave is closed. Do it the other way round and nurses pick their shifts, three get leave approved on top, and the charge nurse spends a Sunday unpicking a finished cycle. Then the requests sitting in a pile for five weeks come back as denials, and the nurse who waited five weeks to be told no is the one who takes the agency contract in March.

So set the close date and make the answers follow a rule instead of the order they arrived in. XShift AI’s Autopilot answers most of them the moment they are sent. You write the policy as sentences, and it approves automatically when a request arrives with enough notice, denies automatically inside a window you have closed, and denies automatically once a set number of other people already hold those dates. For example, say your unit allows three nurses off at once and none over the first week of January. Both are sentences, and after you write them nobody waits five weeks for an answer that was never going to change.

More on what unanswered requests do to a roster in how scheduling causes nurse burnout.

Six weeks out: turn the ratio into a number of nurses

Stage 2

A nurse staffing plan starts as one piece of arithmetic per unit, and the whole cycle is built on top of it. Take the census the unit actually runs at, divide it by the nurse-to-patient ratio you hold that unit to, and add the charge nurse. That is your number for that shift.

For example, 3 West runs at 24 patients on a 1:4 telemetry ratio. Twenty-four divided by four is six bedside RNs, plus a charge nurse, so seven on days and seven on nights. What that does to the cycle:

What 3 West needs, worked out

  1. 124 patients on a 1:4 ratio6 bedside RNs on the floor
  2. 2Plus the charge nurse7 nurses per shift
  3. 3Days and nights, 7 to 714 nurse shifts a day
  4. 4Seven days a week98 nurse shifts a week
  5. 5A nurse on 12s works 3 shifts, so 36 hours98 divided by 3
  6. 6The unit has to carryabout 33 nurses, before anybody takes leave

Thirty-three is the number that matters, and almost nobody has it. A unit carrying 30 nurses against a 33-nurse cycle is nine shifts short every week, which is 108 hours with nobody budgeted to them. Fill those with staff already at 36 hours and each runs to 48, so eight hours of every shift pay time and a half: at $42 an hour that is $168 of premium a shift, $1,512 a week, $78,624 a year on one unit, for nurses you did not hire.

That gap is the hospital staffing shortage, and it is not unusual. The 2026 NSI National Health Care Retention and RN Staffing Report, an industry survey of 527 hospitals in 40 states, put the RN vacancy rate at 8.6 percent and 78 days to fill an experienced RN post.

Your part is one beat: you know your census and your ratio. Write the number into XShift AI once and every cycle after that is built to it. It lives against the unit, or against a block of hours inside the day, and filling stops the moment it is met. Ratios by unit and by state are worked through in full in the nurse-to-patient ratios guide.

Nurse-to-patient ratios by hospital unit in California and Oregon
UnitSize in this exampleCalifornia minimumOregon minimum
Intensive care16 beds1:21:2
Step-down20 beds1:3not set in statute
Telemetry28 beds1:4not set in statute
Medical-surgical34 beds1:51:5
Emergency22 bays1:41:4

What the law sets, and what it leaves to you

Two states put safe nurse staffing ratios into law with numbers attached. California did it first, in regulation: 1:2 in intensive care, 1:3 in step-down, 1:4 in telemetry and in the emergency department, 1:5 in medical-surgical, quoted by the California Department of Public Health. Oregon went second and put its minimums in statute through House Bill 2697, with permanent rules effective May 15, 2024 and civil penalties available for violations on or after June 1, 2025.

Everywhere else the number is your own policy. Mandatory nurse overtime is a separate question: some states restrict forcing a nurse to stay past a scheduled shift, some do not, and a federal bill would set limits nationally. The American Nurses Association backs it, and its president’s line is the shortest version of the argument: “Mandatory overtime is not a staffing strategy.”

Here is the part worth holding on to. Even in the two states with numbers, the law sets a floor and nothing else. It does not say who works nights, how the pattern rotates, or what happens at five in the afternoon when somebody calls off, and it has never once filled a shift. Most of the job is the part no statute touches, and that is the rest of this page.

Five weeks out: lay down the 12-hour pattern

Stage 3

A 12-hour shift schedule is the standard on inpatient units for one reason: three shifts a week is a full-time job, which means four days off and two handovers a day instead of three. Nurse shift scheduling on 12s means seven to seven, days or nights, and the cycle is built out of those two blocks.

So how to schedule nurses for 12 hour shifts is not really a question about shift length. It is a question about what sits next to it. Three twelves back to back is 36 hours inside 72, and the third is a nurse running on five hours of sleep. Nights into days with one day between is worse. For example, here is one nurse’s fortnight on 3 West, and the shape is the point, not the particular days:

D = day shift, 7 to 7. N = night shift, 7 to 7. Blank = off.

Mon

D

Tue

D

Wed

·

Thu

·

Fri

D

Sat

·

Sun

·

Mon

·

Tue

N

Wed

N

Thu

·

Fri

·

Sat

N

Sun

·

Six shifts in fourteen days, so 72 hours. No two shifts closer than a full day off, and the swing from days to nights has three days in it.

Two rules do most of the work, and both are things you already believe. Nobody comes back inside a set number of hours off. Nobody works more than a set number of days in a row. In XShift AI both are sentences you write once, and after that the short turnaround is refused before anybody is told they are working it, and the shift that would break the run is never created. That is the difference between a rule and a preference: a preference breaks at half past nine on a Thursday with the cycle half empty.

See a rest rule refuse a shift. Read about Autopilot

Four weeks out: open the nurse self-scheduling window

Stage 4

Nurse self-scheduling is where a unit’s nurses put their own names on the shifts they want, inside a window that opens and closes on a set date, before the office touches the cycle. It is the most popular thing a nurse manager can do, and the one most likely to be quietly abandoned after two cycles.

It gets abandoned for a reason that has nothing to do with the idea. The window closes with eleven names on the Tuesday day shift and one on Saturday night, four people signed up for 24 hours each and two for 60, and now the charge nurse has to take shifts off people who already told their families they had that weekend. That conversation costs more goodwill than the whole exercise bought.

I have never seen a self-scheduling window work without guardrails on it, and there are three that matter.

A cap on the same weekend

How many people can hold any one Saturday and Sunday, so a popular weekend fills and then stops.

A floor on the unpopular shifts

The minimum nights each person signs up for, so nights are not left to whoever logs in last.

A hard close date

The window shuts on a stated date, and the holes left become the charge nurse’s job rather than a rolling argument.

In XShift AI those guardrails are sentences Autopilot holds, so the window cannot hand you a Saturday night with one name on it. Nurses take open shifts from their phones, and a shift already holding the number you set stops accepting anybody. The window gives people a say in their own lives, which is the part that keeps them. The guardrails stop that costing you the unit.

Two weeks out: the thirteen things a name has to clear

Stage 5

Now the charge nurse fills what the window left behind, and this is where hospital scheduling actually goes wrong. Putting a name in an empty box takes four seconds. Checking it is not the wrong name takes thirteen separate checks, held in one person's head, for every nurse on every open shift.

You do not catch all thirteen. Nobody does. The ones you miss turn up at handover, in payroll, or in a resignation letter. Here is the list, with what each one costs when it slips.

Checked from memory, on every name

13
×

1. The unit they actually work on

The units a nurse is attached to.

Put somebody on a unit she has never worked and the floor runs one short from seven to seven, while the nurse you scheduled sits at home with the day off she thought she had.

×

2. The job the shift is asking for

Whether she holds the job that shift needs.

A shift that needs a charge nurse and gets a sixth bedside RN is still missing a charge nurse, and nobody says a word until report.

×

3. How many of that job the shift still needs

How many of each job that shift holds.

Seven is the number 3 West runs on. Six is a number somebody covers by carrying an extra patient for twelve hours.

×

4. Time off you already approved

Leave already granted across those dates.

She asked in April, you said yes in April, and the cycle put her on anyway. She will not come in, and she will not believe your next answer either.

×

5. The days they can never work

Days she has told you she cannot work.

Somebody in a nurse practitioner program on Wednesdays tells the office once and assumes it is held.

×

6. The hours inside a day they can never work

Hours inside a day she cannot work, like nothing before nine.

Half a day blocked off is easier to forget than a whole day, and it breaks the same way. A day shift starts at seven.

×

7. A shift they are already on

Whether she is already working while this shift runs.

Two units both think they have her Thursday night. One does. The other finds out at nineteen hundred.

×

8. What this shift does to their week

The hours this shift adds against a weekly ceiling.

Three twelves is 36 hours. A fourth is 48, and eight of those hours pay time and a half.

×

9. The gap since they last clocked out

The hours between one shift ending and the next starting.

A nurse who walks out at 07:30 and is back at 19:00 has had eleven and a half hours to drive home, sleep, eat and drive back.

×

10. How many days in a row

Days already worked in a row before this one.

On a printed cycle the seventh day in a row looks exactly like the first.

×

11. The weekend either side of this one

Whether she worked the weekend before or after.

Every unit has two or three people who somehow end up on Saturday. They notice long before the office does.

×

12. Who cannot be on the floor together

Two people who should not work the same shift.

You know the pair. The whole unit knows the pair. It has cost you a resignation before.

×

13. What the shift costs against the budget

What this shift adds to the day and the week.

The premium is committed on a Tuesday afternoon and first read on payroll day, when the only decision left is how to explain it.

Thirteen checks, seven nurses a shift, fourteen shifts a week. That is 1,274 decisions on 3 West alone, every cycle, on one of nine units.

You type

“Every day for the next two weeks, 7am to 7pm on 3 West, six RNs and one charge nurse.”

Then, when the fortnight exists:

“Fill those two weeks and spread the hours evenly.”

Fourteen shifts are created on that unit, each holding six RNs and one charge nurse. Every name that goes on them then runs the same thirteen checks, in order, and anything that could not be filled comes back with the nurse and the reason attached.

Checked for you, on every name

13
✓

1. The unit they actually work on

A nurse is only offered a shift on a unit she is attached to, and anyone attached to no unit is named on the run, so you find out in the office, not at handover.

✓

2. The job the shift is asking for

XShift AI matches the job before anything else, and a nurse marked as able to do two jobs counts for either one.

✓

3. How many of that job the shift still needs

The number sits on the unit, on a block of hours inside the day, or on the one shift, and filling stops the moment it is met.

✓

4. Time off you already approved

An approved day off is never scheduled over, and a night shift is refused for anyone whose leave starts the next morning, because it finishes inside the leave.

✓

5. The days they can never work

Those days are held without anybody remembering them, and the shift moves to the next nurse who can take it.

✓

6. The hours inside a day they can never work

Any shift running into blocked hours is refused, even when the rest of that day is open.

✓

7. A shift they are already on

Both shifts are compared on the clock, including a night that runs past midnight, and nobody is double-booked.

✓

8. What this shift does to their week

Write "nobody past 40 hours in a week" and the fourth shift stops being offered. On a call-off, every nurse who would stay under the line is asked first.

✓

9. The gap since they last clocked out

Set the hours off you want between two shifts, and the short turnaround is refused before anybody is told they are working it.

✓

10. How many days in a row

Cap the run at whatever your unit holds to, and the shift that would break it is never created.

✓

11. The weekend either side of this one

"Nobody works two weekends in a row" is one sentence, written once, and every Saturday and Sunday is then checked against the weekends on both sides.

✓

12. Who cannot be on the floor together

Name them once and they are kept apart on every shift after that, so remembering it stops being your job.

✓

13. What the shift costs against the budget

Every shift is priced before it saves. It adds up what the nurses on it are paid, applies time and a half past your overtime line, and weighs the total against the ceiling you set for that day, that week or that unit. Over the ceiling it is blocked, and on the runs that happen without you it moves to the next nurse who fits.

Seven of the thirteen are not settings. They are the order the software works in every time it places anybody. The other six are sentences you write yourself, and if I could only write one I would write the rest rule, because nobody has ever resigned over a unit budget and plenty of nurses have resigned over the eleventh day in a row and the night-into-day nobody counted.

Put all thirteen on your next cycle

Posting day: what has to be true before it goes up

Stage 6

A posted cycle is a promise, and a half-staffed shift on one is worse than an empty shift, because now nobody is looking for cover. The last check is the only one that looks at the shift rather than the person: is it actually full.

In XShift AI only shifts holding their full number are published. A shift still short of the count you set stays a draft and never reaches a phone, and every nurse on a shift that did publish is told in the same moment. The cycle your unit sees is the part that is finished. The part that is not is still on your screen, where you can do something about it.

Post at the same hour every cycle, even when it is not perfect. I would rather post with two known holes at nine on a Monday than post a complete one whenever it happens to be ready, because a nurse checking four times a week for something with no arrival time stops trusting the office, and that costs more than the two holes.

Every day after: call-offs, floats and a census that moves

Stage 7

The cycle is posted and it starts being wrong immediately. A nurse calls off at five for a seven o’clock shift. The census climbs by six overnight because the emergency department sent up admissions. Somebody floats out and 3 West is a nurse down with nobody having dropped anything.

The call-off is not the expensive part. One nurse out is a normal Tuesday. What costs you is the forty minutes after the call, when a charge nurse who should be with patients works out who is even allowed to take the shift, off the list in her head, which is the same four names as last time, two of them already at 36 hours.

XShift AI is currently the only scheduling software that covers nurse call-offs automatically, once coverage is switched on, and nobody makes a phone call. It works one fixed order and stops at the first nurse who clears every step:

1

Nurses attached to that unit. Nobody else is even a candidate.

2

Nurses who hold the job the shift is asking for, or the job of the nurse who dropped it.

3

Anyone marked unavailable on that weekday is out.

4

Anyone whose blocked hours overlap the shift is out.

5

Every rule you wrote runs, and a rule that flags somebody takes them out of the list.

6

A shift they are already working, and the 40-hour line.

7

Approved time off, checked last on purpose, so the email can tell you somebody was the right nurse and is away.

Whoever would not go into overtime is asked ahead of anyone who would. A shift a week or more away goes straight to the first nurse who clears everything. Closer in, it goes out to every nurse who cleared and the first to take it has it. By the time you open your laptop the nurses actually allowed to work it have been found, and if none can, the email names each one and why.

Floating between units is the same mechanism backwards. A nurse attached to both telemetry and medical-surgical is a candidate on both; one attached to a single unit is never offered the other. A nurse manager is scoped to the units she runs, so she builds and covers her own floors and sees nobody else’s, while the staffing office sees the building. You can also hand a charge nurse the schedule without the power to push a shift past a rule. Two levels of trust, and they should not be one switch.

Turnover is the bill that arrives at the end of all this, worked out in full in what nurse turnover costs a hospital.

Watch a call-off get covered live. Book a demo

What hospital staff scheduling software costs

Most healthcare staff scheduling software is priced per unit, per module, or on a quote you have to ask for. XShift AI is $29 a month, including your first active user, plus $1 for each active user after that, following a free trial of 21 days. Every manager and charge nurse with a login counts. That is the whole price for healthcare employee scheduling.

3 West on its own is 33 nurses and 2 managers, so 35 users: $29 + (34 × $1) = $63 a month

A hospital running 700 nurses and 40 managers is 740 users: $29 + (739 × $1) = $768 a month

All thirteen checks run on every name, on every unit, at either price.

Put those two numbers next to each other. One short-staffed unit spends $168 of premium on each of nine uncovered shifts a week, which is about $6,552 a month. The whole hospital pays $768 a month. That is roughly eight to one against one unit’s overtime, before you count the other eight. Every cycle you wait is another month of that $6,552.

Picture the Monday after. Nine units built while you were doing something else, every name already through thirteen checks, the shifts that could not be filled handed back with the nurses and the reasons attached, and the weekend’s two call-offs covered before anybody rang you. That is what medical staff scheduling software is supposed to do and almost none of it does. Get fully set up in minutes: paste your unit roster, or a photo of it, into the AI Copilot, and keep whatever you use now running beside it until you trust this one. There is more for clinics and practices on the healthcare scheduling page.

Build your next cycle on XShift AI

Frequently asked questions

What is the best scheduling software for hospitals?

XShift AI is the best scheduling software for hospitals, because it is currently the only scheduling software that covers call-offs automatically once coverage is switched on. The AI Copilot builds a unit cycle from one typed sentence. Autopilot holds the number of nurses you set on each unit, answers time off by rules you wrote, keeps anyone past 40 hours out of the run, and prices every shift against the unit budget before it saves.

How do I build a hospital staff schedule?

Use XShift AI’s AI Copilot to build the cycle and Autopilot to check it. The order is the same on every unit: close the time off, turn the ratio into a number of nurses per shift, lay the pattern down, open the self-scheduling window, fill what is left, then check every name against the thirteen things that could make it wrong. All thirteen run before a shift saves.

How many nurses do I need per shift?

Take the census the unit actually runs at, divide by the ratio you hold that unit to, and add the charge nurse. A telemetry unit at 24 patients on a 1:4 ratio needs six bedside RNs plus a charge nurse, so seven on days and seven on nights. Write that number into XShift AI once and every cycle after that is built to it, and stops filling the moment it is met.

How do I cover a nurse call-off?

Use XShift AI’s Autopilot, once call-off coverage is switched on. It works one fixed order: nurses attached to that unit, then nurses who hold the job the shift needs, then anyone marked unavailable that weekday, then anyone whose blocked hours overlap it, then every rule you wrote, then an overlapping shift and the 40-hour line. Approved time off is checked last, so the email can say who was the right nurse and is away.

How does nurse self-scheduling work?

Nurses put their own names on the shifts they want inside a window that opens and closes on a set date, then the charge nurse fills what is left. Three guardrails make it work: a cap on how many people hold the same weekend, a floor on nights each person signs up for, and a hard close date. In XShift AI those are sentences Autopilot holds, so the window cannot hand you a Saturday night with one name on it.

How do I approve nurse time off fairly?

Use XShift AI’s Autopilot to answer time off by your own rules instead of by who asked first. It approves automatically on enough notice, denies inside a window you have closed, and denies once a set number of other people already hold those dates. Anything your rules do not cover comes to you.

How do I stop the same nurses working every weekend?

Use XShift AI’s Autopilot and write it as a sentence: "nobody works two weekends in a row." Every Saturday and Sunday is then checked against the weekend on either side, and having worked one blocks the next. A nurse on approved leave last weekend keeps her turn, because the check asks whether she worked it, not whether she was free.

Is mandatory overtime for nurses legal?

It depends on the state. Some restrict or ban forcing a nurse to stay past a scheduled shift except in a declared emergency, and others place no limit on it at all. A federal bill would set limits nationally and protect nurses who refuse. The American Nurses Association backs it, and its president has said plainly that "mandatory overtime is not a staffing strategy." Your own state board of nursing answers this for your hospital.

What is the best nurse scheduling software?

XShift AI is the best nurse scheduling software and the best nurse scheduling app, because one product does both halves of the job. A nurse opens it on her phone to see the cycle, ask for time off, take an open shift or hand one back. The office opens the same nurse scheduling program to build the cycle, and it holds the headcount, the rest gap and the days in a row without anybody remembering them.

How much does hospital shift scheduling software cost?

XShift AI is $29 a month, including your first active user, plus $1 for each active user after that, following a free trial of 21 days. Every manager and charge nurse with a login counts. One 33-nurse unit with two managers is 35 users: $29 plus $34, so $63 a month. A 740-user hospital is $29 plus $739, so $768 a month.

Stop holding thirteen checks in your head

Every one of them runs on every nurse, on every unit, before the shift is allowed to save.

Hospital Staff Scheduling: Fill Every Unit, Every Shift