Index
Break
(Meldung)BreakRule
(Meldung)BudgetRequirement
(Meldung)CoverageRequirement
(Meldung)CoverageRequirement.RoleRequirement
(Meldung)CoverageRequirement.SkillRequirement
(Meldung)DemandCoverageViolation
(Meldung)Employee
(Meldung)EmployeeDemand
(Meldung)EmployeeSchedule
(Meldung)EmployeeSchedule.ShiftWithEvents
(Meldung)EmployeeSchedule.ShiftWithEvents.Event
(Meldung)EventTemplate
(Meldung)HourlyContract
(Meldung)HourlyContract.OvertimePeriod
(Meldung)Priority
(Aufzählung)ResourceConstraint
(Meldung)SchedulingConstraint
(Meldung)Shift
(Meldung)ShiftAssignment
(Meldung)ShiftGenerationSolutionStatus
(Aufzählung)ShiftPreference
(Meldung)ShiftRequest
(Meldung)ShiftTemplate
(Meldung)SolutionStatus
(Aufzählung)SolveParameters
(Meldung)SolverConfig
(Meldung)WorkStatus
(Aufzählung)
Pause
Ein Zeitraum, in dem Mitarbeitende ihre Arbeit während einer Schicht unterbrechen.
Felder | |
---|---|
start_date_time |
Der Beginn einer Pause. |
duration_minutes |
Dauer der Pause in Minuten. |
BreakRule
Eine Regel, die bestimmt, wann eine Pause innerhalb einer Schicht beginnen kann und wie lange sie dauert. Die Liste aller möglichen Pausen, die berücksichtigt werden sollen, wird in Schritten von rule_increment_minutes
festgelegt. Beispiel: Eine Pauseregel modelliert eine 30-minütige Pause, die zwischen 10:00 und 11:00 Uhr beginnen kann und das Regelinkrement beträgt 20 Minuten. Die Liste der berücksichtigten Pausen lautet: [10:00, 10:30], [10:20, 10:50], [10:40, 11:1,1,1,1,1,1,1,1,1,1,1.
Felder | |
---|---|
earliest_start_time |
Die früheste Startzeit der Pause (einschließlich). Es können nur |
latest_start_time |
Die späteste Startzeit der Pause (einschließlich). Es können nur |
duration_minutes |
Dauer der Pause in Minuten. |
rule_increment_minutes |
[Optional] Zeitintervall in Minuten für alle Unterbrechungen, die in dieser Regel für die Werbeunterbrechung berücksichtigt werden können. Enthält standardmäßig den Wert |
BudgetRequirement
Budgetanforderungen für ein bestimmtes Intervall.
Felder | |
---|---|
total_budget |
Gesamtbudget für das angegebene Intervall. Bei einer Priorität von Wenn |
start_date_time |
Beginn, ab dem dieses Budget gilt. Wenn keine Startzeit angegeben ist, wird sie auf die früheste Startzeit aller Schichten festgelegt. |
end_date_time |
Endzeit für die Anwendung dieses Budgets. Wenn keine Endzeit angegeben ist, wird sie auf die letzte Endzeit aller Schichten festgelegt. |
priority |
Prioritätsstufe für die Erfüllung der Budgetanforderung im angegebenen Zeitraum. Die Standardpriorität ist Wenn diese Priorität höher als andere Einschränkungsprioritäten ist und |
CoverageRequirement
Eine Deckungsanforderung gibt die Anzahl der Mitarbeitenden an, die für eine Reihe von Rollen und/oder Fähigkeiten während eines bestimmten Zeitfensters und an einem bestimmten Standort benötigt werden. DateTime-Intervalle an einem bestimmten Ort dürfen sich nicht überschneiden. Alternativ kann eine Liste mit Schicht-IDs anstelle eines Zeitfensters und eines Standorts bereitgestellt werden. Nur Mitarbeitende, die einer bestimmten Rolle zugewiesen werden können (oder die die spezifische Fähigkeit besitzen), können diese Anforderung erfüllen.
Für eine bestimmte Rolle und/oder Kompetenz ist die Deckungsanforderung erfüllt, wenn zu jedem Zeitpunkt des Zeitfensters oder für jede Schicht in shift_ids
mindestens target_employee_count
Mitarbeiter arbeiten. Im Gegensatz dazu wird die Deckungsanforderung nicht erfüllt, wenn im Zeitfenster (oder in einer der Schichten in shift_ids
) weniger als target_employee_count
Mitarbeiter arbeiten. Mehr aktive Mitarbeiter als der target_employee_count
erfüllen die Anforderung zwar weiterhin, aber übermäßige Personalbelegung wurde durch den Matherechner minimiert.
Felder | |
---|---|
start_date_time |
Die Startzeit für die Abdeckungsanforderung (einschließlich). Wenn festgelegt, muss |
end_date_time |
Das Ende für die Abdeckungsanforderung (ausschließlich). Wenn festgelegt, muss |
location_id |
Standort, an dem die Mitarbeiter gebraucht werden. |
shift_ids[] |
Wenn festgelegt, werden die Rollen- und Qualifikationsanforderungen einzeln auf jede Schicht-ID in dieser Liste angewendet. Wenn „Shift_ids“ nicht leer ist, müssen |
role_requirements[] |
Erforderliche Anzahl von Mitarbeitern, die den angegebenen Rollen während des Zeitfensters zugewiesen werden müssen. Für jede Rollen-ID muss höchstens ein |
skill_requirements[] |
Erforderliche Anzahl der Mitarbeitenden mit den angegebenen Fähigkeiten, die während des Zeitfensters Schichten zugewiesen sind. Für jede Skill-ID muss höchstens ein |
RoleRequirement
Erforderliche Anzahl von Mitarbeitern, die der angegebenen Rolle während des Zeitfensters zugewiesen werden müssen.
Felder | |
---|---|
role_id |
Rollen-ID für die Anforderung. |
target_employee_count |
Gewünschte Anzahl von Mitarbeitern, die der Rolle während des Zeitfensters zugewiesen wurden. |
priority |
Prioritätsstufe für diese Anforderungseinschränkung. Die Standardpriorität für alle Ressourceneinschränkungen ist |
SkillRequirement
Erforderliche Anzahl von Mitarbeitenden, die während des Zeitfensters arbeiten und die angegebenen Fähigkeiten besitzen.
Felder | |
---|---|
skill_id |
Skill-ID für die Anforderung. |
target_employee_count |
Gewünschte Anzahl von Mitarbeitenden mit der jeweiligen Fähigkeit, die während des Zeitfensters arbeiten. |
priority |
Prioritätsstufe für diese Anforderungseinschränkung. Die Standardpriorität für alle Ressourceneinschränkungen ist |
DemandCoverageViolation
Gibt den Verstoß zur Nachfrageabdeckung für das angegebene Intervall an. Der Bedarf an Mitarbeitenden ist während des gesamten angegebenen Intervalls gleich.
Felder | |
---|---|
start_date_time |
Startdatum und -zeit des Nachfrageintervalls (einschließlich). Dieser Wert wird minutengenau angegeben. |
end_date_time |
Enddatum und -zeit des Nachfrageintervalls (ausschließlich). Dieser Wert wird minutengenau angegeben. |
coverage_violation |
Verletzung der Abdeckung während des angegebenen Intervalls. Ein positiver Wert bedeutet, dass die Nachfrage überdeckt ist, ein negativer Wert, dass die Nachfrage zu wenig abgedeckt ist. |
Mitarbeiter
Ein Mitarbeiter aus der Belegschaft, für den ein Termin vereinbart wird.
Felder | |
---|---|
id |
Eindeutige ID, die diesem Mitarbeiter zugewiesen ist. |
role_ids[] |
Rollen-IDs, die dieser Mitarbeiter ausführen kann. Es muss mindestens eine Rolle angegeben sein. Wenn ein Mitarbeiter einer Schicht zugewiesen wird, erhält er auch eine einzelne Rolle aus dieser Liste. Der Mitarbeiter kann während des Planungszeitraums verschiedenen Rollen zugewiesen werden. |
skill_ids[] |
Fähigkeits-IDs, die dieser Mitarbeiter besitzt. Diese Liste kann leer sein. Wenn Mitarbeitende einer Schicht zugewiesen werden, verwendet sie eine beliebige Teilmenge der hier aufgeführten Fähigkeiten, um die Kompetenzanforderungen während der gesamten Schicht abzudecken. |
shift_preferences[] |
Die Einstellungen dieses Mitarbeiters ändern. Die hier angegebenen Schichten stellen die Schichten dar, denen die Mitarbeitenden während des Planungszeitfensters zugewiesen werden würden. Die in |
scheduling_constraints[] |
Liste der Zeitplanbeschränkungen für diesen Mitarbeiter. Die Standardprioritätsstufe für jede dieser Einschränkungen ist |
resource_constraints[] |
Zusätzliche Planungseinschränkungen, die nicht in |
shift_requests[] |
Liste der Schichtanfragen des Mitarbeiters. Es kann sein, dass ein Mitarbeiter bestimmten Schichten zugewiesen wird oder nicht. Alle feste Terminzuweisungen für den Mitarbeiter können mit einem |
hourly_contract |
Vertrag, der regelmäßige Stundensätze und Stundensätze für Überstunden für den Mitarbeiter vorgibt. |
EmployeeDemand
Gibt die Anzahl der Mitarbeiter an, die erforderlich sind, um den Bedarf im angegebenen DateTime-Intervall zu decken.
Felder | |
---|---|
start_date_time |
Beginn des Zeitintervalls für die angegebene Nachfrage (einschließlich). Diese Werte werden minutengenau abgelesen. Sekunden und alle kleineren Einheiten werden ignoriert. |
end_date_time |
Ende des Zeitintervalls für die jeweilige Nachfrage (exklusiv). Diese Werte werden minutengenau abgelesen. Sekunden und alle kleineren Einheiten werden ignoriert. |
employee_count |
Anzahl der Mitarbeiter, die benötigt werden, um den Bedarf für dieses Intervall abzudecken. |
EmployeeSchedule
Eine sortierte Liste von Schichten, die einer einzelnen ShiftTemplate
entsprechen, die einer Anzahl von Mitarbeitern zugewiesen werden soll.
Felder | |
---|---|
shift_template_id |
ID der Vorlage, die zum Generieren dieser Schichten verwendet wurde. |
shifts[] |
Liste der Schichten, denen |
employee_count |
Anzahl der Mitarbeitenden, die diesen Schichten zugewiesen werden sollten, um den Bedarf zu decken. |
ShiftWithEvents
Gibt das Start- und Enddatum sowie eine Liste fester Ereignisse eines Wechsels an, die vom Matherechner generiert wurden.
Felder | |
---|---|
start_date_time |
Startdatum und -zeit der Schicht. Dieser Wert wird minutengenau angegeben; Sekunden und kleinere Einheiten werden nicht angegeben. |
end_date_time |
Enddatum und -zeit der Schicht. Dieser Wert wird minutengenau angegeben; Sekunden und kleinere Einheiten werden nicht angegeben. |
events[] |
Liste der Ereignisse, die in dieser Schicht enthalten sind. Diese sind genau den |
Veranstaltung
Gibt die Start- und Endzeit (Datum/Uhrzeit) eines bestimmten Ereignisses in einer vom Solverb erzeugten Verschiebung an.
Felder | |
---|---|
event_template_id |
ID der Vorlage, die zum Generieren dieses Ereignisses verwendet wurde. |
start_date_time |
Startdatum und -zeit des Ereignisses. Dieser Wert wird minutengenau angegeben; Sekunden und kleinere Einheiten werden nicht angegeben. |
end_date_time |
Enddatum und -zeit des Ereignisses. Dieser Wert wird minutengenau angegeben; Sekunden und kleinere Einheiten werden nicht angegeben. |
EventTemplate
Vorlage mit Regeln zum Generieren eines einzelnen Ereignisses, das während einer Schicht auftritt. Ein Ereignis kann beispielsweise eine Besprechung, eine Pause oder ein Mittagessen sein.
Felder | |
---|---|
id |
Eindeutige ID dieser Vorlage. |
minimum_minutes_after_shift_start |
Mindestanzahl von Minuten nach Beginn einer Schicht, die dieses Ereignis beginnen kann. |
maximum_minutes_after_shift_start |
Maximale Anzahl von Minuten nach Beginn einer Schicht, die dieses Ereignis beginnen kann. |
duration_minutes |
Feste Dauer dieses Termins in Minuten. |
start_time_increment_minutes |
Das Zeitinkrement (in Minuten), das zum Generieren der Gruppe möglicher Ereignisstartzeiten zwischen |
HourlyContract
Gibt einen Basisstundensatz, Preisdifferenzen und Überstundenmultiplikatoren an, um die Vergütung für einen Mitarbeiter zu bestimmen. Beachte, dass an verschiedenen Orten gesetzliche Vorschriften eine andere Berechnung der Überstundenvergütung erfordern. Der Solver kann die Überstundenvergütung annähern, um entweder einen Teil der Gesamtkosten zu minimieren oder ein Budget einzuhalten (siehe BudgetRequirement
). Er ist nicht als Tool zur Berechnung der Gehaltsabrechnung gedacht.
Felder | |
---|---|
base_hourly_rate |
Die Vergütung für die Arbeit ohne Überstunden. Wenn für einen Mitarbeiter mehrere Tarife gelten, werden Preisdifferenzen relativ zum Basisstundensatz angewendet. Wenn es mehrere Preise gibt, sollte der Basisstundensatz das Minimum dieser Preise sein. |
hourly_rate_shift_differentials |
Der Stundensatz, der zusätzlich zu |
overtime_periods[] |
Eine Liste aller Perioden, für die Überstunden berechnet werden müssen. Diese Zeiträume dürfen sich nicht überschneiden. |
OvertimePeriod
Ein fester und regelmäßig wiederkehrender Zeitraum (in der Regel 168 Stunden oder sieben aufeinanderfolgende 24-Stunden-Zeiträume), der zur Bestimmung der Höhe der Überstundenvergütung verwendet wird. Für jeden Zeitraum gibt es einen Multiplikator (z.B. 1,5) relativ zum base_hourly_rate
und einer Beschränkung für die Anzahl der Stunden, die als normale Arbeit (keine Überstunden) gelten. Jede Schicht, die sich mit den Zeitfenstern start_date_time
(einschließlich) und end_date_time
(exklusiv) überschneidet, wird auf die Gesamtzahl der Stunden angerechnet, die im Zeitraum gearbeitet wurden. Wenn es sich um eine teilweise Überschneidung handelt, werden nur die sich überschneidenden Stunden gezählt.
Felder | |
---|---|
overtime_multiplier |
Multiplikator für die Berechnung des Stundensatzes für Überstunden (muss größer oder gleich 1,0 sein). Der Stundensatz für Überstunden wird in der Regel mit |
start_date_time |
Startzeit für die Verlängerung. Wenn sich eine Schicht in diesem Zeitraum überschneidet, werden die Stunden einer solchen Schicht ab |
end_date_time |
Endzeit für die Verlängerung. Wenn sich eine Schicht in diesem Zeitraum überschneidet, werden die Stunden einer solchen Schicht bis zum |
maximum_regular_hours |
Maximale Anzahl an Arbeitsstunden, die zum regulären Stundensatz (ohne Überstunden) bezahlt werden. Diese Menge muss positiv sein. |
Priorität
Die Prioritätsstufe für eine Einschränkung des Zeitplans eines Mitarbeiters oder die Abdeckungsanforderungen. Dazu gehören SchedulingConstraint
, ResourceConstraint
, ShiftRequest
und CoverageRequirement
. Da es möglicherweise widersprüchliche Einschränkungen geben kann, ist es nicht immer möglich, jede Einschränkung zu erfüllen. Daher hat jede Art von Einschränkung eine Priorität (vom Nutzer festgelegt oder eine Standardeinstellung), die den Matherechner über die relative Bedeutung aller Einschränkungen informiert, die einem vollständigen Zeitplan zugewiesen sind.
Enums | |
---|---|
PRIORITY_UNSPECIFIED |
Unbekannte Prioritätsstufe. |
PRIORITY_LOW |
Die niedrigste Prioritätsstufe. Einschränkungen mit dieser Priorität sind weniger wichtig als die anderen Einschränkungen. Sie werden als Erste in Betracht gezogen, wenn keine praktikable Lösung gefunden wird. |
PRIORITY_MEDIUM |
Prioritätsebene mittel. Einschränkungen mit dieser Priorität sind wichtiger als Einschränkungen mit der Priorität PRIORITY_LOW , aber weniger wichtig als Einschränkungen mit der Priorität PRIORITY_HIGH . Wenn nach dem Lockern aller Einschränkungen mit der Priorität PRIORITY_LOW keine praktikable Lösung gefunden werden kann, werden als Nächstes Einschränkungen mit der Priorität PRIORITY_MEDIUM aufgrund eines Verstoßes in Betracht gezogen. |
PRIORITY_HIGH |
Die höchste Prioritätsstufe. Einschränkungen mit dieser Prioritätsstufe sind am wichtigsten. Sie sind die letzten, die für einen Verstoß in Betracht gezogen werden, wenn nach dem Lockern der Einschränkungen der niedrigeren Prioritätsstufen keine praktikable Lösung gefunden werden kann. |
PRIORITY_MANDATORY |
Prioritätsstufe, die für etwas steht, das vom Matherechner nicht verletzt werden darf. Wenn der Matherechner SolutionStatus.INFEASIBLE zurückgibt, kann das an zu vielen PRIORITY_MANDATORY -Einschränkungen liegen. |
ResourceConstraint
Eine allgemeine Einschränkung, die die von einem Mitarbeiter verwendete Menge einer bestimmten „Ressource“ begrenzt. Dies ist eine abstrakte Version der spezifischeren SchedulingConstraint
, die für den Nutzer flexibler ist. Viele Planungseinschränkungen, die nicht in SchedulingConstraint.type
angegeben werden können, können stattdessen mit dieser Nachricht angegeben werden.
Felder | |
---|---|
priority |
Prioritätsstufe dieser Ressourceneinschränkung. Die Standardpriorität für alle Ressourceneinschränkungen ist |
resource_usages |
Menge der von den Schichten genutzten Ressourcen. Wenn diese Einschränkung beispielsweise für die minimale und maximale Arbeitsstunden eines Mitarbeiters in einer bestimmten Woche gilt, enthält diese Karte die Schichten in dieser Woche und die Länge jeder Schicht in Stunden. |
minimum_resource_usage |
Minimale Ressourcennutzung, die durch eine Ressourceneinschränkung erreicht wird. |
maximum_resource_usage |
Maximale Ressourcennutzung, die durch eine Ressourceneinschränkung erreicht werden soll. |
SchedulingConstraint
Spezifische Terminbeschränkung für einen bestimmten Mitarbeiter. Die angegebene Einschränkung wird nur während des angegebenen Intervalls [start_date_time,
end_date_time)
angewendet.
Felder | |
---|---|
priority |
Prioritätsstufe für diese Planungseinschränkung. Die Standardpriorität für alle Planungseinschränkungen ist |
start_date_time |
Die Startzeit, ab der diese Planungsbeschränkung gilt (einschließlich). |
end_date_time |
Die Endzeit für die Anwendung dieser Planungsbeschränkung (ausgenommen). |
Union-Feld type . Der Typ der angegebenen Einschränkung. Jede Einschränkung wird nur innerhalb des oben angegebenen Zeitfensters angewendet. Für type ist nur einer der folgenden Werte zulässig: |
|
minimum_minutes |
Mindestanzahl der Minuten, die der Mitarbeiter arbeiten kann. Wenn der Mitarbeiter einer Schicht zugewiesen ist, die das Zeitfenster (vollständig oder teilweise) überschneidet, wird die Anzahl der Minuten, in denen die Schicht das Zeitfenster überschneidet, in dieser Anzahl berücksichtigt. |
maximum_minutes |
Maximale Anzahl der Minuten, die der Mitarbeiter im Zeitfenster arbeiten kann. Wenn der Mitarbeiter einer Schicht zugewiesen ist, die das Zeitfenster (vollständig oder teilweise) überschneidet, wird die Anzahl der Minuten, in denen die Schicht das Zeitfenster überschneidet, in dieser Anzahl berücksichtigt. |
minimum_consecutive_work_days |
Mindestanzahl an aufeinanderfolgenden Tagen, an denen der Mitarbeiter arbeiten kann. Eine mitarbeitende Person arbeitet an einem bestimmten Tag, wenn sie einer Schicht zugewiesen ist, die an diesem Tag beginnt. Alle Schichten, die dem Mitarbeiter zugewiesen wurden und die im Zeitfenster beginnen, werden hier berücksichtigt. |
maximum_consecutive_work_days |
Maximale Anzahl aufeinanderfolgender Tage, an denen der Mitarbeiter arbeiten kann. Eine mitarbeitende Person arbeitet an einem bestimmten Tag, wenn sie einer Schicht zugewiesen ist, die an diesem Tag beginnt. Alle Schichten, die dem Mitarbeiter zugewiesen wurden und die im Zeitfenster beginnen, werden hier berücksichtigt. |
minimum_shift_count |
Mindestanzahl der Schichten, die der Mitarbeiter ausüben kann. In dieser Anzahl ist jede Schicht berücksichtigt, die der Mitarbeitenden zugewiesen wurde und die sich vollständig mit dem Zeitfenster überschneidet. |
maximum_shift_count |
Maximale Anzahl der Schichten, die der Mitarbeiter ausführen kann. In dieser Anzahl ist jede Schicht berücksichtigt, die der Mitarbeitenden zugewiesen wurde und die sich vollständig mit dem Zeitfenster überschneidet. |
minimum_rest_minutes |
Mindestanzahl der Minuten, die die Mitarbeitenden nach Ende einer Schicht ausruhen müssen, bevor sie einer anderen Schicht zugewiesen werden können. Diese Einschränkung gilt für jedes Schichtpaar, das vollständig in [ |
Shift
Eine Schicht gibt ein festes Zeitfenster an, in dem Mitarbeitende arbeiten können.
Felder | |
---|---|
id |
Eindeutige ID, die dieser Schicht zugewiesen ist. |
location_id |
Standort-ID, an der diese Schicht stattfindet. Dieses Feld kann leer sein. |
start_date_time |
Der Beginn der Schicht (einschließlich). |
end_date_time |
Die Endzeit der Schicht (ausschließlich). Derzeit unterstützt der Solver nur Schichten, die weniger als 24 Stunden dauern. |
break_rules[] |
Eine Liste der Regeln für den Umbruch, die während der Schicht gelten. Mitarbeitern, die in dieser Schicht arbeiten, wird pro |
ShiftAssignment
Ein Mitarbeiter, der eine andere Rolle zuweisen soll.
Felder | |
---|---|
employee_id |
Die Mitarbeiter-ID, die zugewiesen wird. |
shift_id |
Schicht-ID, die dem Mitarbeiter zugewiesen ist. |
role_id |
Die Rollen-ID, der der Mitarbeiter für die Schicht zugewiesen ist. |
breaks[] |
Liste der Pausen für diese Schichtzuweisung. |
ShiftGenerationSolutionStatus
Lösungsstatus, der in der Antwort eines Matherechners angegeben wurde.
Enums | |
---|---|
SHIFT_GENERATION_SOLUTION_STATUS_UNSPECIFIED |
Unbekannter Status für die Antwort. |
SHIFT_GENERATION_SOLVED |
Der Matherechner hat innerhalb des angegebenen Zeitlimits eine Lösung gefunden. |
SHIFT_GENERATION_NOT_SOLVED |
Ein Problem hat verhindert, dass der Rechner keine Schichten erzeugt. |
SHIFT_GENERATION_NOT_SOLVED_DEADLINE_EXCEEDED |
Es konnten keine Schichten generiert werden, um die Nachfrage innerhalb des festgelegten Zeitlimits zu decken. |
ShiftPreference
Eine numerische Präferenz für eine bestimmte Schicht-ID.
Felder | |
---|---|
shift_id |
Shift-ID, für die die Einstellung angegeben wird. |
preference |
Höhere Präferenzwerte kennzeichnen eine erwünschte Abweichung. |
ShiftRequest
Die Anfrage eines Mitarbeiters, bestimmten Schichten zugewiesen oder nicht zugewiesen zu werden.
Felder | |
---|---|
priority |
Prioritätsstufe dieser Planungsanfrage. Die Standardpriorität für alle Planungsanfragen ist |
shift_ids[] |
Die Schicht-IDs der Planungsanfrage. |
type |
Anfragetyp, z.B. ob die Anfrage dem Schichtsatz zugewiesen ist oder nicht. |
ShiftTemplate
Vorlage, die Regeln zum Generieren von Schichten angibt. Eine Schicht ist eine Arbeitseinheit, die eine Startzeit und ein Ende angibt und Ereignisse umfassen kann (z. B. Mittagessen, Pausen usw.). Eine Schicht wird einem bestimmten Datum in der Antwort zugewiesen.
Felder | |
---|---|
id |
Eindeutige ID dieser Vorlage. |
earliest_start_time |
Frühester Zeitpunkt am Tag, zu dem eine Schicht beginnen kann. Dieser Wert wird mit Stunden und Minuten angegeben. Sekunden und Nanos werden ignoriert. |
latest_start_time |
Spätester Zeitpunkt des Tages, an dem eine Schicht beginnen kann. Dieser Wert wird mit Stunden und Minuten angegeben. Sekunden und Nanos werden ignoriert. Wenn dieser Wert kleiner als |
duration_minutes |
Feste Dauer einer von dieser Vorlage generierten Verschiebung. |
start_time_increment_minutes |
Das Zeitinkrement (in Minuten), das zum Generieren der möglichen Startzeiten zwischen |
days_off_count_per_week |
Feste Anzahl von freien Tagen pro Woche. Ein Mitarbeiter hat einen freien Tag, wenn er keiner Schicht zugewiesen ist, die an diesem Tag beginnt. Eine Woche umfasst 7 Tage und beginnt am Sonntag. |
event_templates[] |
Regeln zum Generieren von Ereignissen für jede Schicht. In jeder Schicht für jedes angegebene Ereignis wird genau ein Ereignis enthalten. |
minimum_interevent_gap_minutes |
Mindestanzahl von Minuten zwischen dem Ende eines Ereignisses und dem Beginn des nächsten. |
maximum_employee_count |
Maximale Anzahl von Mitarbeitern, die allen Schichten zugewiesen werden kann, die durch diese Vorlage generiert werden. |
SolutionStatus
Lösungsstatus (d.h. ein Zeitplan), der in der Antwort eines Solverers angegeben wird.
Enums | |
---|---|
SOLUTION_STATUS_UNSPECIFIED |
Unbekannter Status für die Antwort. |
FEASIBLE |
Der zurückgegebene Zeitplan ist machbar, aber möglicherweise nicht optimal. |
OPTIMAL |
Der zurückgegebene Zeitplan ist optimal. |
INFEASIBLE |
Für die angegebenen Einschränkungen ist kein praktikabler Zeitplan vorhanden. Der Matherechner kann diesen Wert zurückgeben, wenn eine Teilmenge der Einschränkungen mit der Prioritätsstufe PRIORITY_MANDATORY nicht erfüllt werden kann. |
NOT_SOLVED |
Es wurde kein Zeitplan gefunden. |
NOT_SOLVED_DEADLINE_EXCEEDED |
Es wurde kein Zeitplan innerhalb des angegebenen Zeitlimits gefunden. |
SolveParameters
Parameter, die eine einzelne Lösung des Schichtplanungsproblems steuern.
Felder | |
---|---|
time_limit |
Maximale Zeit, die der Rechner mit der Aufgabe verbringen sollte. Wenn nichts festgelegt ist, wird standardmäßig 1 Minute verwendet. Dieser Wert ist kein fester Grenzwert und berücksichtigt nicht den Kommunikationsaufwand. Die erwartete Latenz zur Behebung des Problems kann diesen Wert geringfügig überschreiten. |
SolverConfig
Gibt zusätzliche Parameter zur Lösung des Problems der Umschalttaste-Generierung an.
Felder | |
---|---|
time_limit |
Maximale Zeit, die der Rechner mit der Aufgabe verbringen sollte. Wenn nichts festgelegt ist, wird standardmäßig 1 Minute verwendet. Die Wahl eines Zeitlimits sollte von der Größe des Problems abhängen. Wenn Sie beispielsweise eine 7-tägige Instanz mit 2 Dieser Wert ist kein fester Grenzwert und berücksichtigt nicht den Kommunikationsaufwand. Die erwartete Latenz zur Behebung des Problems kann diesen Wert geringfügig überschreiten. |
multi_day_schedule |
Bei Einstellung auf „true“ generiert der Solver |
shift_events_can_change |
Falls wahr, können mehrtägige |
WorkStatus
Gibt an, ob ein Mitarbeiter arbeitsfähig ist oder nicht.
Enums | |
---|---|
WORK_STATUS_UNSPECIFIED |
Unbekannter Arbeitsstatus. |
STATUS_WORK |
Status, der einen arbeitenden Mitarbeiter repräsentiert. |
STATUS_NOT_WORK |
Status, der einen nicht erwerbstätigen Mitarbeiter repräsentiert. |