Tools by ABPZUS Coffee — internal
FOSS icon

1000

In Progress

Future Outlet Scheduling System

ABP · Mohamad Zulfaiz Rofi

The outlet duty roster, built and checked against the law at speed, instead of in a spreadsheet.

The real app building a September roster at Simpang Taiping — plotting a cell, auto-filling the month, and the Assistant flagging a day with one person too many.

Why it exists

The job it takes off someone

An Outlet Leader builds next month’s roster by hand, in a sheet, every month. That is hours of work, and it is exactly where favouritism, unfair patterns and simple mistakes creep in — a seventh day in a row, a closing shift with one person on the floor. FOSS folds Malaysian employment law, the outlet’s own targets and company policy into the month, so every cell can be accounted for and the manager still decides.

What the current build covers

It suggests, it does not decide. Tap a cell and it offers the best shift for that person, with the reason; nothing is written until someone presses Use. Auto-fill can fill a day, a week or the month, and the manager can override any cell. Only a breach of the law — or a halal rule — is refused.

Who it is for

Three people open this

If none of these is you, it is probably not the tool you want — say so on the form and ABP will point you at the right one.

Outlet Leaders and Outlet Managers

Build the month, see what each day needs and why, answer leave requests, override anything, and publish it.

District and Ops Managers

Open any outlet’s month in a popup, read published rosters in Lark, and lend staff between their outlets.

The crew on the roster

See their shifts once the month is published, and ask for leave or a day off from a card in the outlet’s Lark group.

Documentation

How to use FOSS

A walk through a month, in the order a manager meets it. The recording at the top shows the first steps in the real app.

1

Set Up The Outlet

The first time, setup asks every rule the outlet runs by, checks whether the team can actually cover the outlet, and offers a preview week before you build a real one.

2

Pick An Outlet And A Month

One row per person, one column per day. The header carries the calendar — public holidays for the outlet’s state, school breaks, Ramadan and surge weeks.

3

Tap A Cell To Plot It

Tap an empty cell and FOSS answers for that person on that day: the best shift first, the runners-up behind it, each with its reason. Nothing is written until you press Use.

  • Override — Type any time you like. A manager’s choice outranks the pattern and the engine.
  • Refused — Only a breach of Malaysian employment law or a halal rule, and the refusal says which, in plain words.
  • Borrow — Lend or borrow staff between outlets under the same District Manager.
4

Auto-Fill A Day, A Week Or The Month

Auto-fill fills every empty cell from the same rules, for the range you pick. Cells already filled are never touched. ABP chooses, company-wide, which of two engines does the filling.

5

Leave And Day-Off Requests

Crew ask from a card in the outlet’s Lark group. FOSS checks each request against the month before you answer, leave can be undone, and emergency leave opens a list of who can cover.

6

Ask The Assistant Which Day Needs Help

The Assistant opens on the day with the most to say — over target, a gap on the floor, a lone closer — and each finding carries the button that fixes it.

7

Publish

Publish sends the month to Lark, where district and ops managers read it, and to the outlet’s Google Sheet if one is linked. If you forget, it publishes itself ten minutes after your last edit.

Limits worth knowing

What FOSS is not

Written down because it is cheaper to read this now than to find it out in front of someone.

  • It is not a clock-in or attendance system. It plans who should work; it does not record who did.
  • It is not payroll. It estimates pay and labour cost for planning, but pays nobody.
  • It is not an autopilot. Every shift is a suggestion until a person accepts it.
  • It is not released to outlets yet. The installer exists; the pilot outlets have not been picked.

Who made it

Credits

Developer

Mohamad Zulfaiz RofiMain developer · ABP

Published by

ABPZUS Coffee — internal tools

Contributors

Dg MaszilaDistrict Manager — tested the management view · Operations
The Simpang Taiping crewThe baristas in the walkthrough, who FOSS was built with · MY0756

The details

App info

Version
Not released yet
Updated on
5 October 2026
Download size
165 MB installer — Python is inside it
Installs
Not counted
Project code
1000

Requires — Windows

Windows 10 or newer, 64-bit. Nothing to install alongside it.

Data safety

What it does with data

Written so you could check each line rather than take it on trust. If one of them turns out to be wrong, that is a bug in the tool, not a wording problem here.

  • Keeps the staff list and the roster in a database on the manager’s own laptop.
  • Holds the staff details a lawful roster needs: employment dates, and Muslim and female flags for Friday prayers, halal cover and night shifts.
  • Leave and day-off requests travel as Lark cards in the outlet’s group, with their type — including medical — and reason.
  • Reads the outlet list from the MY UOD Lark Base, named fields only. Phone numbers, emails and registration numbers in that table never enter the app.
  • Publishes the finished month to a Lark Base table, and to the outlet’s Google Sheet if a manager links one — it touches no other tab.
  • Sign-in and updates go through ZUS’s own n8n, so no Lark secret sits on the laptop.
  • The Assistant’s AI fix is optional and runs through the Claude Code already on that machine. When it is used, that day’s roster goes to Anthropic. FOSS itself holds no AI key.

Before you ask

Questions people actually send

When can my outlet have it?

No date yet. The installer is built and carries everything it needs; the pilot outlets have not been picked. Register interest and you will hear when it is ready.

Will it change a roster without asking?

No. It suggests; a person accepts. Auto-fill writes only into empty cells.

Who can see the roster?

Whoever the Lark Base is shared with, once it is published, plus anyone with the outlet’s Google Sheet if one is linked. Before it is published, only the laptop it was made on.

Developer contact

Support

Message ABP in Lark. That is the fastest route and it reaches whoever is closest to the problem.

Maintained by

Mohamad Zulfaiz Rofi, ABP

Where the source lives

Internal, on the ABP machines. There is no public repository and no third-party code hosting for any tool on this site.