[
  {
    "field": "distance_run_nm",
    "label_ko": "항주거리",
    "type": "number",
    "unit": "NM",
    "required": true,
    "aliases": [
      "DISTANCE RUN",
      "DIST",
      "항주거리",
      "마일"
    ],
    "normalize": null,
    "hold_if": [
      "값없음",
      "항차모호"
    ]
  },
  {
    "field": "fo_consumed_mt",
    "label_ko": "연료유 소모",
    "type": "number",
    "unit": "MT",
    "required": true,
    "aliases": [
      "FO CONSUMED",
      "FO",
      "BUNKER FO",
      "연료"
    ],
    "normalize": "kg_to_mt",
    "hold_if": [
      "값없음",
      "단위없음",
      "항차모호"
    ]
  },
  {
    "field": "do_consumed_mt",
    "label_ko": "경유 소모",
    "type": "number",
    "unit": "MT",
    "required": true,
    "aliases": [
      "DO CONSUMED",
      "DO",
      "경유"
    ],
    "normalize": "kg_to_mt",
    "hold_if": [
      "값없음",
      "단위없음"
    ]
  },
  {
    "field": "cargo_mt",
    "label_ko": "적재 화물량",
    "type": "number",
    "unit": "MT",
    "required": true,
    "aliases": [
      "CARGO",
      "CARGO ONBOARD",
      "화물"
    ],
    "normalize": "ballast_to_zero",
    "hold_if": [
      "값없음"
    ]
  },
  {
    "field": "next_port_code",
    "label_ko": "다음 기항지",
    "type": "string",
    "unit": null,
    "required": true,
    "aliases": [
      "NEXT PORT",
      "BOUND FOR",
      "기항지"
    ],
    "normalize": "port_to_locode",
    "hold_if": [
      "값없음"
    ]
  },
  {
    "field": "eta_utc",
    "label_ko": "도착 예정",
    "type": "date",
    "unit": null,
    "required": true,
    "aliases": [
      "ETA",
      "도착 예정"
    ],
    "normalize": "to_utc",
    "hold_if": [
      "값없음"
    ]
  },
  {
    "field": "avg_speed_kts",
    "label_ko": "평균 속력",
    "type": "number",
    "unit": "KTS",
    "required": false,
    "aliases": [
      "AVG SPEED",
      "SPD",
      "속력"
    ],
    "normalize": null,
    "hold_if": [
      "이상값"
    ]
  },
  {
    "field": "rob_fo_mt",
    "label_ko": "잔존 연료유",
    "type": "number",
    "unit": "MT",
    "required": false,
    "aliases": [
      "ROB FO",
      "잔유"
    ],
    "normalize": "kg_to_mt",
    "hold_if": [
      "단위없음"
    ]
  },
  {
    "field": "voyage_no",
    "label_ko": "항차 번호",
    "type": "string",
    "unit": null,
    "required": true,
    "aliases": [
      "VOYAGE",
      "VOY",
      "항차"
    ],
    "normalize": "strip_prefix",
    "hold_if": [
      "값없음",
      "항차모호"
    ]
  },
  {
    "field": "vessel_id",
    "label_ko": "선명",
    "type": "string",
    "unit": null,
    "required": true,
    "aliases": [
      "VESSEL",
      "선명",
      "본선"
    ],
    "normalize": "strip_mv_prefix",
    "hold_if": [
      "값없음"
    ]
  },
  {
    "field": "weather_note",
    "label_ko": "기상 특이사항",
    "type": "string",
    "unit": null,
    "required": false,
    "aliases": [
      "WEATHER",
      "WIND",
      "기상"
    ],
    "normalize": null,
    "hold_if": []
  },
  {
    "field": "draft_fwd_m",
    "label_ko": "선수 흘수",
    "type": "number",
    "unit": "M",
    "required": false,
    "aliases": [
      "DRAFT F",
      "흘수"
    ],
    "normalize": null,
    "hold_if": [
      "단위없음"
    ]
  }
]