feat: sledování objednávek přes Wolt
CI / Generate TypeScript types (push) Successful in 13s
CI / Server unit tests (push) Successful in 25s
CI / Build server (push) Successful in 28s
CI / Build client (push) Successful in 41s
CI / Playwright E2E tests (push) Successful in 1m47s
CI / Build and push Docker image (push) Successful in 53s
CI / Notify (push) Successful in 2s

Vedle Bolt Food jde nově sledovat i objednávka z Woltu — stačí u objednané
skupiny vložit odkaz z track.wolt.com. Logika sledování je zobecněná do
registru rozvozových služeb (trackingProviders.ts): každá služba umí vytáhnout
kód ze sdílecího odkazu a dotázat se svého API, scheduler i stepper jsou společné.

- pole skupiny bolt* přejmenována na tracking* + nové trackingProvider
- endpoint /groups/setBoltTracking → /groups/setTracking
- Wolt: čas doručení z delivery_eta v časové zóně objednávky, 404 ukončí
  sledování, stav kurýra odvozen z is_delivering/is_delivering_other_order
- DEV simulace zůstává jen pro Bolt Food
This commit is contained in:
2026-08-24 11:27:56 +02:00
parent eeb1630391
commit 5c048fe1f1
25 changed files with 1326 additions and 869 deletions
-21
View File
@@ -1,21 +0,0 @@
post:
operationId: setBoltTracking
summary: Nastaví nebo zruší sledování objednávky Bolt Food (pouze zakladatel).
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- id
properties:
id:
description: ID skupiny
type: string
shareUrl:
description: Sdílecí URL objednávky Bolt Food (https://food.bolt.eu/sharedActiveOrder/...). Prázdná hodnota sledování zruší.
type: string
responses:
"200":
$ref: "../../api.yml#/components/responses/ClientDataResponse"
+24
View File
@@ -0,0 +1,24 @@
post:
operationId: setTracking
summary: Nastaví nebo zruší sledování objednávky u rozvozové služby (pouze zakladatel).
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- id
properties:
id:
description: ID skupiny
type: string
shareUrl:
description: |
Odkaz na sledování objednávky — Bolt Food (https://food.bolt.eu/sharedActiveOrder/...)
nebo Wolt (https://track.wolt.com/...). Služba se pozná z odkazu.
Prázdná hodnota sledování zruší.
type: string
responses:
"200":
$ref: "../../api.yml#/components/responses/ClientDataResponse"