Skip to main content Scroll Top

An App Developer in San Francisco Who Prices Every Schedule Change

Updated November 2026 · Written and maintained by the Progression Agency strategy team

A store manager on Market Street moves a Thursday closing shift to Saturday on a Tuesday afternoon, two days’ notice, and the scheduling app saves the change without a word about pay. Under San Francisco’s Formula Retail Employee Rights Ordinances, a covered chain owes predictability pay for changes made with less than seven days’ notice, and more when the notice drops under 24 hours. An app developer in San Francisco building scheduling tools for those chains puts the premium on the screen before the manager taps save. Progression is based in New York, builds for San Francisco retailers remotely, and offers on-site sessions on request.

On this page · 11 sections
  1. A Thursday shift moved on a Tuesday
  2. What an app developer in San Francisco builds for covered chains
  3. One schedule change priced at each notice point
  4. What a scheduling app build costs
  5. Application development in San Francisco around the exemption list
  6. A request button that stays a request
  7. Extra hours offered to part time staff first
  8. Mobile application development in San Francisco for contractors too
  9. Three years of schedules on file
  10. Questions for payroll and counsel before launch
  11. Who to ask when the app and the rule disagree

One location only?A single Valencia Street boutique or a family restaurant with one location sits outside these ordinances, and the pricing below does not apply; our app development agency page covers that kind of build.

Coverage, premiums and exemptions on this page belong to San Francisco’s Office of Labor Standards Enforcement and are described as its page and rules show them. Progression has no relationship with the City, and nothing here is legal or payroll advice. Coverage and pay questions go to OLSE or counsel.

A Thursday shift moved on a Tuesday

The manager is busy and the change is small: Thursday evening to Saturday evening, same hours. The app lets her drag the shift, asks nothing and saves. The worker gets a notification. Nobody sees a number.

A drawn schedule screen with five lines: old shift Thursday evening, new shift Saturday evening, time of the change Tuesday afternoon, notice given less than seven days, and predictability pay left blank. A closing line reads one hour of pay, and the app did not say so.A drawn schedule screen with five lines: old shift Thursday evening, new shift Saturday evening, time of the change Tuesday afternoon, notice given less than seven days, and predictability pay left blank. A closing line reads one hour of pay, and the app did not say so.
A hypothetical schedule screen: the old shift, the new shift, the time of the change and a blank where the premium should be.

OLSE’s presentation on the ordinance says that when a schedule changes with less than seven days’ notice, the employer owes one hour of pay for each shift change. The app knew the time of the change and the date of the shift. It had everything it needed to show that line and showed nothing.

What an app developer in San Francisco builds for covered chains

San Francisco’s Office of Labor Standards Enforcement says the Formula Retail Employee Rights Ordinances apply to formula retail establishments with at least 40 stores worldwide and 20 or more employees in San Francisco, and to their janitorial and security contractors.

Covered employers must offer extra work hours to current qualified part time employees in writing before hiring new employees or using contractors or staffing agencies. New employees get a good faith written estimate of the minimum number of scheduled shifts per month and the days and hours of those shifts. Schedules must be provided two weeks in advance, posted at the workplace or provided electronically if employees can reach the electronic schedule at work.

Each of those is a screen, a timestamp and a record. A scheduling app that carries them does the rule’s work at the moment a manager acts, and a manager’s memory is not asked to.

Why does the app carry the rule and not the manager?

Because the cost of a change depends on two things the manager rarely has in front of her: how many hours before the shift she is acting, and how far the shift moves. The app has both, so it can show the answer before she saves.

What does the manager see first?

The shift she is changing, the time now and the notice that leaves. The hours of pay appear next to the save button, so she sees the cost at the moment of choosing.

  • The old shift and the proposed shift side by side.
  • The notice in days and hours, counted from now.
  • The premium hours and the rule that sets them.
  • A reason list that appears only when no premium applies.
  • A save button that stays active, since the manager may still choose to make the change.
Date: Notice point. How many days and hours before the shift the change is being made.
Hours: Premium hours. The hours of pay that follow from the notice and the size of the change.
Why: Reason from a list. One of the OLSE exemptions, or none, picked at the moment of the change.
Who: Who asked. The worker, the manager or the system, recorded with the time.
Save: Before the save. The manager sees the hours of pay before the change is saved.
Worker: On the worker's side. The change, the reason and the notice appear on the worker's screen.

One schedule change priced at each notice point

The table walks one change through every notice point in OLSE’s page, presentation and final rules. The premium is hours of pay at the employee’s regular hourly rate, and this page prints no dollar figure.

One schedule change at each notice point
NoticeThe premium, per OLSE and its rulesWhat the manager sees before savingWhat the worker sees
Posted 14 days aheadNo premium. The schedule goes out two weeks in advance.The posting date and how employees reach the schedule at work.The schedule, with the date it was posted.
Changed with seven days or moreOLSE’s page ties the premium to changes with less than seven days’ notice.A line showing notice of seven days or more.The change and the date it was made.
Changed with less than seven days1 to 4 hours of pay, depending on notice and shift length; one hour per change in OLSE’s presentation.The hours of pay before the save button.The change, the notice given and the hours owed.
Under 24 hours, four hours or less added or cutTwo hours of pay under Rule 5.1.Two hours of pay, with Rule 5.1 named.The change and the two hours.
Under 24 hours, more than four hours added or cutFour hours of pay under Rule 5.1.Four hours of pay, with Rule 5.1 named.The change and the four hours.
Under 24 hours, shift movedTwo hours when the move is under four hours; four hours when a shift longer than four hours moves by more than four hours (Rule 5.2).The distance moved and the hours that follow.The new time and the hours.
On call and not called in2 to 4 hours of pay, depending on notice and shift length; two hours for a shift of four hours or less, four hours if longer in OLSE’s presentation.The on call length and the hours.A note that the on call shift was released and the hours owed.
Sent home early, full shift paidNo predictability pay under Rule 4.2.A line confirming the full scheduled shift is paid.The early release and the paid hours.
What a build like this costsSee the price section of this page.Not applicable.A written proposal.
Bar chart of hours of pay by notice point: one hour for a change under seven days, two hours for a change of four hours or less under 24 hours, four hours for a larger change, two hours for an on call shift of four hours or less and four hours for a longer one.Bar chart of hours of pay by notice point: one hour for a change under seven days, two hours for a change of four hours or less under 24 hours, four hours for a larger change, two hours for an on call shift of four hours or less and four hours for a longer one.
Hours of pay, not dollars. OLSE’s page gives a range of 1 to 4 hours depending on notice and shift length.
  • Posted two weeks ahead: no premium.
  • Changed with seven days or more: no premium on OLSE’s page.
  • Changed with less than seven days: hours of pay follow.
  • Under 24 hours: two or four hours by the size of the change.

The one hour line at seven days

OLSE’s presentation puts the first notice point at seven days: schedule changes with less than seven days’ notice carry one hour of pay for each shift change. The rules then raise the premium as notice shrinks. The app starts the clock the moment a manager opens the shift, not when she saves.

Under 24 hours, by the length of the change

Rule 5.1 prices a change of four hours or less at two hours of pay and a larger change at four. Rule 5.2 prices a moved shift on the distance it moves. The screen needs the size of the change in hours, and a drag on a calendar already knows it.

On call and not called in

An employee required to be on call who is not called in gets 2 to 4 hours of pay, depending on notice and shift length. OLSE’s presentation puts it at two hours for an on call shift of four hours or less and four hours if longer. The app records the on call block, and the release is a change like any other.

What a scheduling app build costs

Price follows the scope: platforms, payroll and HR integrations, how many store roles the schedule covers and how the audit trail is stored. Progression quotes after a written scope, and its method is proprietary and kept for clients. Store fees and hosting come on top.

published US price bands (market figures, not a Progression rate card).
Type of appTypical low to published high
Simple app or MVP$15,000 to $80,000
Mid complexity app with payments, integrations and an admin panel$60,000 to $150,000
Complex or compliance heavy app$150,000 to $500,000

A scheduling app with a premium calculator, an exemption list and an export usually lands in the mid complexity band once it connects to payroll. Our app development cost guide explains what moves a figure up or down.

Application development in San Francisco around the exemption list

OLSE lists seven cases where an employer does not owe predictability pay or on-call pay: threats to employees or property, failure of public utilities, an act of God or other cause outside the employer’s control, another scheduled employee who could not work and gave less than seven days’ notice, another employee who failed to report or was sent home, required overtime, and an employee who trades shifts or requests a change.

The plain build is a fixed list. At the moment of a change that carries no premium, the manager picks the reason from the list, and the app stores it with the time. An empty reason means the premium shows.

  • The list matches the seven cases on OLSE’s page and nothing else.
  • Trades and requests start with the employee, in the app, and are logged that way.
  • A change with no reason picked shows the premium before it saves.
  • Edge cases go to counsel or to OLSE, not to a free text box.
The seven exemptions as app choices
OLSE exemptionWhat the app recordsWho confirms it
Threats to employees or propertyThe reason, the time and the storeThe store manager, then a regional reviewer.
Failure of public utilitiesThe reason, the time and the storeThe store manager.
An act of God or other cause outside the employer’s controlThe reason and a short noteA regional reviewer.
Another scheduled employee unable to work who gave less than seven days’ noticeWhich employee, and the notice that employee gaveThe store manager.
Another employee who failed to report or was sent homeWhich employee and which shiftThe store manager.
Required overtimeThe overtime hours and the employeePayroll.
An employee trades shifts or requests a changeThat the employee started it in the app, with the timeThe app, from the employee’s own action.

Can a manager type her own reason?

She can add a note, but the exemption comes from the list. A free text reason is hard to audit, and OLSE’s page names specific cases. When none fits, the app shows the premium.

A month of schedule changes on hand?Send us one month of schedule changes with names removed. You get a free proposal from an app developer in San Francisco with each change priced the way the ordinance reads.

Get a free proposal

A request button that stays a request

Rule 6.1 says an employer owes predictability pay when it requires an employee to take a shift, and that includes a unilateral schedule change, making the shift a condition of employment, or pressuring or coercing the employee. The rule adds that calling a change a request does not make it one if the pressure would discourage a reasonable employee from declining.

In one rule example, a manager posts a sign-up sheet for a flash sale and employees volunteer: no predictability pay is owed. In another, the manager asks one employee privately and implies she should be a team player: pay is owed. The plain advice for the app is a sign-up screen that every eligible worker sees at once, with a decline button that carries no message to the manager, and no wording that suggests a penalty. No wording guarantees an exemption, so counsel should read the screen.

  • Use a sign-up screen that every eligible worker sees at once.
  • Make declining as easy as accepting, with no message sent to the manager.
  • Keep any wording that hints at a penalty out of the messages.
  • Log who was asked, when, and how each person answered.

What does the rule say about scheduling software?

In Rule 6.1’s third example, a company’s software adds a Wednesday shift that the employee sees on Monday morning, and the employer owes one hour of predictability pay. The software here is an actor, so the app should treat its own automatic changes like a manager’s.

Extra hours offered to part time staff first

OLSE’s page says a covered employer must offer extra work hours to current qualified part time employees in writing before hiring new employees or using contractors or staffing agencies. An offer screen with a timestamp is the record.

The same page requires equal treatment of part time employees on starting hourly wage, access to paid and unpaid time off and eligibility for promotions, compared with full time employees at the same level. Those rules sit in pay and HR systems, so the scheduling app should not make decisions about them.

  • Send the offer to every qualified part time employee at once.
  • Show who received it, when, and who replied.
  • Keep pay and promotion rules out of the scheduling logic.
  • Let the hiring screen check that an offer was sent first.

Mobile application development in San Francisco for contractors too

OLSE’s page says janitorial and security contractors of covered chains follow most of the same provisions, and that the chains must notify their contractors of the requirements. A chain that uses contractors needs the app to carry two employers on one schedule.

The plain build keeps the two employers’ schedules, premiums and records separate while letting the chain see that its contractors’ schedules went out on time. Our HR software development page covers payroll and HR connections.

Three years of schedules on file

OLSE’s August 2015 presentation says employers keep work schedules and payroll records for three years. The app keeps every schedule version and every change with its time, so an export by worker and week rebuilds what a past schedule looked like. Confirm the period with OLSE or counsel before setting retention.

14 d: Posted two weeks ahead. The date each schedule went out and how employees can reach it at work.
Offer: Extra hours offered. A written offer to qualified part time employees, with a timestamp.
Why: Reason picked. The exemption chosen for any change that carries no premium.
Pay: Premium hours. The hours of pay owed for each change, by employee and week.
Trade: Swaps and requests. Changes the employee started in the app.
Export: Export by week. Schedules and payroll records pulled by worker and by week.
What the app keeps for each schedule
RecordWhen it is writtenWho can export it
The posted schedule and its dateWhen the schedule is publishedPayroll and the store manager.
Each change, with the old and new shiftAt the moment of the changePayroll and the regional reviewer.
The notice point and premium hoursBefore the change is savedPayroll.
The exemption reason, if anyWhen the manager picks itPayroll and counsel.
Offers of extra hours and repliesWhen each offer goes out and is answeredThe HR team.

Questions for payroll and counsel before launch

A scheduling app touches pay, so two reviews belong before it goes live. Payroll checks that the hours the app shows are the hours that reach a paycheck. Counsel reads the screens and the wording.

  • Does the regular hourly rate come from payroll, not from the schedule?
  • Does the app count a change from the time it is made, not the time it is saved?
  • Does counsel agree with the list of reasons the manager can pick?
  • Does the export match what OLSE would ask to see?
  • Is the retention period confirmed with OLSE or counsel?

Who calculates the regular hourly rate?

Payroll does. Rule 4.1 sets how it is figured from prior calendar year earnings and hours, and the scheduling app should read the result and not recalculate it.

Does the app need to know the store’s headcount?

Coverage depends on the chain’s counts, so the chain sets it at the account level, with counsel’s help. The app applies the rules to stores marked as covered.

Who to ask when the app and the rule disagree

The Office of Labor Standards Enforcement answers coverage and pay questions at 415-554-6461 and frero@sfgov.org. Rule text sits in the final rules OLSE issued on January 29, 2016, effective March 1, 2016, with citations updated for the Labor and Employment Code, operative January 4, 2024. The ordinances are Articles 41 and 42 of that code, which the Board of Supervisors passed on November 25, 2014.

  • Coverage questions go to OLSE or counsel.
  • Pay questions go to payroll and then to OLSE.
  • Wording questions go to counsel.
  • Build questions go to the app team.

For retail systems around the schedule, see our retail software development page. For San Francisco software outside scheduling, our software company in San Francisco page covers a different question.

Software and app development

Frequently asked questions

What does an app developer in San Francisco build for chain stores?
Scheduling apps that post two weeks ahead, show the FRERO premium before a change is saved and keep the record.
Do app developers in San Francisco need to know the formula retail labor rules?
For chains with at least 40 stores worldwide and 20 or more San Francisco employees, yes. The rules decide what the app must show and store.
Can application development in San Francisco automate predictability pay?
The app can calculate and display the premium from the notice and the change. Payroll and counsel confirm it.
Does a mobile application development company in San Francisco need to know which stores FRERO covers?
Yes. OLSE says it covers formula retail establishments with at least 40 stores worldwide and 20 or more employees in San Francisco, plus their janitorial and security contractors.
How much is owed for a change with less than seven days’ notice?
1 to 4 hours of pay at the regular rate, depending on notice and shift length. OLSE’s rules give two or four hours when the notice is under 24 hours.
What about on-call shifts?
An on-call employee who is not called in gets 2 to 4 hours of pay, depending on notice and shift length.
Does a shift swap between workers trigger a premium?
No. A trade or an employee’s own request is on OLSE’s exemption list.
Is a manager’s request always voluntary?
Not if it is unilateral, a condition of the job or backed by pressure. OLSE’s Rule 6.1 treats those as required.
Can the schedule live only in the app?
Yes, if employees can reach the electronic schedule at work.
What does an app development company in San Francisco charge for a scheduling build?
Published US price bands run from $15,000 to $80,000 for a simple app to $150,000 to $500,000 for a complex or compliance heavy one. Progression quotes after a written scope.
Can a developer from Progression spend a shift in one of our stores?
Yes, a store shift can be booked on request. Progression is based in New York and does the scheduling build remotely around that visit.
How far ahead must a schedule be provided?
Two weeks in advance, posted at the workplace or provided electronically if employees can reach the electronic schedule at work.
What must new employees receive?
A good faith written estimate of the minimum number of scheduled shifts per month and the days and hours of those shifts.
Who must be offered extra hours first?
Current qualified part time employees, in writing, before the employer hires new employees or uses contractors or staffing agencies.
Is there a premium when an employee is sent home early?
Not if the employer pays the entire scheduled shift, under OLSE’s Rule 4.2.
What if the app adds a shift that the employee sees two days ahead?
OLSE’s Rule 6.1 gives an example of software adding a shift seen on Monday morning for Wednesday, with one hour of predictability pay owed.
Where do the ordinances sit in the City’s code?
In Articles 41 and 42 of the San Francisco Labor and Employment Code, which the Board of Supervisors passed on November 25, 2014 as two ordinances.
Who answers questions about coverage?
The Office of Labor Standards Enforcement, at 415-554-6461 or frero@sfgov.org.
How long should schedules be kept?
OLSE’s August 2015 presentation says three years for schedules and payroll records. Confirm the period with OLSE or counsel.
Does the app give legal advice?
No. It shows what OLSE’s page and rules say for the notice and the change, and counsel confirms how they apply to the chain.

A month of schedule changes on hand?Send us one month of schedule changes with names removed. You get a free proposal from an app developer in San Francisco with each change priced the way the ordinance reads.

Get a free proposal

Get a free marketing proposal

Tell us what you are trying to grow and we will come back with a plan, not a pitch deck. Same-day reply on weekdays.

Privacy Preferences
When you visit our website, it may store information through your browser from specific services, usually in form of cookies. Here you can change your privacy preferences. Please note that blocking some types of cookies may impact your experience on our website and the services we offer.
Contact Us