myfreight-assessment/README.md

34 lines
1.1 KiB
Markdown

```mermaid
flowchart TD
receiveTracking(["Receive Tracking"])
findContainerAndShipment["SELECT container JOIN Shipment"]
updateShipment[/Update shipment\]
isArrivingSoon{{"Is arrival estimate between now and now + 24h?"}}
hasArrived{{"Is arrival estimate <=now?"}}
isDelayed{{Is arrival estimate > original arrival + 24h?}}
sendNotification[/Send notification\]
receiveTracking -- "`
**Tracking data**
carrierName:**string**
destinationUnLoCode:**string**
departureDate:**string[_datetime_]**
arrivalDateEstimate:**string[_datetime_]**
containerNumber:**string**
`" --> findContainerAndShipment
findContainerAndShipment --> |WHERE containers.containerNumber = :trackingData.containerNumber| updateShipment
updateShipment --> isArrivingSoon & hasArrived & isDelayed
isDelayed -->|set delayed flag| sendNotification
hasArrived --> |set has arrived flag| sendNotification
isArrivingSoon -->|set is arriving soon flag| sendNotification
%% isArrivingSoon -->|yes| sendArriveSoon
```
```mermaid
flowchart
getShipments([Get all shipments])
```