Prompt
Co AI dostává každý den
Žádná černá skříňka. Tohle jsou instrukce, podle kterých plánovač pracuje, plus strukturovaná data pro konkrétní den, která dostane k dispozici. Plánuje se vždy jen ten jeden den (2026-07-04).
Systémový prompt
Jsi zkušený dispečer servisní firmy Parking Pro, která provozuje a servisuje parkovací automaty po celé ČR. Tvým úkolem je naplánovat práci jednoho konkrétního dne: rozdělit dnešní povinnosti konkrétním lidem. Plánuješ přesně tak, jak to roky dělá jednatel. Výstup musí být věcný, česky, ve stylu stručných dispečerských poznámek (lokalita + co se má udělat), klidně víc úkolů v jedné buňce dne.
Zadání plánovači
Plánuješ POUZE tento jeden den: 2026-07-04 (sobota, víkend).
PODKLADY (vše odvozené z reálných dat firmy) jsou v JSON níže a obsahují:
- targetDate / weekday / isWeekend: cílový den, který plánuješ
- employees: kdo je dnes k dispozici
- unavailableToday: lidé s prokazatelnou absencí (škola, volno, dovolená, PN, pohotovost) na DNES, jednatel to zapsal do plánu předem. TVRDÉ omezení, pro ně se vůbec NEPLÁNUJE žádná práce ani administrativa, v output JSONu se neobjeví.
- capacity: obvyklý a maximální počet hodin na den u každého člověka
- schoolDays: dny v týdnu, kdy má daný člověk pravidelně školu (pokud je dnes ten den, nedávej mu terén)
- specializations: jaké typy práce kdo běžně dělá (podíl z historie)
- regions: skutečné regionální okruhy podle geografie (pole {name, cities}); primárně podle nich spojuj lokality do jednoho výjezdu
- bundles: dvojice lokalit, které se historicky obsluhují společně (sekundární signál)
- profylaxe: profylaktická údržba, která je dnes na řadě (cílový měsíc, ještě nebyla v tomto měsíci hotová)
- installs: instalační milníky, jejichž týden zahrnuje dnešní datum; workstream 'náš tým' děláme my, 'klient' je součinnost obce/města.
- dueAgendas: pravidelné agendy po splatnosti k dnešnímu dni (výběr pokladny, výměna AKU, výměna rolí).
overdueDays je jen interní priorita pro tebe (vyšší = naléhavější), NIKDY ho nepiš do textu.
Spojuj lokality po regionech do jednoho výjezdu.
- incidents: dnešní ad-hoc požadavky a poruchy z inboxu, urgent musí být dnes pokryté (nejvyšší priorita, ber je dřív než plánované agendy).
- learnedPreferences: textový souhrn opakovaných úprav, které jednatel dělal v minulých dnech (např. "Veltrusy: dávej Daniel, ne Tomáš"); ber to jako vodítko, kterého se drž.
- backlog: nehořící úkoly bez termínu; přibal je, když se stejně jede do té oblasti.
- hardRules: NEPORUŠITELNÁ pravidla.
- softRules: zásady, kterými se řiď.
VOZOVÝ PARK: Touran M (manuál), Touran A (automat), Caddy černý, Caddy stříbrný (benzín), vozík (k Touranu, pro převoz PA).
JAK PLÁNOVAT, postup po krocích:
0. NEJDŘÍV vyřaď lidi, kteří dnes pracovat nebudou: kdokoliv v 'unavailableToday' se do output JSONu vůbec nedostane, ani jako absence. Stejně Tomáš Hejl ve čtvrtek nebo pátek.
1. Rozdělej lidi do dvou skupin: SERVISÁŘI (Daniel Steinitz, Tomáš Hejl, Matěj Bláha, Aleš Bláha, Jaromír Kaplan) dělají terén (servis, instalace, výběry pokladny, výměny AKU/role/CAM, profylaxe). NESERVISÁŘI (Anna Hurt, Josef Koktan, Jiří Koktan sr.) dělají VÝHRADNĚ administrativu, SW, tarify, smlouvy, koordinaci, rezervace, podporu, objednávky. Nikdy obráceně.
2. Umísti povinné věci dneška: profylaxe (cílový měsíc, ještě nehotová), instalační milníky našeho týmu jejichž týden zahrnuje dnešek, urgentní incidents.
3. Rozlož agendy po splatnosti, primárně podle regionálních okruhů ('regions'). Spojuj lokality v jednom okruhu do JEDNOHO výjezdu.
4. Přibal backlog do okruhu, pokud se vejde do kapacity.
5. Respektuj školní dny ('schoolDays'), kapacity ('capacity'), specializace ('specializations').
6. Před instalací v terénu naplánuj dílenskou přípravu v Nové Vsi (může jiný člověk).
7. Drobné SW, admin, objednávky, tarify, smlouvy, rezervace, koordinaci s klientem dávej Anně Hurt, Josefu Koktanovi nebo Jiřímu Koktanovi sr. (jejich agenda). Tomáš je hybridní, může taky.
KRITICKÉ ANTI-PATTERNY (gate to zachytí a vrátí ti to k opravě):
- Přiřadíš servisní/instalační/výběrový/výměnu úkol Anně Hurt, Josefu Koktanovi nebo Jiřímu Koktanovi sr. — JE TO NESERVISÁŘ, NEMAJÍ TERÉN.
- Naplánuješ práci člověku v 'unavailableToday'. NIKDY.
- Naplánuješ Tomáši Hejlovi cokoliv ve čtvrtek nebo pátek. NIKDY.
- Terénní práci o víkendu. NIKDY (jen pohotovost nebo kontrola placení).
STYL TEXTU ÚKOLU (důležité, takhle píše jednatel):
- Krátce a věcně: "lokalita - co udělat". Víc úkolů odděl ' / '.
- Používej běžné názvy lokalit (Jeseník, Česká Skalice, Nový Knín), NIKDY ne kódy listů ani přípony typu PA.
- NIKDY do textu nepiš interní poznámky: žádné "overdue", "(SW/admin)", iniciály (THE, AHU, DST, JirKOK), ani slovo workstream.
VÝSTUP: POUZE syrové JSON pole. Žádné markdown code bloky, žádné komentáře, žádný text před ani za polem. První znak odpovědi musí být [ a poslední ]. Jeden záznam na člověka, který dnes něco dělá. Formát:
[{"date":"2026-07-04","employee":"celé jméno z employees","task":"český popis, klidně víc úkolů oddělených ' / '","hours":číslo nebo null,"vehicle":"vozidlo nebo null","reason":"jedna stručná věta proč právě tohle, právě tenhle den, právě tomuto člověku","confidence":"high|medium|low"}]
Pole date MUSÍ být přesně "2026-07-04". Reason napiš lidsky, do 120 znaků, žádný interní jazyk. Confidence: high u jednoznačných případů (povinnost s vysokou jistotou, zkušený člověk), medium u běžných, low u improvizace nebo nízkojistých dat. Žádný jiný text, jen JSON.Podklady pro 2026-07-04
Strukturovaná data dnešního dne, která se k zadání přiloží. Rozbal pro detail.
Zobrazit JSON podkladů
{
"targetDate": "2026-07-04",
"weekday": "sobota",
"isWeekend": true,
"year": 2026,
"monthNum": 7,
"monthName": "červenec",
"employees": [
"Tomáš Hejl",
"Matěj Bláha",
"Jaromír Kaplan",
"Anna Hurt",
"Josef Koktan",
"Jiří Koktan sr."
],
"unavailableToday": [],
"capacity": {
"Tomáš Hejl": {
"medianHours": 9.5,
"maxHours": 16
},
"Matěj Bláha": {
"medianHours": 8.5,
"maxHours": 13
},
"Jaromír Kaplan": {
"medianHours": 9,
"maxHours": 17.5
},
"Anna Hurt": {
"medianHours": 3,
"maxHours": 3
},
"Josef Koktan": {
"medianHours": 4,
"maxHours": 6
},
"Jiří Koktan sr.": {}
},
"schoolDays": {
"Tomáš Hejl": [
"čtvrtek",
"pátek"
],
"Matěj Bláha": [
"úterý",
"středa",
"čtvrtek"
],
"Jaromír Kaplan": [
"úterý",
"středa"
]
},
"specializations": {
"Tomáš Hejl": [
[
"SW/TRF/admin",
0.3
],
[
"servis/oprava",
0.22
],
[
"volno/škola/pohotovost",
0.15
],
[
"dílna/příprava",
0.14
]
],
"Matěj Bláha": [
[
"volno/škola/pohotovost",
0.47
],
[
"servis/oprava",
0.12
],
[
"dílna/příprava",
0.09
],
[
"kontrola platební kázně",
0.09
]
],
"Jaromír Kaplan": [
[
"volno/škola/pohotovost",
0.21
],
[
"servis/oprava",
0.18
],
[
"instalace",
0.1
],
[
"výběr pokladny",
0.1
]
],
"Anna Hurt": [
[
"SW/TRF/admin",
0.49
],
[
"servis/oprava",
0.25
],
[
"volno/škola/pohotovost",
0.18
],
[
"dílna/příprava",
0.04
]
],
"Josef Koktan": [],
"Jiří Koktan sr.": [
[
"SW/TRF/admin",
1
]
]
},
"bundles": [
[
"Lhotka",
"Veltrusy",
31
],
[
"Lhotka",
"Mšeno",
27
],
[
"Mšeno",
"Pokličky",
27
],
[
"Mšeno",
"Veltrusy",
27
],
[
"Lhotka",
"Pokličky",
26
],
[
"Pokličky",
"Veltrusy",
26
],
[
"Ratiboř",
"Česká",
14
],
[
"Albrechtice",
"Loštice",
14
],
[
"Lhotka",
"Trosky",
13
],
[
"Albrechtice",
"Trosky",
12
],
[
"Loštice",
"Třebíč",
12
],
[
"Králíky",
"Česká",
11
]
],
"regions": [
{
"name": "Smíšený",
"cities": [
"Děčín",
"Harasov",
"Hořovice",
"Huntířov",
"Jetřichovice",
"Klecany",
"Králův Dvůr",
"Lhotka",
"Mělník",
"Mšeno",
"Nový Knín",
"Pokličky",
"Příbram",
"Slaný",
"Terezín",
"Veltrusy",
"Vysoká Lípa"
]
},
{
"name": "Morava jih",
"cities": [
"Brno",
"Brno Eldorado",
"Holštejn",
"Ivančice",
"Jedovnice",
"Klentnice",
"Rudice",
"Židlochovice"
]
},
{
"name": "Český ráj",
"cities": [
"Albrechtice",
"Bílá",
"Hrubá Skála",
"Koberovy",
"Kozákov",
"Sobotka",
"Trosky"
]
},
{
"name": "Východní Čechy",
"cities": [
"Králíky",
"Loštice",
"Orlické Záhoří",
"Ratiboř",
"Ústí n/O.",
"Česká Voda",
"Žamberk"
]
},
{
"name": "Polabí",
"cities": [
"Kačina",
"Poděbrady"
]
},
{
"name": "Východní Čechy",
"cities": [
"Trutnov",
"Česká Skalice"
]
},
{
"name": "Vysočina",
"cities": [
"Landštejn",
"Slavonice"
]
},
{
"name": "Jeseníky",
"cities": [
"Jeseník"
]
},
{
"name": "Jeseníky",
"cities": [
"Krnov"
]
},
{
"name": "Beskydy",
"cities": [
"Havířov"
]
},
{
"name": "Vysočina",
"cities": [
"Třebíč"
]
},
{
"name": "Jihočeský",
"cities": [
"Kratochvíle"
]
},
{
"name": "Jihočeský",
"cities": [
"Rožmberk"
]
}
],
"profylaxe": [],
"installs": [],
"dueAgendas": [
{
"location": "Trosky",
"agenda": "výběr",
"overdueRatio": 5,
"overdueDays": 52,
"medianDays": 8.5,
"lastSeen": "2026-05-05",
"confidence": "medium",
"earliestDue": "2026-05-12",
"latestDue": "2026-05-22"
},
{
"location": "Albrechtice",
"agenda": "výběr",
"overdueRatio": 5,
"overdueDays": 68,
"medianDays": 11,
"lastSeen": "2026-04-16",
"confidence": "medium",
"earliestDue": "2026-04-26",
"latestDue": "2026-06-17"
},
{
"location": "Česká",
"agenda": "Skalice",
"overdueRatio": 5,
"overdueDays": 87,
"medianDays": 14.5,
"lastSeen": "2026-03-25",
"confidence": "medium",
"earliestDue": "2026-04-05",
"latestDue": "2026-04-13"
},
{
"location": "Česká",
"agenda": "Skalice",
"overdueRatio": 5,
"overdueDays": 92,
"medianDays": 9.5,
"lastSeen": "2026-03-25",
"confidence": "medium",
"earliestDue": "2026-03-29",
"latestDue": "2026-04-09"
},
{
"location": "Hrubá",
"agenda": "Skála",
"overdueRatio": 5,
"overdueDays": 165,
"medianDays": 13,
"lastSeen": "2026-01-07",
"confidence": "medium",
"earliestDue": "2026-01-14",
"latestDue": "2026-01-26"
},
{
"location": "Hrubá",
"agenda": "Skála",
"overdueRatio": 5,
"overdueDays": 91,
"medianDays": 19,
"lastSeen": "2026-03-16",
"confidence": "medium",
"earliestDue": "2026-03-26",
"latestDue": "2026-04-17"
},
{
"location": "Klecany",
"agenda": "výběr",
"overdueRatio": 5,
"overdueDays": 40,
"medianDays": 9,
"lastSeen": "2026-05-16",
"confidence": "medium",
"earliestDue": "2026-05-18",
"latestDue": "2026-06-07"
},
{
"location": "Veltrusy",
"agenda": "výměna",
"overdueRatio": 5,
"overdueDays": 41,
"medianDays": 7.5,
"lastSeen": "2026-05-17",
"confidence": "medium",
"earliestDue": "2026-05-20",
"latestDue": "2026-06-03"
},
{
"location": "Albrechtice",
"agenda": "výměna",
"overdueRatio": 5,
"overdueDays": 70,
"medianDays": 9,
"lastSeen": "2026-04-16",
"confidence": "medium",
"earliestDue": "2026-04-22",
"latestDue": "2026-05-15"
},
{
"location": "Mšeno",
"agenda": "výměna",
"overdueRatio": 5,
"overdueDays": 39,
"medianDays": 9.5,
"lastSeen": "2026-05-17",
"confidence": "medium",
"earliestDue": "2026-05-19",
"latestDue": "2026-06-08"
},
{
"location": "Slaný",
"agenda": "výměna",
"overdueRatio": 5,
"overdueDays": 147,
"medianDays": 5,
"lastSeen": "2026-02-02",
"confidence": "medium",
"earliestDue": "2026-02-06",
"latestDue": "2026-02-08"
},
{
"location": "Židlochovice",
"agenda": "výměna",
"overdueRatio": 5,
"overdueDays": 48,
"medianDays": 12,
"lastSeen": "2026-05-05",
"confidence": "medium",
"earliestDue": "2026-05-11",
"latestDue": "2026-06-15"
},
{
"location": "Klecany",
"agenda": "výměna",
"overdueRatio": 5,
"overdueDays": 47,
"medianDays": 5,
"lastSeen": "2026-05-13",
"confidence": "medium",
"earliestDue": "2026-05-15",
"latestDue": "2026-05-24"
},
{
"location": "Lhotka",
"agenda": "výběr",
"overdueRatio": 5,
"overdueDays": 34,
"medianDays": 7,
"lastSeen": "2026-05-24",
"confidence": "medium",
"earliestDue": "2026-05-26",
"latestDue": "2026-06-06"
},
{
"location": "Pokličky",
"agenda": "výběr",
"overdueRatio": 5,
"overdueDays": 34,
"medianDays": 7,
"lastSeen": "2026-05-24",
"confidence": "medium",
"earliestDue": "2026-05-26",
"latestDue": "2026-06-06"
},
{
"location": "Ratiboř",
"agenda": "výměna",
"overdueRatio": 4.88,
"overdueDays": 93,
"medianDays": 24,
"lastSeen": "2026-03-09",
"confidence": "medium",
"earliestDue": "2026-03-31",
"latestDue": "2026-04-12"
},
{
"location": "Ratiboř",
"agenda": "výměna",
"overdueRatio": 4.88,
"overdueDays": 93,
"medianDays": 24,
"lastSeen": "2026-03-09",
"confidence": "medium",
"earliestDue": "2026-03-23",
"latestDue": "2026-04-20"
},
{
"location": "Albrechtice",
"agenda": "výměna",
"overdueRatio": 4.71,
"overdueDays": 78,
"medianDays": 21,
"lastSeen": "2026-03-27",
"confidence": "medium",
"earliestDue": "2026-04-08",
"latestDue": "2026-04-22"
},
{
"location": "Loštice",
"agenda": "výměna",
"overdueRatio": 4.7,
"overdueDays": 37,
"medianDays": 10,
"lastSeen": "2026-05-18",
"confidence": "medium",
"earliestDue": "2026-05-25",
"latestDue": "2026-06-07"
},
{
"location": "Hrubá",
"agenda": "Skála",
"overdueRatio": 4.39,
"overdueDays": 95,
"medianDays": 28,
"lastSeen": "2026-03-03",
"confidence": "medium",
"earliestDue": "2026-03-17",
"latestDue": "2026-04-13"
},
{
"location": "Koberovy",
"agenda": "výměna",
"overdueRatio": 4.36,
"overdueDays": 37,
"medianDays": 11,
"lastSeen": "2026-05-17",
"confidence": "medium",
"earliestDue": "2026-05-28",
"latestDue": "2026-06-10"
},
{
"location": "Lhotka",
"agenda": "výměna",
"overdueRatio": 4.36,
"overdueDays": 37,
"medianDays": 11,
"lastSeen": "2026-05-17",
"confidence": "medium",
"earliestDue": "2026-05-20",
"latestDue": "2026-06-03"
},
{
"location": "Pokličky",
"agenda": "výměna",
"overdueRatio": 4.36,
"overdueDays": 37,
"medianDays": 11,
"lastSeen": "2026-05-17",
"confidence": "medium",
"earliestDue": "2026-05-20",
"latestDue": "2026-06-03"
},
{
"location": "Klecany",
"agenda": "výměna",
"overdueRatio": 4.33,
"overdueDays": 40,
"medianDays": 12,
"lastSeen": "2026-05-13",
"confidence": "medium",
"earliestDue": "2026-05-18",
"latestDue": "2026-06-09"
},
{
"location": "Ivančice",
"agenda": "výměna",
"overdueRatio": 4.32,
"overdueDays": 105,
"medianDays": 31.5,
"lastSeen": "2026-02-18",
"confidence": "medium",
"earliestDue": "2026-03-16",
"latestDue": "2026-03-26"
},
{
"location": "Mšeno",
"agenda": "výběr",
"overdueRatio": 4.1,
"overdueDays": 31,
"medianDays": 10,
"lastSeen": "2026-05-24",
"confidence": "medium",
"earliestDue": "2026-05-27",
"latestDue": "2026-06-06"
},
{
"location": "Brno",
"agenda": "Eldorado",
"overdueRatio": 3.36,
"overdueDays": 92,
"medianDays": 39,
"lastSeen": "2026-02-23",
"confidence": "medium",
"earliestDue": "2026-03-19",
"latestDue": "2026-04-17"
},
{
"location": "Slaný",
"agenda": "výměna",
"overdueRatio": 3.3,
"overdueDays": 23,
"medianDays": 10,
"lastSeen": "2026-06-01",
"confidence": "medium",
"earliestDue": "2026-06-04",
"latestDue": "2026-07-06"
},
{
"location": "Veltrusy",
"agenda": "výběr",
"overdueRatio": 3.15,
"overdueDays": 28,
"medianDays": 13,
"lastSeen": "2026-05-24",
"confidence": "medium",
"earliestDue": "2026-05-28",
"latestDue": "2026-06-30"
},
{
"location": "Ratiboř",
"agenda": "výběr",
"overdueRatio": 2.98,
"overdueDays": 45,
"medianDays": 22.5,
"lastSeen": "2026-04-28",
"confidence": "medium",
"earliestDue": "2026-05-14",
"latestDue": "2026-06-07"
},
{
"location": "Králíky",
"agenda": "výměna",
"overdueRatio": 2.81,
"overdueDays": 29,
"medianDays": 16,
"lastSeen": "2026-05-20",
"confidence": "medium",
"earliestDue": "2026-05-30",
"latestDue": "2026-06-15"
},
{
"location": "Koberovy",
"agenda": "výměna",
"overdueRatio": 2.46,
"overdueDays": 29,
"medianDays": 19.5,
"lastSeen": "2026-05-17",
"confidence": "medium",
"earliestDue": "2026-05-22",
"latestDue": "2026-06-26"
},
{
"location": "Landštejn",
"agenda": "výměna",
"overdueRatio": 2.42,
"overdueDays": 51,
"medianDays": 36,
"lastSeen": "2026-04-08",
"confidence": "medium",
"earliestDue": "2026-05-10",
"latestDue": "2026-05-20"
},
{
"location": "Rudice",
"agenda": "výběr",
"overdueRatio": 2.35,
"overdueDays": 27,
"medianDays": 20,
"lastSeen": "2026-05-18",
"confidence": "medium",
"earliestDue": "2026-05-28",
"latestDue": "2026-06-16"
},
{
"location": "Česká",
"agenda": "Skalice",
"overdueRatio": 2.24,
"overdueDays": 26,
"medianDays": 21,
"lastSeen": "2026-05-18",
"confidence": "high",
"earliestDue": "2026-06-03",
"latestDue": "2026-06-09"
},
{
"location": "Koberovy",
"agenda": "výběr",
"overdueRatio": 2.23,
"overdueDays": 27,
"medianDays": 21.5,
"lastSeen": "2026-05-17",
"confidence": "medium",
"earliestDue": "2026-05-25",
"latestDue": "2026-06-13"
},
{
"location": "Kozákov",
"agenda": "výběr",
"overdueRatio": 2,
"overdueDays": 24,
"medianDays": 24,
"lastSeen": "2026-05-17",
"confidence": "medium",
"earliestDue": "2026-06-04",
"latestDue": "2026-06-30"
},
{
"location": "Kozákov",
"agenda": "výměna",
"overdueRatio": 2,
"overdueDays": 24,
"medianDays": 24,
"lastSeen": "2026-05-17",
"confidence": "high",
"earliestDue": "2026-06-07",
"latestDue": "2026-06-11"
},
{
"location": "TrailB",
"agenda": "výběr",
"overdueRatio": 1.92,
"overdueDays": 34,
"medianDays": 36.5,
"lastSeen": "2026-04-25",
"confidence": "medium",
"earliestDue": "2026-05-21",
"latestDue": "2026-06-10"
},
{
"location": "Králíky",
"agenda": "výběr",
"overdueRatio": 1.74,
"overdueDays": 20,
"medianDays": 27,
"lastSeen": "2026-05-18",
"confidence": "medium",
"earliestDue": "2026-06-08",
"latestDue": "2026-06-19"
},
{
"location": "Trosky",
"agenda": "výměna",
"overdueRatio": 1.67,
"overdueDays": 15,
"medianDays": 21.5,
"lastSeen": "2026-05-29",
"confidence": "medium",
"earliestDue": "2026-06-16",
"latestDue": "2026-07-07"
},
{
"location": "Žamberk",
"agenda": "výběr",
"overdueRatio": 1.4,
"overdueDays": 25,
"medianDays": 60.5,
"lastSeen": "2026-04-10",
"confidence": "medium",
"earliestDue": "2026-06-06",
"latestDue": "2026-06-12"
},
{
"location": "Loštice",
"agenda": "výběr",
"overdueRatio": 1.34,
"overdueDays": 12,
"medianDays": 35,
"lastSeen": "2026-05-18",
"confidence": "high",
"earliestDue": "2026-06-16",
"latestDue": "2026-06-29"
},
{
"location": "Kozákov",
"agenda": "výměna",
"overdueRatio": 1.32,
"overdueDays": 12,
"medianDays": 36.5,
"lastSeen": "2026-05-17",
"confidence": "medium",
"earliestDue": "2026-06-09",
"latestDue": "2026-07-01"
},
{
"location": "Jeseník",
"agenda": "výměna",
"overdueRatio": 1.29,
"overdueDays": 18,
"medianDays": 63,
"lastSeen": "2026-04-14",
"confidence": "medium",
"earliestDue": "2026-05-16",
"latestDue": "2026-06-19"
},
{
"location": "Pokličky",
"agenda": "výměna",
"overdueRatio": 1.28,
"overdueDays": 11,
"medianDays": 37.5,
"lastSeen": "2026-05-17",
"confidence": "medium",
"earliestDue": "2026-06-10",
"latestDue": "2026-07-10"
},
{
"location": "Sobotka",
"agenda": "výměna",
"overdueRatio": 1.28,
"overdueDays": 11,
"medianDays": 37.5,
"lastSeen": "2026-05-17",
"confidence": "medium",
"earliestDue": "2026-06-22",
"latestDue": "2026-06-24"
},
{
"location": "Trosky",
"agenda": "výměna",
"overdueRatio": 1.2,
"overdueDays": 9,
"medianDays": 45,
"lastSeen": "2026-05-11",
"confidence": "high",
"earliestDue": "2026-06-11",
"latestDue": "2026-06-30"
},
{
"location": "Rudice",
"agenda": "výměna",
"overdueRatio": 1.18,
"overdueDays": 7,
"medianDays": 40,
"lastSeen": "2026-05-18",
"confidence": "medium",
"earliestDue": "2026-06-17",
"latestDue": "2026-06-29"
},
{
"location": "Brno",
"agenda": "výměna",
"overdueRatio": 1.15,
"overdueDays": 9,
"medianDays": 61,
"lastSeen": "2026-04-25",
"confidence": "medium",
"earliestDue": "2026-05-30",
"latestDue": "2026-06-28"
},
{
"location": "TrailB",
"agenda": "výměna",
"overdueRatio": 1.15,
"overdueDays": 9,
"medianDays": 61,
"lastSeen": "2026-04-25",
"confidence": "medium",
"earliestDue": "2026-05-31",
"latestDue": "2026-06-27"
},
{
"location": "Nový",
"agenda": "Knín",
"overdueRatio": 1.1,
"overdueDays": 6,
"medianDays": 53.5,
"lastSeen": "2026-05-06",
"confidence": "medium",
"earliestDue": "2026-06-02",
"latestDue": "2026-07-24"
},
{
"location": "Mšeno",
"agenda": "výměna",
"overdueRatio": 1.07,
"overdueDays": 3,
"medianDays": 45,
"lastSeen": "2026-05-17",
"confidence": "medium",
"earliestDue": "2026-06-30",
"latestDue": "2026-07-16"
},
{
"location": "Jeseník",
"agenda": "výběr",
"overdueRatio": 1.05,
"overdueDays": 4,
"medianDays": 67.5,
"lastSeen": "2026-04-24",
"confidence": "medium",
"earliestDue": "2026-06-24",
"latestDue": "2026-07-06"
}
],
"incidents": [],
"learnedPreferences": "",
"backlog": [
"hod"
],
"hardRules": [
"Lidé v poli `unavailableToday` mají dnes prokazatelnou absenci (škola, volno, dovolená, PN, pohotovost). Pro takového člověka NIKDY neplánuj žádnou produktivní práci, ani administrativu, ani vzdálenou. V plánu pro dnešek se vůbec neobjeví.",
"Servisáři, kteří jezdí do terénu (servis, instalace, výběry pokladny, výměny AKU/role/CAM, profylaxe): Daniel Steinitz, Tomáš Hejl, Matěj Bláha, Aleš Bláha, Jaromír Kaplan. Tito můžou dostat jakýkoliv terénní úkol.",
"Neservisáři Anna Hurt, Josef Koktan, Jiří Koktan sr. dělají VÝHRADNĚ administrativu, SW, tarify, smlouvy, koordinaci a podporu. NIKDY jim neplánuj instalaci, terénní servis, výběr pokladny, výměnu AKU/role/CAM ani profylaxi, ani jako přípravu, ani jako výpomoc, ani jako vzdálené řízení. Pro ně jen kancelářské úkoly.",
"Tomáš Hejl má každý čtvrtek a pátek školu. Na čtvrtek a pátek se mu nikdy neplánuje žádná práce ani výjezd, ty dny je pro plánování nedostupný.",
"Terénní práce (servis, instalace, výběr pokladny, výměna AKU a rolí, profylaxe) se plánuje jen v pracovní dny pondělí až pátek, nikdy na sobotu a neděli.",
"O víkendu se plánuje pouze pracovní pohotovost, nic jiného.",
"Kontrola platební kázně se plánuje pouze na pátek, sobotu nebo neděli, nikdy na pondělí až čtvrtek.",
"Profylaxe se plánuje pouze v měsíci, který je pro danou lokalitu určený, a respektuje poznámky typu 'od 2027'.",
"Instalace se nesmí naplánovat dřív, než jsou hotové předchozí kroky (smlouva, stavební základ, dodávka, SW a TRF).",
"Existující záznamy se nepřepisují, plán se tvoří pro nové dny."
],
"softRules": [
"Spojuj lokality ve stejném regionu do jednoho výjezdu, ať se zbytečně nenajezdí kilometry.",
"Když už někdo jede do regionu, přibal i nehořící práci z backlogu, která je tam poblíž a vejde se do dne.",
"Drobné SW, tarify, smlouvy, objednávky a koordinaci s klientem dávej přednostně Anně, Josefu Koktanovi a Jiřímu Koktanovi sr. (jejich hlavní agenda), nebo Tomášovi Hejlovi, který je hybridní. Terénní servis a instalace patří servisářům.",
"Neplánuj velký terénní výjezd na den, kdy má klíčový člověk školu.",
"Běžný pracovní den drž kolem osmi až deseti hodin, delší jen u vzdálených výjezdů.",
"Pondělí je vhodné na dílnu a přípravu, výběry pokladen sedí na pondělí a pátek.",
"Před instalací v terénu naplánuj dílenskou přípravu v Nové Vsi, klidně jinému člověku."
]
}