ROCK Documentation : GSIS Reconciliation

The GSIS reconciliation process takes a batch of GSIS updates to ROCK and processes them across OTTs. Having GSIS schedules updated is important to make the right planning decisions. Furthermore it enables accurate projection of future stock. This page describes how the process is designed. 

At high level the process has the following steps:

  1. Match Summary
    In this first step the latest GSIS schedules are compared against OTTs to identify any changes on the routing information. Matching rules are applied to identify which events should be invoked.

  2. Invoke Events
    The reconciliation events (updates, mismatches, rematches omit checks) are executed done according to the flags set in the match summary.

  3. OTT Status and Flags
    As an additional step in the GSIS reconciliation logic the OTT status and flags are maintained.

Match Summary

Input data is selected for the reconciliation process in accordance with below:

Data

Notes

Criteria/How data looks

GSIS Schedules

ROCK keeps a history of 6 months GSIS data, and receive an hourly batch update for every schedule into the future. For GSIS reconciliation logic the full GSIS data is used, which is approximately  6 months back to 6 months into future.

  • Schedules from -6 months to + 6 months

OTT

When selecting the OTT data, the timeframe of available GSIS schedules are evaluated as the earliest arrival and highest departure time of each call.

  • OTTs in all status except "Cancelled"

  • Ocean OTTs (Inland OTTs are excluded as they do not have a GSIS schedule)

  • OTT Origin Arrival Time >= GSIS min arrival time

  • OTT Destination Departure Time <= GSIS max departure time

  • Destination Departure Time >= -1 month ago (keep a small tail of already finished OTTs)

The matching logic is run against each OTT and compares each of the origin and destination calls against vessel schedules.
Matching is done using the following approach, for both origin and destination:

Note: Destination matching is similar to origin, one difference is that only terminal calls happening after the origin call are considered

  1. Identify all schedules based on the following matching criteria

    • OTT VesselCode = GSIS VesselCode

    • OTT ORIGIN \ DESTINATION Call PoolCode = GSIS TerminalCode PoolCode

    • GSIS ArrTime is within N Days of OTT ORIGIN \ DESTINATION arrival time (where N is 30 days for OTTs in state Loaded, else 7 days)

    • GSIS DepTime is within N Days of OTT ORIGIN \ DESTINATION departure time (where N is 30 days for OTTs in state Loaded, else 7 days)

  2. If more than one schedule exists, the following ordering is applied

    1. Exact matches of schedule IDs aka DSC ID (descending by IsMatchingDSC = whether schedule DSC equals OTT ORIGIN \ DESTINATION DSC code)

    2. Exact matches of ORIGIN\DESTINATION site (descending by IsMatchingORIGIN\DESTINATIONSiteCode)

    3. Lowest absolute time difference of call as per schedule to OTT ORIGIN \ DESTINATION call (ASC by ArrDiffABS)

    4. In ascending order by schedule ID (unique, tiebreaker)

  3. OTT is matched by first item of ordered scheduled (rank = 1)

Sample matching data (matching an OTT Origin Call):

OTT Origin Call Data

OTT number

Origin Schedule ID

Vessel code

Origin site

Origin pool

Origin Arr Voy

Origin Dep Voy

Arrival

Departure

R19397349

11144131

H4J

MYTPPTM

MYTPP

950N

950N

2019-12-17 10:12

2019-12-21 11:22

Relevant GSIS Schedules (ordered). All schedules below match the Origin site, differences are highlighted.

Reason for rank

Schedule ID

Vessel code

Origin site

Origin pool

Origin Arr Voy

Origin Dep Voy

Arrival

Departure

1

Precise match

11144131

H4J

MYTPPTM

MYTPP

950N

950N

2019-12-17 10:12

2019-12-21 11:22

2

Different timing, but closer to OTT schedule than 3

11144127

H4J

MYTPPTM

MYTPP

949S

949S

11-12-2019 00:13

11-12-2019 13:41

3

11144135

H4J

MYTPPTM

MYTPP

952W

952W

26-12-2019 10:09

26-12-2019 21:18

Based on matched summary, each OTT is flagged according to below types, which dictate which actions are required

Criteria

CaseType

Post Processing Actions

Was Matched

Is Now Matched

Updates

Duplicate

#

Event

Run Mismatch

Run Rematch

Commit Updates

Check Omit

Yes

Yes

0

-

1

OTT still matches, but no updates

No

No

No

No

Yes

Yes

>0

Yes

2

OTT still matches, but update causes duplicate OTTs

Yes

No

No

No

Yes

Yes

>0

No

3

OTT still matches and updating is safe

No

No

Yes

Yes

No

No

-

 

4

OTT still does not match to any schedule

No

No

No

No

No

Yes

-

Yes

5

OTT now matches again, but update causes duplicate OTTs

No

No

No

No

No

Yes

-

No

6

OTT now matches again and re-matching is safe

No

Yes

No

Yes

Yes

No

-

-

7

OTT no longer matches to a schedule

Yes

No

No

No

Invoke Events

GSIS events are processed according to the event flags, following the below rules

Event Group

OTT updates

OTT log updates

Cancellations

Mismatch

  • IsGSISmatched = 0

  • Dated Schedule ID codes set to NULL

  • Mismatch event

  • Notifications are triggered

is_unlocked = OTT does not have any OTT lock, equ group lock or vessel call lock

if is_unlocked:
    OTT is Cancelled (Status updated)

Rematch

  • All routing information on OTT

  • IsGSISmatched=1

  • Rematch event

none

Normal Update

  • All routing information is updated

  • IsGSISmatched = 1

  • if updated: voyage number update event

  • if updated: origin dates update event

  • if updated: dest dates update event

none

Check OMIT

  • Omit status for origin and dest

is_ott_scope: Ott is in state A
if is_ott_scope:
	planned equ in state A cut to S
  • if origin now omit: origin omit event

  • if origin no longer omit: origin resolved omit event

  • if dest now omit: dest omit event

  • if dest no longer omit: dest resolved omit event

is_ott_scope = OttStatus IN ('S', 'A'):
new_omit = Origin is now OMIT or Dest is now OMIT

if is_ott_scope and new_omit:
	OTT state set to 'C'

OTT Status and Flags

The final step in the reconciliation process includes maintaining the status codes for OTTs

Step

Applies to

Condition

Action

Shown in Activity Log

Set marine OTTs to LOADED

Marine OTTs in status SUGGESTED or APPROVED

There is Actual Arrival coming from GSIS

Set OTT state to LOADED

Yes

Revert outdated Loaded state

Marine OTTs in status LOADED

The OTTs have neither Actual Arrival set, nor currently matching containers (due to schedule changes, Ocean Reconciliation might not attribute the containers to this OTT any more)

Set OTT state to the state they were in prior to Loaded

Yes

Set inland OTTs to LOADED

Marine OTTs in status SUGGESTED or APPROVED

Actual Arrival date from GSIS has been reached

Set OTT state to LOADED

Yes

Set dummy OTTs to LOADED

Dummy OTTs (type 'xx%')

Corridor arrival date has been reached

Set OTT state to LOADED
All planned equipment is marked as Loaded

Yes

Handle optimal voyage status

Marine OTTs

Mark as optimal voyage, if origin or destination site are NOT called more than once within the voyage

No



Attachments:

image2020-1-22_8-50-59.png (image/png)
Overview (application/vnd.jgraph.mxfile)
Overview.png (image/png)
Overview (application/vnd.jgraph.mxfile)
Overview.png (image/png)
Overview (application/vnd.jgraph.mxfile)
Overview.png (image/png)
Overview (application/vnd.jgraph.mxfile)
Overview.png (image/png)
Overview (application/vnd.jgraph.mxfile)
Overview.png (image/png)
Overview (application/vnd.jgraph.mxfile)
Overview.png (image/png)
Overview (application/vnd.jgraph.mxfile)
Overview.png (image/png)
GsisMatchingExample.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
GsisMatchingExample.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
GsisMatchingExample.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
GsisMatchingExample.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
GsisMatchingExample.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
GsisMatchingExample.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
GsisMatchingExample.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
GsisMatchingExample.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)