Zpět na novinky

Automatické schválení rezervace časového okna podle objednávky v Business Central

Pavel NOVOTNÝ
Blog
Automatické schválení rezervace časového okna podle objednávky v Business Central

Rezervace časového okna vznikne v Time Slot Control. Objednávka, podle které se má rozhodnout o jejím schválení, ale leží v ERP. Jak oba světy propojit bez ručního přepisování a bez neustálého dotazování API?

Jednou z možností je automatizovaný cloud flow v Microsoft Power Automate. Time Slot Control odešle webhook, Power Automate doplní potřebný kontext přes OData, ověří objednávku v Microsoft Dynamics 365 Business Central nebo Dynamics NAV a podle výsledku rezervaci schválí, případně upozorní dispečera v Microsoft Teams.

Praktický scénář: schválení rezervace podle objednávky v ERP

Představme si, že dopravce vytvoří rezervaci na vykládku. Provoz ji chce automaticky schválit pouze tehdy, když v ERP existuje otevřená objednávka pro odpovídající společnost a plánovaný den dodání.

Tento požadavek nelze vyřešit pouhým pravidlem uvnitř rezervačního systému. Rozhodnutí závisí na aktuálních datech v Business Central nebo NAV. Integrace proto kombinuje tři rozhraní:

  • outbound webhook z Time Slot Control jako okamžitý spouštěč,
  • OData pro načtení detailu rezervace a společnosti,
  • REST API pro zápis výsledku zpět do Time Slot Control.

Power Automate workflow propojující Time Slot Control s Microsoft Dynamics 365 Business Central nebo Dynamics NAV

Jak workflow funguje

1. TSC odešle událost bez čekání na polling

Flow začíná HTTP triggerem v Power Automate. Jeho adresu použije subscription v Time Slot Control pro událost reservation.pending. Integrace se tak spustí ve chvíli, kdy je potřeba rozhodnout, a nemusí každou minutu procházet API a hledat změny.

Webhook používá stabilní obálku se schématem, identifikátorem události, typem události, tenantem, časem vzniku a stručnými daty rezervace:

{
  "schemaVersion": "1.0",
  "eventId": "7d897a13-9ac6-4d3f-9cdb-4ad2dd943be1",
  "event": "reservation.pending",
  "tenantId": "2d90ece5-b724-49b0-a19c-08e5b0a63cda",
  "occurredAt": "2026-09-18T07:58:42Z",
  "data": {
    "id": "37efcb13-f1cb-4a61-baea-adfb4337036f",
    "approvalStatus": "pending",
    "deliveryDateUtc": "2026-09-18T08:00:00Z"
  }
}

Payload je záměrně úsporný. Neobsahuje celý obchodní kontext a nezastarává kopírováním desítek polí. Power Automate si podrobnosti potřebné pro rozhodnutí načte až v dalším kroku.

2. Flow doplní kontext rezervace přes OData

První HTTP akce načte z TSC detail rezervace, například její číslo, začátek časového okna, zdroj a uživatele, který ji založil. Druhá akce zjistí společnost tohoto uživatele.

To je důležitý detail: společnost dopravce uvedená na rezervaci nemusí být totožná se společností, jejíž uživatel rezervaci vytvořil. Mapování na zákaznické číslo v ERP proto musí odpovídat konkrétnímu obchodnímu procesu.

3. Business Central nebo NAV ověří objednávku

V Business Central může Power Automate použít standardní akci Find records (V3) nad prodejními objednávkami. Typický filtr kombinuje zákaznické číslo, požadované datum dodání a stav objednávky. Podle potřeby lze přidat provozovnu, sklad, místo vykládky nebo vlastní integrační identifikátor.

U Dynamics NAV zůstává rozhodovací logika stejná. Flow pracuje s daty publikovanými prostřednictvím OData služby dané instalace. Konkrétní entita, názvy polí a způsob přihlášení se přizpůsobí verzi NAV a nastavení zákazníka.

Power Automate tak není další databází. Pouze koordinuje kroky a rozhoduje nad aktuálními daty v TSC a ERP.

4. Nalezená objednávka schválí rezervaci

Pokud otevřená objednávka odpovídá rezervaci, flow zavolá akci REST API pro schválení:

POST /v3/{tenant}/Reservations/{id}/Approved

Time Slot Control poté pokračuje standardním procesem: změna stavu je viditelná uživatelům a dopravce může dostat běžnou notifikaci podle konfigurace zákazníka. Integrace neobchází existující workflow, pouze automatizuje rozhodnutí, pro které má k dispozici dostatek dat.

5. Chybějící objednávka zůstává úkolem pro člověka

Pokud vhodná objednávka v ERP neexistuje, rezervace zůstane ve stavu čekajícím na schválení. Power Automate odešle dispečerovi adaptivní kartu v Microsoft Teams s číslem rezervace, společností, termínem a odkazem do TSC.

Výsledkem není slepé zamítnutí. Dispečer dostane informaci ve správný okamžik a může prověřit výjimku, opravit mapování nebo rozhodnout ručně. Automatizace řeší standardní případy, člověk si zachovává kontrolu nad nestandardními.

Proč webhook místo pravidelného dotazování

Při pollingu musí integrace opakovaně žádat o data i ve chvíli, kdy se nic nezměnilo. S rostoucím počtem tenantů, rezervací a napojených systémů to znamená zbytečný provoz a složitější hlídání časových oken.

Webhook obrací směr komunikace. TSC pošle událost pouze tehdy, když skutečně nastane. Power Automate si následně načte jen data potřebná pro konkrétní rozhodnutí. Výsledkem je rychlejší reakce, menší množství zbytečných požadavků a přehlednější provoz integrace.

Automatizované schvalování rezervací napříč TSC a ERP

Microsoft nabízí pro Dynamics 365 Business Central vlastní Power Automate konektor s akcemi pro vyhledání a práci se záznamy. Dynamics NAV lze podle verze připojit pomocí příslušného konektoru a publikované OData služby. Rozdíl je v technickém napojení, nikoli v procesu: událost vznikne v TSC, ERP dodá obchodní kontext a výsledek se zapíše zpět do TSC.

Více informací najdete v přehledu integrací Time Slot Control, v dokumentaci konektoru Dynamics 365 Business Central a konektoru Dynamics NAV.

Kde ještě webhooky pomohou

Automatické schválení rezervace je pouze jeden příklad. Stejný integrační vzor lze využít v dalších okamžicích procesu a propojit TSC s Business Central, Dynamics NAV, WMS, dopravními systémy nebo týmovou komunikací.

Automatická evidence příjezdu vozidla

Událost reservation.markedasarrival může po příjezdu vozidla okamžitě zapsat skutečný čas do ERP, aktualizovat stav související objednávky a informovat sklad nebo dispečink v Microsoft Teams.

Přesné časy zahájení a dokončení nakládky

Webhooky reservation.processingstarted a reservation.processingcompleted předají do Business Central nebo WMS skutečný průběh odbavení. Firma tak získá přesnější podklady pro vyhodnocení čekání, výkonu ramp i dodržování plánovaných časů.

Okamžitá reakce na nedostavení dopravce

Událost reservation.carrier.notarrived může založit výjimku v ERP, upozornit dispečera a spustit proces pro náhradní termín. Problém se začne řešit hned, ne až při následné ruční kontrole.

Synchronizace změn rezervace bez ručního přepisování

Při přesunu termínu nebo změně vozidla, řidiče či pobočky lze využít události reservation.moved, reservation.vehicle.platechanged, reservation.driver.changed a reservation.branchoffice.changed. Navazující systémy tak pracují se stejnými údaji jako TSC.

Automatické uzavření přepravy a navazujících kroků

Webhooky reservation.markedasdeparted a reservation.delivered mohou po odjezdu nebo doručení uzavřít přepravu či objednávku v ERP, předat podklady pro dokumentaci a spustit další kroky směrem k fakturaci.

Chcete podobný proces ověřit na vlastních datech?

Stejný vzor lze použít nejen pro schvalování rezervací, ale také pro kontrolu objednávek, přiřazení rampy, synchronizaci stavů nebo upozornění na chybějící údaje. Nejdříve se scénář ověří v sandboxu TSC a testovacím prostředí ERP, teprve potom se připojí produkční systémy.

Ozvěte se nám. Společně navrhneme integrační workflow podle vašich procesů, oprávnění a konkrétní verze Business Central nebo Dynamics NAV.