Submit a stateless solve job
Accept a self-contained payload and start an async solve. Returns a job id to poll.
Request
- Base URL: https://api.vigotime.com
- URL: https://api.vigotime.com/api/v1/solve
- Auth: none declared
Request body
Area groups (vigotime entity format)
Verfügbarkeit je Mitarbeiter und Datum: {employeeId: {'2026-09-01': true}}. false = an dem Tag nicht einsetzbar.
Collective agreements (agreement_id -> agreement; vigotime entity format). Carries the FR-239 tariff working-time limits so a tariff-bound stateless solve enforces them (DEF-BRAVO-STATELESS-COLLECTIVE-AGREEMENT-01).
Department as JSON object in the vigotime entity format (camelCase)
Bereits gearbeitete Stunden in der ISO-Woche des Fensterstarts, VOR dem Start, je MA. Für die Wochenkappe der angeschnittenen Woche.
Gearbeitete Tage vor dem Fenster je MA (ISO-Daten). Für Folgetage- und datums-gekoppelte Regeln über die Plangrenze.
Endzeitpunkt der letzten Schicht vor dem Fenster je MA (ISO-Datetime, tz-aware empfohlen). Für die Mindestruhe am ersten Plantag.
Länge der am Vortag endenden Nachtserie je MA. Für Nachterholung über die Plangrenze.
Employees as JSON objects in the vigotime entity format (camelCase)
Last day of the planning window (inclusive)
Feiertage als ISO-Datumsliste (z. B. ['2026-12-25']). Steuert holiday/isHoliday-Regeln; ohne Angabe gilt der eingebaute deutsche Feiertags-Superset.
Per-employee hourly rate
Vorbelegte/handgesetzte Schichten, die fix bleiben. Je Eintrag {employeeId, shiftDefinitionId, date}. Der Solver plant um sie herum.
Planning rules (vigotime entity format)
Per-employee preferences
Zuweisungen des Vorplans (Stabilität/Replan): {employeeId, shiftId, date}. Der Solver bleibt möglichst nah daran (minimale Änderung).
Employee qualifications (employee_id -> qualification ids); derived from employees if omitted
Shift definitions as JSON objects in the vigotime entity format (camelCase)
Sick-leave dates per employee
Social-Points-GUTHABEN je Mitarbeiter: {employeeId: 100}. Die Punkte, die eine Person für Wunscherfüllungen 'ausgeben' kann. Überschreibt ein ggf. am Mitarbeiter gesetztes socialPoints-Feld. Zusammen mit wish_costs aktiv → weiches Budget: die Summe der gewährten Wunschkosten SOLL das Guthaben nicht übersteigen (Überschreitung = Strafe, nie unlösbar). Ohne wish_costs wirkungslos.
Kürzel als weiche Vorgaben, gruppiert nach {'should': [...], 'may': [...]}. Je Eintrag {employeeId, date, ...}.
Staffing rules (vigotime entity format)
First day of the planning window (inclusive)
Vacation dates per employee
Optional shared secret. If set, the webhook request carries an HMAC-SHA256 signature in the X-Vigotime-Signature header.
Optional https URL that is POSTed once the solve finishes (completed or failed).
KOSTEN (pointCost) einer Wunscherfüllung je Mitarbeiter und Datum: {employeeId: {'2026-09-03': 20}}. Der bezahlte Preis eines gewünschten freien Tages (z. B. baseCostPerDay × dayTypeMultiplier × priorityMultiplier). Wenn gesetzt, gewichtet der Solver das Honorieren PROPORTIONAL zum Preis (mehr bezahlt → stärker honoriert), statt nur nach grobem low/normal/high-Label. Speist zudem das Social-Points-Budget.
Wunsch-Priorität je Mitarbeiter und Datum: {employeeId: {'2026-09-03': 'high'}}. low/normal/high → Gewicht 0.5/1.0/2.0 (Social-Points-Gewichtung).
Differenzierte Wunsch-Spezifikationen je MA (z. B. Wochenend-Atomarität, Serien). Feinere Steuerung als die flache wishes-Map.
Wished dates per employee
Workplace duration rules (vigotime entity format): target/covered duration per person at a workplace on the wp_assign axis. severity 'must' -> HARD bound, 'should' -> SOFT target. Omitted/empty -> inert (B0 Phase 3, Issue #57 Feature-2/B1).
Workplaces (vigotime entity format)
Response
Successful Response
#275 Rückfrage-Kanal: Warnungen VOR dem Solve, z. B. RULE_NEEDS_FUTURE_CONTEXT — eine Kopplungsregel blockt Tage nach dem Fenster, aber die Anfrage enthält keine Abwesenheiten dafür. Der Job läuft trotzdem; KI-Clients sollen die Rückfrage an den Nutzer weiterreichen und fehlende Daten nachliefern.
Changes
No recorded changes to this operation across all 1 revision of this API.