[
  {
    "inbound_id": "in001",
    "received_at": "2026-06-03T12:10:00+00:00",
    "channel": "email",
    "vessel_raw": "MV HANARO",
    "voyage_no_raw": "V-24",
    "raw_text": "DISTANCE RUN: 312 NM\nFO CONSUMED: 28.4 MT\nDO CONSUMED: 1.2 MT\nCARGO: 41,200 MT\nNEXT PORT: SINGAPORE\nETA: 2026-06-08 06:00",
    "is_resubmit": false,
    "attachment_only": false
  },
  {
    "inbound_id": "in002",
    "received_at": "2026-06-04T12:05:00+00:00",
    "channel": "messenger",
    "vessel_raw": "M/V HANARO",
    "voyage_no_raw": "V-24",
    "raw_text": "오늘 298마일 뛰었고 FO 27100kg 썼습니다. 화물 그대로고 싱가포르 8일 아침 도착 예정입니다.",
    "is_resubmit": false,
    "attachment_only": false
  },
  {
    "inbound_id": "in003",
    "received_at": "2026-06-05T12:02:00+00:00",
    "channel": "satcom",
    "vessel_raw": "MV SEJONG",
    "voyage_no_raw": "S-11",
    "raw_text": "DIST 283 / FO 31.0 / CARGO 58900 / BUSAN 09일 1400",
    "is_resubmit": false,
    "attachment_only": false
  },
  {
    "inbound_id": "in004",
    "received_at": "2026-06-06T12:04:00+00:00",
    "channel": "messenger",
    "vessel_raw": "MV SEJONG",
    "voyage_no_raw": "S-11",
    "raw_text": "275마일 뛰었습니다. FO 29.8 썼고 DO 는 아직 집계 안 됐습니다.",
    "is_resubmit": false,
    "attachment_only": false
  },
  {
    "inbound_id": "in005",
    "received_at": "2026-06-06T15:40:00+00:00",
    "channel": "messenger",
    "vessel_raw": "MV SEJONG",
    "voyage_no_raw": "S-11",
    "raw_text": "아까 빠뜨린 DO 0.9 MT 입니다.",
    "is_resubmit": true,
    "attachment_only": false
  },
  {
    "inbound_id": "in006",
    "received_at": "2026-06-07T12:00:00+00:00",
    "channel": "email",
    "vessel_raw": "MV ARIRANG",
    "voyage_no_raw": "A-07",
    "raw_text": "DISTANCE RUN 287 NM\nBUNKER FO 26.5 MT DO 0.9 MT\nCARGO ONBOARD 33,400 MT\nBOUND FOR SHANGHAI ETA 08/06 22:00",
    "is_resubmit": false,
    "attachment_only": false
  },
  {
    "inbound_id": "in007",
    "received_at": "2026-06-08T12:00:00+00:00",
    "channel": "messenger",
    "vessel_raw": "MV HANARO",
    "voyage_no_raw": null,
    "raw_text": "305마일, FO 28.0 MT, 화물 41200, 싱가포르 도착 예정 그대로입니다.",
    "is_resubmit": false,
    "attachment_only": false
  },
  {
    "inbound_id": "in008",
    "received_at": "2026-06-09T12:00:00+00:00",
    "channel": "email",
    "vessel_raw": "MV DAEHAN",
    "voyage_no_raw": "D-24",
    "raw_text": "--- VOYAGE 24 ---\nDISTANCE RUN: 190 NM\nFO CONSUMED: 18.2 MT\n--- VOYAGE 25 ---\nDISTANCE RUN: 96 NM\nFO CONSUMED: 9.4 MT\nCARGO: 22,000 MT\nNEXT PORT: ULSAN",
    "is_resubmit": false,
    "attachment_only": false
  },
  {
    "inbound_id": "in009",
    "received_at": "2026-06-10T12:00:00+00:00",
    "channel": "upload",
    "vessel_raw": "MV DAEHAN",
    "voyage_no_raw": "D-25",
    "raw_text": "",
    "is_resubmit": false,
    "attachment_only": true
  },
  {
    "inbound_id": "in010",
    "received_at": "2026-06-11T12:00:00+00:00",
    "channel": "satcom",
    "vessel_raw": "MV SEJONG",
    "voyage_no_raw": "S-12",
    "raw_text": "DIST 268 / SPD 32.0 / FO 28.9 / CARGO 58900 / BUSAN",
    "is_resubmit": false,
    "attachment_only": false
  },
  {
    "inbound_id": "in011",
    "received_at": "2026-06-12T12:00:00+00:00",
    "channel": "email",
    "vessel_raw": "MV ARIRANG",
    "voyage_no_raw": "A-08",
    "raw_text": "DISTANCE RUN 244 NM\nFO 24.1 MT DO 0.8 MT\nCARGO 0 MT (BALLAST)\nNEXT PORT Shanghai Port\nETA 2026-06-14 10:00",
    "is_resubmit": false,
    "attachment_only": false
  },
  {
    "inbound_id": "in012",
    "received_at": "2026-06-03T12:11:00+00:00",
    "channel": "email",
    "vessel_raw": "MV HANARO",
    "voyage_no_raw": "V-24",
    "raw_text": "DISTANCE RUN: 312 NM\nFO CONSUMED: 28.4 MT\nDO CONSUMED: 1.2 MT\nCARGO: 41,200 MT\nNEXT PORT: SINGAPORE\nETA: 2026-06-08 06:00",
    "is_resubmit": false,
    "attachment_only": false
  }
]