How can the Voyage Status for Claim Pending and Legal Hold be identified via Data Lake?
In the reporting schema, the Voyage Status field should accurately reflect those statuses. Those status values are derived from boolean fields Forecast, Legal Hold, Claim Pending, and Cancel, also in the reporting schema.
In the database schema, those boolean fields are represented as bitflags 4, 6, 7, and 13, respectively, on voyage.flags:
select
voyage.flags & 0x0010 as forecast,
voyage.flags & 0x0040 as claimPending,
voyage.flags & 0x0080 as legalHold,
voyage.flags & 0x2000 as cancelled
from voyage
When any of those flags are set (they should be mutually exclusive), that indicates the voyage status is what the flag suggests. Otherwise, the voyage status is determined by voyage.vtype, according to the mapping described in the question: blank = Scheduled
F = Closed
E = Completed
C = Commenced (Legal Hold and Claim Pending will use status C unless set using the above)