{"ran_at":null,"state":"idle","workers":[{"id":"risk","name":"Risk Worker","role":"Reads the wires, the regional press, the instruments and the government notices, tags what threatens a lane, and flags the exception on the booking it threatens","mode":"live","status":"idle","summary":"","detail":[],"seconds":null},{"id":"routing","name":"Routing Worker","role":"Weighs schedule slack against added transit and expected delay, then writes the booking change the call implies","mode":"live","status":"idle","summary":"","detail":[],"seconds":null},{"id":"comms","name":"Comms Worker","role":"Drafts the carrier and customer emails and files them against the booking. Sends nothing","mode":"live","status":"idle","summary":"","detail":[],"seconds":null},{"id":"planner","name":"Planner Worker","mode":"scripted","layer":"risk","role":"Sweeps the forward book before departure - exposure on the horizon, the last cheap moment to act, and the rebooking or hedge it implies","status":"ready","summary":"","detail":[],"seconds":null},{"id":"inbox","name":"Inbox Worker","mode":"live","layer":"workflow","group":"intake","role":"Reads every inbound mail, works out what it is, links it to the booking or customer, and hands it to the Worker that owns it","status":"ready","summary":"","detail":[],"seconds":null},{"id":"playbook","name":"Playbook Worker","mode":"live","layer":"workflow","group":"intake","role":"Checks every output against the customer's standing instructions before it reaches the queue, and sends it back to be fixed","status":"ready","summary":"","detail":[],"seconds":null},{"id":"rate","name":"Rate Worker","mode":"live","layer":"workflow","group":"quotes","role":"Prices a lane across the carriers that serve it, for any Worker that asks","status":"ready","summary":"","detail":[],"seconds":null},{"id":"rfq","name":"RFQ Worker","mode":"live","layer":"workflow","group":"quotes","role":"Reads an inbound rate request into fields and drafts the quote back","status":"ready","summary":"","detail":[],"seconds":null},{"id":"booking","name":"Booking Worker","mode":"live","layer":"workflow","group":"bookings","role":"Opens the booking on the TMS record from the mail and its documents, flags what it cannot verify, and drafts the carrier request","status":"ready","summary":"","detail":[],"seconds":null},{"id":"docs","name":"Docs Worker","mode":"live","layer":"workflow","group":"bookings","role":"Pulls the fields out of bills of lading, packing lists and invoices, and checks them against the booking","status":"ready","summary":"","detail":[],"seconds":null},{"id":"milestones","name":"Milestones Worker","mode":"live","layer":"workflow","group":"shipments","role":"Writes carrier notices onto the booking as milestones and ETAs, and answers where-is-my-box","status":"ready","summary":"","detail":[],"seconds":null},{"id":"exception","name":"Exception Worker","mode":"live","layer":"workflow","group":"shipments","role":"Catches what is off plan - a rolled box, a document that does not match - opens the exception, and escalates what the desk cannot absorb","status":"ready","summary":"","detail":[],"seconds":null},{"id":"invoice","name":"Invoice Worker","mode":"live","layer":"workflow","group":"billing","role":"Reconciles the carrier invoice against what was agreed, and drafts the dispute","status":"ready","summary":"","detail":[],"seconds":null},{"id":"customs","name":"Customs Worker","mode":"live","layer":"workflow","group":"billing","role":"Prepares the entry for the discharge country, and escalates what needs a person","status":"ready","summary":"","detail":[],"seconds":null},{"id":"assistant","name":"Assistant","mode":"live","layer":"workflow","group":"shipments","role":"Takes your question, hands it to the Worker who owns it, and says so when nobody does","status":"ready","summary":"","detail":[],"seconds":null},{"id":"tms","name":"TMS Link","mode":"demo","layer":"record","role":"The system of record: bookings in, and every Worker's action back out","status":"ready","summary":"","detail":[],"seconds":null}],"scenario":null,"scenarios":[{"id":"hamburg","name":"Hamburg port strike","kind":"Port blocked","summary":"A full-day walkout closes Hamburg's container terminals. Shipments with slack move to Rotterdam; the tight cold-chain one is better off waiting.","decision_type":"Discharge-port reroute, weighed against holding","expected":"SHP-001 and SHP-005 reroute · SHP-002 holds · the rest unaffected"},{"id":"redsea","name":"Red Sea closure","kind":"Chokepoint closed","summary":"Attacks on shipping close the Bab-el-Mandeb approach, taking the Suez route with it. Almost the whole board routes that way, so every shipment has to weigh the Cape of Good Hope against waiting.","decision_type":"Forced long-haul reroute under cost and time pressure","expected":"The whole board lights up · the ones with slack take the Cape · the tight ones hold"},{"id":"rhine","name":"Rhine low water","kind":"Inland waterway disrupted","summary":"Sustained low water at Kaub cuts barge payloads on the Rhine. The sea leg is untouched - the cargo reaches Rotterdam fine. The problem is the barge run upcountry.","decision_type":"Inland leg re-mode: barge to rail/road, not a port change","expected":"SHP-006 switches mode · everything else stays green"}],"risk":{"events":[],"sources":[],"stats":{},"context":{},"families":[],"live_sources_total":60,"live_sources_read":0},"shipments":[{"id":"SHP-001","source_system":"TMS (demo connector)","record_status":"synced","cargo":"Automotive parts","cargo_detail":"12 x 40HC, assembled brake and suspension components","origin":"Shanghai","final_destination":"Munich","customer":"Bavaria Drivetrain GmbH","carrier":"Hapag-Lloyd","booking_ref":"HLCU-2261188","cold_chain":false,"route_id":"R-HAM-STD","route_description":"Asia -> Suez -> Hamburg","discharge_port":"HAM","transit_days":32,"etd":"2026-09-23","eta":"2026-10-25","required_by":"2026-10-29","slack_days":4,"state":"green","decision":null,"drafts":[]},{"id":"SHP-002","source_system":"TMS (demo connector)","record_status":"synced","cargo":"Refrigerated pharma (reefer)","cargo_detail":"2 x 40RH, temperature-controlled vaccine consignment","origin":"Ningbo","final_destination":"Hamburg","customer":"Nordmed Pharma Logistik AG","carrier":"Maersk","booking_ref":"MAEU-9930472","cold_chain":true,"route_id":"R-HAM-STD","route_description":"Asia -> Suez -> Hamburg","discharge_port":"HAM","transit_days":32,"etd":"2026-09-26","eta":"2026-10-28","required_by":"2026-10-29","slack_days":1,"state":"green","decision":null,"drafts":[]},{"id":"SHP-003","source_system":"TMS (demo connector)","record_status":"synced","cargo":"Furniture","cargo_detail":"8 x 40HC, flat-pack retail furniture","origin":"Shanghai","final_destination":"Rotterdam","customer":"Wonen Direct B.V.","carrier":"CMA CGM","booking_ref":"CMDU-4410765","cold_chain":false,"route_id":"R-RTM-STD","route_description":"Asia -> Suez -> Rotterdam (native)","discharge_port":"RTM","transit_days":33,"etd":"2026-09-25","eta":"2026-10-28","required_by":"2026-10-31","slack_days":3,"state":"green","decision":null,"drafts":[]},{"id":"SHP-004","source_system":"TMS (demo connector)","record_status":"synced","cargo":"Electronics","cargo_detail":"5 x 40HC, consumer display panels","origin":"Shenzhen","final_destination":"Antwerp","customer":"Kempen Electronics NV","carrier":"MSC","booking_ref":"MEDU-1774390","cold_chain":false,"route_id":"R-ANR-STD","route_description":"Asia -> Suez -> Antwerp","discharge_port":"ANR","transit_days":33,"etd":"2026-09-27","eta":"2026-10-30","required_by":"2026-11-01","slack_days":2,"state":"green","decision":null,"drafts":[]},{"id":"SHP-005","source_system":"TMS (demo connector)","record_status":"synced","cargo":"Machinery","cargo_detail":"3 x 40FR flatrack, CNC machining centre, out-of-gauge","origin":"Busan","final_destination":"Hamburg","customer":"Elbe Werkzeugbau GmbH","carrier":"Hapag-Lloyd","booking_ref":"HLCU-2264903","cold_chain":false,"route_id":"R-HAM-STD","route_description":"Asia -> Suez -> Hamburg","discharge_port":"HAM","transit_days":32,"etd":"2026-09-24","eta":"2026-10-26","required_by":"2026-10-29","slack_days":3,"state":"green","decision":null,"drafts":[]},{"id":"SHP-006","source_system":"TMS (demo connector)","record_status":"synced","cargo":"Industrial chemicals","cargo_detail":"6 x 40FT ISO tank, non-hazardous specialty solvents","origin":"Shanghai","final_destination":"Basel","customer":"Rheintal Spezialchemie AG","carrier":"CMA CGM","booking_ref":"CMDU-5518824","cold_chain":false,"route_id":"R-RTM-RHINE","route_description":"Asia -> Suez -> Rotterdam -> Rhine barge -> Basel","discharge_port":"RTM","transit_days":38,"etd":"2026-09-21","eta":"2026-10-29","required_by":"2026-11-01","slack_days":3,"state":"green","decision":null,"drafts":[]},{"id":"SHP-007","source_system":"TMS (demo connector)","record_status":"synced","cargo":"Textiles","cargo_detail":"9 x 40HC, finished garments on hangers","origin":"Shanghai","final_destination":"Lyon","customer":"Maison Cardelle SAS","carrier":"MSC","booking_ref":"MEDU-2209471","cold_chain":false,"route_id":"R-FOS-STD","route_description":"Asia -> Suez -> Fos-sur-Mer -> Rhone corridor -> Lyon","discharge_port":"FOS","transit_days":31,"etd":"2026-09-29","eta":"2026-10-30","required_by":"2026-11-04","slack_days":5,"state":"green","decision":null,"drafts":[]}],"tms":{"connector":"TMS (demo connector)","status":"connected (demo)","kind":"demo","writeback_target":null,"role":"System of record","positioning":"SQRlane runs on top of the TMS the desk already uses. Bookings are read out of it, every decision the agents make is written back into it, and a person approves the write.","last_sync":"2026-10-11T19:22:20+00:00","records_synced":7,"bookings_read":7,"bookings_affected":0,"direction_note":"Bookings read in; routing, discharge port, ETA, booking status, the risk exception and the communication log written back once a person approves.","field_map":[{"tms_field":"booking_ref","sqrlane_field":"id","direction":"in","written_by":null},{"tms_field":"commodity","sqrlane_field":"cargo","direction":"in","written_by":null},{"tms_field":"port_of_loading","sqrlane_field":"origin","direction":"in","written_by":null},{"tms_field":"port_of_discharge","sqrlane_field":"discharge_port","direction":"both","written_by":"Routing Worker"},{"tms_field":"routing_code","sqrlane_field":"primary_route","direction":"both","written_by":"Routing Worker"},{"tms_field":"eta","sqrlane_field":"eta","direction":"both","written_by":"Routing Worker"},{"tms_field":"booking_status","sqrlane_field":"state","direction":"both","written_by":"Routing Worker"},{"tms_field":"required_by","sqrlane_field":"required_by","direction":"in","written_by":null},{"tms_field":"temperature_regime","sqrlane_field":"cold_chain","direction":"in","written_by":null},{"tms_field":"exception_flag","sqrlane_field":"triggering_events","direction":"out","written_by":"Risk Worker"},{"tms_field":"communication_log","sqrlane_field":"drafts","direction":"out","written_by":"Comms Worker"}],"agent_records":[{"agent":"Risk Worker","record":"exception","writes":"The disruption that put the booking at risk, flagged on the booking"},{"agent":"Routing Worker","record":"booking","writes":"Discharge port, routing code, ETA - or the hold, when nothing better exists"},{"agent":"Comms Worker","record":"communication_log","writes":"Each drafted carrier and customer email, filed against the booking"},{"agent":"RFQ Worker","record":"quotation","writes":"The quote drafted for an inbound rate request"},{"agent":"Booking Worker","record":"booking","writes":"A new booking opened from the mail and its documents - or held for what could not be verified"},{"agent":"Docs Worker","record":"documents","writes":"Each inbound document filed on the booking, with what it was checked against"},{"agent":"Milestones Worker","record":"booking","writes":"Carrier notices as milestones, and the ETA they move"},{"agent":"Exception Worker","record":"exception","writes":"A rolled box or a mismatched document, flagged on the booking"},{"agent":"Invoice Worker","record":"invoice","writes":"Matched, or disputed with the lines that were never agreed"},{"agent":"Customs Worker","record":"customs","writes":"The entry prepared for the discharge country - or escalated, never filed"}],"writebacks":[],"queued":0,"queued_by_agent":{},"honesty":"Demo connector. No TMS is contacted and nothing is written - a write-back is a described change, held at the approval gate."},"map":{"frame":{"lon0":-28.0,"lon1":146.0,"lat0":-40.0,"lat1":63.0,"width":1000,"height":560},"places":[{"id":"HAM","name":"Hamburg","kind":"port","x":218.3,"y":51.4,"blocked":null,"lx":218.3,"ly":38.4,"on_board":true},{"id":"RTM","name":"Rotterdam","kind":"port","x":184.7,"y":60.1,"blocked":null,"lx":150.7,"ly":57.1,"on_board":true},{"id":"ANR","name":"Antwerp","kind":"port","x":186.2,"y":63.8,"blocked":null,"lx":162.2,"ly":76.8,"on_board":true},{"id":"FOS","name":"Fos-sur-Mer","kind":"port","x":189.3,"y":106.3,"blocked":null,"lx":163.3,"ly":120.3,"on_board":true},{"id":"SUEZ","name":"Suez Canal","kind":"strait","x":348.0,"y":179.4,"blocked":null,"lx":374.0,"ly":171.4,"on_board":true},{"id":"REDSEA","name":"Bab-el-Mandeb","kind":"strait","x":409.8,"y":274.0,"blocked":null,"lx":443.8,"ly":283.0,"on_board":true},{"id":"COGH","name":"Cape of Good Hope","kind":"cape","x":267.1,"y":529.3,"blocked":null,"lx":267.1,"ly":545.3,"on_board":false},{"id":"RHINE","name":"Rhine at Kaub","kind":"inland","x":205.6,"y":70.2,"blocked":null,"lx":243.6,"ly":72.2,"on_board":true},{"id":"FRINL","name":"Rhone corridor","kind":"inland","x":188.7,"y":93.7,"blocked":null,"lx":150.7,"ly":89.7,"on_board":true},{"id":"Shanghai","name":"Shanghai","kind":"origin","x":859.0,"y":172.7,"blocked":null,"lx":833.0,"ly":168.7,"on_board":true},{"id":"Ningbo","name":"Ningbo","kind":"origin","x":859.5,"y":180.1,"blocked":null,"lx":875.5,"ly":191.1,"on_board":true},{"id":"Shenzhen","name":"Shenzhen","kind":"origin","x":816.4,"y":220.0,"blocked":null,"lx":790.4,"ly":223.0,"on_board":true},{"id":"Busan","name":"Busan","kind":"origin","x":902.8,"y":151.3,"blocked":null,"lx":920.8,"ly":146.3,"on_board":true},{"id":"Munich","name":"Munich","kind":"destination","x":227.5,"y":80.8,"blocked":null,"lx":251.5,"ly":87.8,"on_board":true},{"id":"Basel","name":"Basel","kind":"destination","x":204.5,"y":83.9,"blocked":null,"lx":210.5,"ly":100.9,"on_board":true},{"id":"Qingdao","name":"Qingdao","kind":"origin","x":852.4,"y":146.4,"blocked":null,"lx":870.4,"ly":141.4,"on_board":false},{"id":"Yantian","name":"Yantian","kind":"origin","x":817.6,"y":219.8,"blocked":null,"lx":835.6,"ly":231.8,"on_board":false},{"id":"Kaohsiung","name":"Kaohsiung","kind":"origin","x":852.2,"y":219.6,"blocked":null,"lx":870.2,"ly":229.6,"on_board":false},{"id":"Ho Chi Minh City","name":"Ho Chi Minh City","kind":"origin","x":774.1,"y":284.0,"blocked":null,"lx":792.1,"ly":292.0,"on_board":false},{"id":"Singapore","name":"Singapore","kind":"origin","x":757.7,"y":335.7,"blocked":null,"lx":775.7,"ly":343.7,"on_board":false},{"id":"Xiamen","name":"Xiamen","kind":"origin","x":839.5,"y":209.6,"blocked":null,"lx":857.5,"ly":209.6,"on_board":false}],"lanes":[{"id":"SHP-001","state":"green","route_id":"R-HAM-STD","rerouted":false,"cargo":"Automotive parts","from":"Shanghai","to":"Munich","points":[[859.0,172.7],[850.6,206.6],[798.9,271.8],[764.4,323.5],[757.5,335.5],[706.9,312.6],[620.7,309.9],[517.2,282.7],[409.8,274.0],[396.6,252.8],[376.4,222.9],[356.3,193.0],[348.0,179.4],[336.2,168.5],[287.4,155.0],[224.1,141.4],[160.9,144.1],[128.7,147.1],[106.3,133.2],[106.3,103.3],[129.3,78.8],[160.9,68.0],[178.2,62.0],[218.3,51.4],[227.5,80.8]],"hit":[],"eta":"2026-10-25","position":{"x":371.0,"y":214.9,"progress":0.56,"status":"at sea","basis":"estimated from ETD and ETA - not vessel tracking"}},{"id":"SHP-002","state":"green","route_id":"R-HAM-STD","rerouted":false,"cargo":"Refrigerated pharma (reefer)","from":"Ningbo","to":"Hamburg","points":[[859.5,180.1],[850.6,206.6],[798.9,271.8],[764.4,323.5],[757.5,335.5],[706.9,312.6],[620.7,309.9],[517.2,282.7],[409.8,274.0],[396.6,252.8],[376.4,222.9],[356.3,193.0],[348.0,179.4],[336.2,168.5],[287.4,155.0],[224.1,141.4],[160.9,144.1],[128.7,147.1],[106.3,133.2],[106.3,103.3],[129.3,78.8],[160.9,68.0],[178.2,62.0],[218.3,51.4],[218.3,51.4]],"hit":[],"eta":"2026-10-28","position":{"x":453.3,"y":277.5,"progress":0.47,"status":"at sea","basis":"estimated from ETD and ETA - not vessel tracking"}},{"id":"SHP-003","state":"green","route_id":"R-RTM-STD","rerouted":false,"cargo":"Furniture","from":"Shanghai","to":"Rotterdam","points":[[859.0,172.7],[850.6,206.6],[798.9,271.8],[764.4,323.5],[757.5,335.5],[706.9,312.6],[620.7,309.9],[517.2,282.7],[409.8,274.0],[396.6,252.8],[376.4,222.9],[356.3,193.0],[348.0,179.4],[336.2,168.5],[287.4,155.0],[224.1,141.4],[160.9,144.1],[128.7,147.1],[106.3,133.2],[106.3,103.3],[129.3,78.8],[160.9,68.0],[178.2,62.0],[184.7,60.1],[184.7,60.1]],"hit":[],"eta":"2026-10-28","position":{"x":456.5,"y":277.8,"progress":0.48,"status":"at sea","basis":"estimated from ETD and ETA - not vessel tracking"}},{"id":"SHP-004","state":"green","route_id":"R-ANR-STD","rerouted":false,"cargo":"Electronics","from":"Shenzhen","to":"Antwerp","points":[[816.4,220.0],[850.6,206.6],[798.9,271.8],[764.4,323.5],[757.5,335.5],[706.9,312.6],[620.7,309.9],[517.2,282.7],[409.8,274.0],[396.6,252.8],[376.4,222.9],[356.3,193.0],[348.0,179.4],[336.2,168.5],[287.4,155.0],[224.1,141.4],[160.9,144.1],[128.7,147.1],[106.3,133.2],[106.3,103.3],[129.3,78.8],[160.9,68.0],[178.2,62.0],[186.2,63.8],[186.2,63.8]],"hit":[],"eta":"2026-10-30","position":{"x":519.7,"y":283.3,"progress":0.42,"status":"at sea","basis":"estimated from ETD and ETA - not vessel tracking"}},{"id":"SHP-005","state":"green","route_id":"R-HAM-STD","rerouted":false,"cargo":"Machinery","from":"Busan","to":"Hamburg","points":[[902.8,151.3],[850.6,206.6],[798.9,271.8],[764.4,323.5],[757.5,335.5],[706.9,312.6],[620.7,309.9],[517.2,282.7],[409.8,274.0],[396.6,252.8],[376.4,222.9],[356.3,193.0],[348.0,179.4],[336.2,168.5],[287.4,155.0],[224.1,141.4],[160.9,144.1],[128.7,147.1],[106.3,133.2],[106.3,103.3],[129.3,78.8],[160.9,68.0],[178.2,62.0],[218.3,51.4],[218.3,51.4]],"hit":[],"eta":"2026-10-26","position":{"x":409.5,"y":273.6,"progress":0.53,"status":"at sea","basis":"estimated from ETD and ETA - not vessel tracking"}},{"id":"SHP-006","state":"green","route_id":"R-RTM-RHINE","rerouted":false,"cargo":"Industrial chemicals","from":"Shanghai","to":"Basel","points":[[859.0,172.7],[850.6,206.6],[798.9,271.8],[764.4,323.5],[757.5,335.5],[706.9,312.6],[620.7,309.9],[517.2,282.7],[409.8,274.0],[396.6,252.8],[376.4,222.9],[356.3,193.0],[348.0,179.4],[336.2,168.5],[287.4,155.0],[224.1,141.4],[160.9,144.1],[128.7,147.1],[106.3,133.2],[106.3,103.3],[129.3,78.8],[160.9,68.0],[178.2,62.0],[184.7,60.1],[205.6,70.2],[204.5,83.9]],"hit":[],"eta":"2026-10-29","position":{"x":401.5,"y":260.7,"progress":0.53,"status":"at sea","basis":"estimated from ETD and ETA - not vessel tracking"}},{"id":"SHP-007","state":"green","route_id":"R-FOS-STD","rerouted":false,"cargo":"Textiles","from":"Shanghai","to":"Lyon","points":[[859.0,172.7],[850.6,206.6],[798.9,271.8],[764.4,323.5],[757.5,335.5],[706.9,312.6],[620.7,309.9],[517.2,282.7],[409.8,274.0],[396.6,252.8],[376.4,222.9],[356.3,193.0],[348.0,179.4],[327.6,165.8],[275.9,152.2],[229.9,138.6],[201.1,119.6],[189.3,106.3],[188.7,93.7],[188.7,93.7]],"hit":[],"eta":"2026-10-30","position":{"x":625.8,"y":310.1,"progress":0.39,"status":"at sea","basis":"estimated from ETD and ETA - not vessel tracking"}}],"blocked":{},"note":"Positions are approximate and the sea lanes are authored - the map places the board, it does not navigate it."},"summary":{"reroute":0,"hold":0,"no-action":7,"drafts":0},"notes":[],"today":{"at_stake":{"title":"At stake","subtitle":"If nothing is done, against the recommended action","rows":[],"total_stay_eur":0,"total_action_eur":0,"total_avoided_eur":0,"basis":"Computed from each booking's commercial terms - freight, the cost of a day late, the cost of missing the date - by the Routing agent. Not a forecast, and not a market figure."},"customers":{"title":"Customers to notify","subtitle":"Each customer a decision affects; the mail is drafted, not sent","rows":[]},"runway":{"title":"Time runway","subtitle":"Slack against the worst delay if nothing is done, and where the decision leaves it - what still breaks its date on top","statuses":{"breaks":"misses the required-by date even after the decision","resolved":"would have missed it; the decision keeps the date","close":"on plan, but close to the limit","clear":"time to spare"},"rows":[{"id":"SHP-002","cargo":"Refrigerated pharma (reefer)","customer":"Nordmed Pharma Logistik AG","state":"green","decision":null,"slack_days":1,"worst_delay_days":0,"margin_days":1,"delay_after_decision_days":0,"margin_after_decision_days":1,"severity":null,"status":"close"},{"id":"SHP-004","cargo":"Electronics","customer":"Kempen Electronics NV","state":"green","decision":null,"slack_days":2,"worst_delay_days":0,"margin_days":2,"delay_after_decision_days":0,"margin_after_decision_days":2,"severity":null,"status":"clear"},{"id":"SHP-003","cargo":"Furniture","customer":"Wonen Direct B.V.","state":"green","decision":null,"slack_days":3,"worst_delay_days":0,"margin_days":3,"delay_after_decision_days":0,"margin_after_decision_days":3,"severity":null,"status":"clear"},{"id":"SHP-005","cargo":"Machinery","customer":"Elbe Werkzeugbau GmbH","state":"green","decision":null,"slack_days":3,"worst_delay_days":0,"margin_days":3,"delay_after_decision_days":0,"margin_after_decision_days":3,"severity":null,"status":"clear"},{"id":"SHP-006","cargo":"Industrial chemicals","customer":"Rheintal Spezialchemie AG","state":"green","decision":null,"slack_days":3,"worst_delay_days":0,"margin_days":3,"delay_after_decision_days":0,"margin_after_decision_days":3,"severity":null,"status":"clear"},{"id":"SHP-001","cargo":"Automotive parts","customer":"Bavaria Drivetrain GmbH","state":"green","decision":null,"slack_days":4,"worst_delay_days":0,"margin_days":4,"delay_after_decision_days":0,"margin_after_decision_days":4,"severity":null,"status":"clear"},{"id":"SHP-007","cargo":"Textiles","customer":"Maison Cardelle SAS","state":"green","decision":null,"slack_days":5,"worst_delay_days":0,"margin_days":5,"delay_after_decision_days":0,"margin_after_decision_days":5,"severity":null,"status":"clear"}]},"watchlist":[{"id":"SHP-002","cargo":"Refrigerated pharma (reefer)","eta":"2026-10-28","required_by":"2026-10-29","slack_days":1,"worst_delay_days":0,"margin_days":1,"reason":"Only 1 day of slack before its required-by date - any disruption on its route would break it.","events":[]}],"journey":{"title":"Where every shipment is","subtitle":"In its voyage, and in the agents' loop","rows":[{"id":"SHP-001","cargo":"Automotive parts","customer":"Bavaria Drivetrain GmbH","origin":"Shanghai","destination":"Munich","carrier":"Hapag-Lloyd","state":"green","voyage":{"status":"at sea","progress":0.56,"etd":"2026-09-23","eta":"2026-10-25","revised_eta":null,"required_by":"2026-10-29","days_to_eta":14,"basis":"estimated from ETD and ETA - not vessel tracking"},"loop":[{"key":"detected","label":"Disruption detected","done":false,"detail":"Nothing active on its route"},{"key":"decided","label":"Decision","done":false,"detail":"On plan"},{"key":"drafted","label":"Mails drafted","done":false,"detail":"Nothing to tell anyone"},{"key":"queued","label":"Queued to the TMS","done":false,"detail":"No change needed"},{"key":"approved","label":"Your approval","done":null,"detail":"recorded by the dashboard when you approve"}]},{"id":"SHP-002","cargo":"Refrigerated pharma (reefer)","customer":"Nordmed Pharma Logistik AG","origin":"Ningbo","destination":"Hamburg","carrier":"Maersk","state":"green","voyage":{"status":"at sea","progress":0.47,"etd":"2026-09-26","eta":"2026-10-28","revised_eta":null,"required_by":"2026-10-29","days_to_eta":17,"basis":"estimated from ETD and ETA - not vessel tracking"},"loop":[{"key":"detected","label":"Disruption detected","done":false,"detail":"Nothing active on its route"},{"key":"decided","label":"Decision","done":false,"detail":"On plan"},{"key":"drafted","label":"Mails drafted","done":false,"detail":"Nothing to tell anyone"},{"key":"queued","label":"Queued to the TMS","done":false,"detail":"No change needed"},{"key":"approved","label":"Your approval","done":null,"detail":"recorded by the dashboard when you approve"}]},{"id":"SHP-003","cargo":"Furniture","customer":"Wonen Direct B.V.","origin":"Shanghai","destination":"Rotterdam","carrier":"CMA CGM","state":"green","voyage":{"status":"at sea","progress":0.48,"etd":"2026-09-25","eta":"2026-10-28","revised_eta":null,"required_by":"2026-10-31","days_to_eta":17,"basis":"estimated from ETD and ETA - not vessel tracking"},"loop":[{"key":"detected","label":"Disruption detected","done":false,"detail":"Nothing active on its route"},{"key":"decided","label":"Decision","done":false,"detail":"On plan"},{"key":"drafted","label":"Mails drafted","done":false,"detail":"Nothing to tell anyone"},{"key":"queued","label":"Queued to the TMS","done":false,"detail":"No change needed"},{"key":"approved","label":"Your approval","done":null,"detail":"recorded by the dashboard when you approve"}]},{"id":"SHP-004","cargo":"Electronics","customer":"Kempen Electronics NV","origin":"Shenzhen","destination":"Antwerp","carrier":"MSC","state":"green","voyage":{"status":"at sea","progress":0.42,"etd":"2026-09-27","eta":"2026-10-30","revised_eta":null,"required_by":"2026-11-01","days_to_eta":19,"basis":"estimated from ETD and ETA - not vessel tracking"},"loop":[{"key":"detected","label":"Disruption detected","done":false,"detail":"Nothing active on its route"},{"key":"decided","label":"Decision","done":false,"detail":"On plan"},{"key":"drafted","label":"Mails drafted","done":false,"detail":"Nothing to tell anyone"},{"key":"queued","label":"Queued to the TMS","done":false,"detail":"No change needed"},{"key":"approved","label":"Your approval","done":null,"detail":"recorded by the dashboard when you approve"}]},{"id":"SHP-005","cargo":"Machinery","customer":"Elbe Werkzeugbau GmbH","origin":"Busan","destination":"Hamburg","carrier":"Hapag-Lloyd","state":"green","voyage":{"status":"at sea","progress":0.53,"etd":"2026-09-24","eta":"2026-10-26","revised_eta":null,"required_by":"2026-10-29","days_to_eta":15,"basis":"estimated from ETD and ETA - not vessel tracking"},"loop":[{"key":"detected","label":"Disruption detected","done":false,"detail":"Nothing active on its route"},{"key":"decided","label":"Decision","done":false,"detail":"On plan"},{"key":"drafted","label":"Mails drafted","done":false,"detail":"Nothing to tell anyone"},{"key":"queued","label":"Queued to the TMS","done":false,"detail":"No change needed"},{"key":"approved","label":"Your approval","done":null,"detail":"recorded by the dashboard when you approve"}]},{"id":"SHP-006","cargo":"Industrial chemicals","customer":"Rheintal Spezialchemie AG","origin":"Shanghai","destination":"Basel","carrier":"CMA CGM","state":"green","voyage":{"status":"at sea","progress":0.53,"etd":"2026-09-21","eta":"2026-10-29","revised_eta":null,"required_by":"2026-11-01","days_to_eta":18,"basis":"estimated from ETD and ETA - not vessel tracking"},"loop":[{"key":"detected","label":"Disruption detected","done":false,"detail":"Nothing active on its route"},{"key":"decided","label":"Decision","done":false,"detail":"On plan"},{"key":"drafted","label":"Mails drafted","done":false,"detail":"Nothing to tell anyone"},{"key":"queued","label":"Queued to the TMS","done":false,"detail":"No change needed"},{"key":"approved","label":"Your approval","done":null,"detail":"recorded by the dashboard when you approve"}]},{"id":"SHP-007","cargo":"Textiles","customer":"Maison Cardelle SAS","origin":"Shanghai","destination":"Lyon","carrier":"MSC","state":"green","voyage":{"status":"at sea","progress":0.39,"etd":"2026-09-29","eta":"2026-10-30","revised_eta":null,"required_by":"2026-11-04","days_to_eta":19,"basis":"estimated from ETD and ETA - not vessel tracking"},"loop":[{"key":"detected","label":"Disruption detected","done":false,"detail":"Nothing active on its route"},{"key":"decided","label":"Decision","done":false,"detail":"On plan"},{"key":"drafted","label":"Mails drafted","done":false,"detail":"Nothing to tell anyone"},{"key":"queued","label":"Queued to the TMS","done":false,"detail":"No change needed"},{"key":"approved","label":"Your approval","done":null,"detail":"recorded by the dashboard when you approve"}]}]},"scenario":null,"ran_at":null},"provider":"groq / (resolved on first call)","forwarder":"Hanseatic Freight Partners GmbH","ai":{"provider":"groq","model":"(resolved on first call)","model_source":""}}