· Operations · Schemaläggning

Schemaläggning

Drag-and-drop weekly schema med kollektivavtal-validering i realtid. Designat för skiftledare som lägger schema en gång i veckan och vill vara klara på 15 minuter.

Datamodell

Schema består av Shift per anställd per dag. Varje shift har en typ (day, evening, night, custom), starttid, sluttid och en optionell brytid.

interface Shift {
  id: string;
  employeeId: string;
  type: "day" | "evening" | "night" | "custom";
  start: string;       // ISO 8601 with Europe/Stockholm offset
  end: string;
  breakMinutes: number;
  state: "draft" | "published" | "confirmed";
  cbaVerdict?: Verdict; // from @daros/cba
}

Drag-and-drop schema

/v2/scheduleser ni en vecka i taget. Anställda ligger i en sidopanel; drag dem till en cell för att skapa ett skift. Varje drag triggar CBA-motorn (verdict <50ms) och resultatet visas som en färgad ram:

Anställd har önskemål? Hen kan markera vill jobba / vill inte jobba per dag i mobilappen. Önskemålen syns som halvtransparenta kanter i schemagriden.

Skiftmallar

Spara en hel vecka som en mall under Schedule → Templates. Nästa vecka klickar du Applicera mall och allt fylls i — bara att justera enskilda celler.

Mallar är per avdelning. Verkstad B · Standardvecka ser annorlunda ut än Lager · Skift 3.

Skiftbyten

Anställda kan begära skiftbyten direkt i mobilappen. Den som vill byta skickar en förfrågan, mottagaren godkänner, och skiftledaren ser hela flödet i /schedule/swaps och godkänner slutligen.

Vid godkännande kör motorn igenom CBA-verdict på båda anställdas omgjorda veckor — så ett byte aldrig kan skapa ett dolt avtalsbrott.

Realtidsuppdateringar

Schema-griden lyssnar på en WebSocket-kanal schedule:<departmentId>. När en annan skiftledare ändrar samma vecka uppdateras din vy direkt utan reload. Konflikter löses optimistiskt — senare ändringen vinner men en notis skickas till den första editorn.