requirements specification [draft] appendix 3.1 … requirements danpilot ver… · requirements...

108
1 Requirements Specification [DRAFT] Appendix 3.1 Maritime Planning and Dispatch System (MPDS) Danpilot Version 0.7 – Aimed at Suppliers [Disclaimer and note to the Supplier: This document is part of the K02 contract and Appendix to K02. It is a draft version with inconsistent requirements. Danpilot hold the right to add, change or delete requirements, use cases and/or other information. The purpose of this document is to give the Supplier an opportunity to see the preliminary requirements and specification to give their input in order to create the best possible final requirement specification]

Upload: hoangnhu

Post on 25-Mar-2018

231 views

Category:

Documents


1 download

TRANSCRIPT

1

Requirements Specification [DRAFT]

Appendix 3.1

Maritime Planning and Dispatch System (MPDS)

Danpilot

Version 0.7 – Aimed at Suppliers

[Disclaimer and note to the Supplier: This document is part of the K02 contract and

Appendix to K02. It is a draft version with inconsistent requirements. Danpilot hold

the right to add, change or delete requirements, use cases and/or other information.

The purpose of this document is to give the Supplier an opportunity to see the

preliminary requirements and specification to give their input in order to create the

best possible final requirement specification]

2

Table of content: Introduction to requirements specification ...................................................................................................... 4

0. Danpilot specific optimisation, planning, dispatching and execution requirements .................................... 4

Introduction ................................................................................................................................................... 4

0.1 Defining the Primary Actors and their relation to requirements and use cases ..................................... 5

Primary Actors ........................................................................................................................................... 5

Use Case Context Diagram ........................................................................................................................ 6

0.2 High level business processes and their relation to use cases ................................................................ 7

0.2 Requirements for System supporting the complexities in dispatching ................................................. 20

0.4 Requirements for System supporting the planning a transit pilotage within Route T .......................... 23

0.5 Optimization of resources ..................................................................................................................... 25

1. Other Requirements .................................................................................................................................... 37

1.1 Functional requirements orderprocess: ................................................................................................ 37

1.2 Functional requirements planning and dipatching: .............................................................................. 38

1.3 Functional requirements reporting: ...................................................................................................... 41

1.4 Functional requirements sales data: ..................................................................................................... 43

Functional requirements finance/ billing data: ........................................................................................... 44

Functional requirements wage data: .......................................................................................................... 44

2. Non functional requirements ...................................................................................................................... 45

2.1 Requirements for Architecture, Integration and Security ..................................................................... 45

2.1.1 Architecture .................................................................................................................................... 45

2.1.2 Integration ...................................................................................................................................... 47

2.1.3 Security ........................................................................................................................................... 51

2.1.4 Non- and functional requirements data management: ................................................................. 53

2.2 Non-Functional requirements master data including certificates: ....................................................... 55

2.3 Data management ................................................................................................................................. 57

2.4 Non-funtional requirements 2-way communication ............................................................................. 60

2.5 Integrations ........................................................................................................................................... 61

Integration: SeaWeb ................................................................................................................................ 61

Integration: GateHouse (AIS-data) .......................................................................................................... 64

Integration: Elektronisk Lodsseddel (ELS) / SafePilot .............................................................................. 66

Integration: GatShip ................................................................................................................................ 69

Integration: Navision ............................................................................................................................... 71

3

Integration: PDC ...................................................................................................................................... 76

Integration: Integration/ETL process for Data Warehouse and BI .......................................................... 78

Integration: Master Data Manager (MADAM) ........................................................................................ 80

3. Non-functional requirements - user experience: ........................................................................................ 81

General requirements ................................................................................................................................. 81

User interfaces should be adapted according to the Actor (and thereby role) .......................................... 82

User involvement ........................................................................................................................................ 83

Design guidelines ......................................................................................................................................... 83

Messages and help ...................................................................................................................................... 84

Technical requiremets regarding the UI ...................................................................................................... 85

4. Information Model ...................................................................................................................................... 86

Introduction ................................................................................................................................................. 86

Order-related Data .................................................................................................................................. 86

Certificate-related Data ........................................................................................................................... 87

Geographical Data Model ........................................................................................................................ 88

5. Business rules .............................................................................................................................................. 91

Current Union Agreements (rules) .............................................................................................................. 91

Pilots: ....................................................................................................................................................... 91

Boatmen 1: .............................................................................................................................................. 91

Boatmen 2: .............................................................................................................................................. 91

State agreements .................................................................................................................................... 92

Current Union Agreements (rules) and their interpretation ....................................................................... 93

Pilots ........................................................................................................................................................ 93

Possible changes to working rules for pilots ............................................................................................. 103

Standard Operating Procedures ................................................................................................................ 107

4

Introduction to requirements specification This requirement specification is a sub-appendix to the appendix for the K02 contract. This appendix will

explain the requirements to the new System based on the business needs of Danpilot.

For general understanding of Danpilot and it’s business please refer to Appendix 3.1.a

0. Danpilot specific optimisation, planning, dispatching and execution

requirements

Introduction The requirements consist of three different of sets of functional requirements:

1) Processoverview and detailed process descripstions (Both as-is and to-be)

2) Requirements specified in requirement specification boxes

3) Requirements specified in use cases

2) and 3) are linked to processes when possible so the Supplier can get a consistant overview of the

different processes, the business needs and the relation between processes, requirements and use cases.

5

0.1 Defining the Primary Actors and their relation to requirements and use cases

Primary Actors The following Actors will use the System or parts of the System:

Dispatcher, user: This is one of the most common users of the System. The dispatcher will have a

central role in using the System everyday and will use a wide range of the functionality of the

System, however with focus on dispatch and execution.

Dispatcher, superuser: This is like the dispatcher, user one of the most common user in the System.

The dispatcher will have a central role in using the System everyday and will use a wide range of

the functionality of the System. On top of the role as user, the superuser will have a role in testing

new functionality, communication with Dispatch Manager etc.

Dispatch Manager: This role will use parts of the System primarily as a mangement role seeking

information on execution, KPI’s, reports etc. Will not use the planning and dispatch functions, but

will have to have a general knowledge of the complete System.

Planning and Dispatch Manager: As the dispatch Manager

Superuser/Administrator: Will maintain e.g. optimsation parameters a long with correction of

materdata etc.

Pilots: Pilots will use the 2 way user interfaces to reporting i.e.change of ETA, bording times etc.

They will not use the planning and dispatch functions, but see reports, information about new and

completed orders and personally registered activities etc.

Boatmen: As the Pilots they will use the 2 way user interfaces to reporting, pilot boat sail plans,

bording times etc.

(Roster) Planners: This is one of the most common user in the System. The (Roster) Planner will

have a central role in using the System everyday and will use a wide range of the functionality of

the System, however with focus on Roster planning

Sales Department (Not shown in Use Case Context Diagram): The Sales Employee will use a limited

range of the functionality of the System, however with focus on order creation and shipping

information

All other personel : Will use 2 way communication part of the system in relation to holiday request

etc.

Business Analyst (Not shown in Use Case Context Diagram): Data access for ad-hoc analysis

6

Use Case Context Diagram Fejl! Henvisningskilde ikke fundet. below gives an overview of the context for the System exists and the

main use cases for each actor/role.

Figure 1. Use Case Context diagram for the Maritime Planning and Dispatch System (MPDS)

[This figure is not complete and use cases not part of published material]

7

0.2 High level business processes and their relation to use cases

In the following chapter Danpilots as-is and to-be the high level business processes are explained in order

to make the Supplier aware of the overall context that the requirement specification is relating to.

Furthermore the complexity in planning and dispatching is explained along with the requirements for

optimisation.

1. Introduction

Section 2 describes at a high level the as-is-processes for planning and dispatching of pilots at DanPilot. The

descriptions will not go into many details but are meant as an illustration of the as-is-workflow for the most

important processes. Section 3 describes which extensions there will be needed to include in the processes

in a near future with full liberalization of the Danish pilotage market in 2020.

It will be expected that planning and dispatching of others staff categories e.g. boatmen are easily

integrated with the processes described below. It is also assumed that the System is capable of allocating

pilot boats and company cars to the actual needs for transportation of boatmen and pilots.

Figure 1 below provides an overall overview of the described as-is-processes.

Figure 1: High-level processes for planning and dispatching pilots

5 months before

operation

3 months

before

operation

0-3 months

before

operation

Day of operation

(+/- 24 hours)After operations

Pilots

Rostering

Dispatching

Customers

Invoicing

Payroll

Demand of pilotage 11

Request for changes to ETA or ETD10

Calling in on overtime9

Allocating and reallocating pilots to orders.

Planning of rest periods for pilots.

Planning of travels for pilots.

Alarms for aw aken pilots and boatmen

8

Data for payroll15

Data for Invoicing14

Reporting

Analyzing

BI-data

15

Requests

for days off

and

vacation

1

Requests for time off, release to others tasks, and absence etc. 3

Execution of orders.

Updates and status of current pilotages.

2

Maintenance and update of rosters

6

Rostering

4

Announ-

cement

of roster

5

Ordering of

pilotage

12

Changes to orders

13

Available staff on duty or stand by 7

8

2. AS-IS processes

As shown in figure 1 the planning of rosters starts in 5 month advance of the last day in 3 month rosters.

The participants in the planning or dispatching processes are pilots, planners, dispatchers, customers, and

bookkeepers. For Primary Actors, please refer to section XX.

2.1 Time dimension

The rosters are announced quarterly. One half of the pilots is rostered for January-March, April-June, July-

September, and October-December. The other half of the pilots is one month staggered i.e. February-April,

May-July, August-October, and November-January.

Rosters are announced the 10th in the month before the first day in the roster, e.g. the roster for January-

March will be announced no later than 10th of December. Before the rosters are created the pilots may

submit request for days off, days of vacation1 etc. The deadline for submission of request to the roster are

typically 3 weeks before the 10th. That means that the deadline for request regarding the roster for

December-March will be the 20th of November, cf figure 2.

Figure 2: Example of deadlines in the rostering process

After the announcement of the rosters the planners will update the rosters with changes that might occur.

At the day of operation, the dispatchers receive orders from our customers. Orders are received with the

following notices

At least 18 hours prior to ETA for transit pilotage.

At least 4 hours2 prior to departure from port, and 24 hours if pilotage is requested to port.

1 Please notice that others deadlines may apply in accordance to the Danish Holiday Act regarding the summer and

winter holidays. 2 For a few ports the notice is only 1 hour

Deadline for

submission of requests

Deadline for

announcement Roster period

9

2.2 Pilots

Figure 3: Processes involving pilots

Process

no.

Description

1 Prior to the rostering pilots may submit request3 for dates where they want to have either

duty off, days off, or vacation. If possible the planners will respect those requests for avoiding

a day of duty. Please refer to use case ID XX

2 The executing of the orders is carried out in close dialogue with the dispatchers, meaning

coordinate and agree on

when to rest

when to be piloting on the bridge

how and when to travel on land between orders

when and where to be sailed in pilot boat

coordination of changes to ETA4 and/or ETD5

information about eventually changes of pilots along the route

3 Per year a pilot has 153 duty days, 12 standby duties, 51 off duty days, 119 days off and 30 days of vacation in total

365 days. 4 Estimated time of arrival for the ship which have ordered pilotage

5 Estimated time of departure for the ship which have ordered pilotage

5 months before

operation

3 months

before

operation

0-3 months

before

operation

Day of operation

(+/- 24 hours)After operations

Pilots

Rostering

Dispatching

Customers

Invoicing

Payroll

Demand of pilotage 11

Request for changes to ETA or ETD10

Calling in on overtime9

Allocating and reallocating pilots to orders.

Planning of rest periods for pilots.

Planning of travels for pilots.

Alarms for aw aken pilots and boatmen

8

Data for payroll15

Data for Invoicing14

Reporting

Analyzing

BI-data

15

Requests

for days off

and

vacation

1

Requests for time off, release to others tasks, and absence etc. 3

Execution of orders.

Updates and status of current pilotages.

2

Maintenance and update of rosters

6

Rostering

4

Announ-

cement

of roster

5

Ordering of

pilotage

12

Changes to orders

13

Available staff on duty or stand by 7

10

Process

no.

Description

setting alarms if the pilot wants to be waked from his rest period before the next

executing the next order

Please refer to use case ID XX

The pilot will also continually update the dispatchers about the progress in the actual pilotage e.g.

when the did the executing of the pilotage start i.e. when boarded the ship

expected completion time of the pilotage

when the did the executing of the pilotage end i.e. when disembarked the ship

send message as soon the pilot is ashore again Please refer to use case ID XX

3 After the announcement of the rosters the pilots still can request for time off or other

changes to his roster. If possible those requests will be implemented in the roster.

The rosters will also be updated in accordance to sick leave and reported recovery.

It may also happen that pilot are allocated to internal projects, meetings etc. and therefore

not can be on duty.

Please refer to use case ID XX

11

2.3 Rostering

Figure 4: Processes involving planners

Process

no.

Description

4 The rostering is based on the received requests for days off etc. from the pilots and the rules

for the number of the different day types6 per year

duty days

off duty days

days off

vacation days

The duty days shall be given in periods of minimum 3 days and maximum 9 days in a row. it seems that the most optimal7 length is 7 or preferably 8 days. The rosters (inclusive a buffer for sick leaves) shall also ensure that the decided total number of pilots are on duty per date, which e.g. could be determined by a week or month profile.

6 This given list is the most common day types, but please take into consideration that there is numerous other day

types. Please also notice that DanPilot in cooperation with the trade union are experimenting with new day types e.g. a 24-hour duty starting with 12 hours of standby duty followed by 12 off duty hours. 7 In accordance to the rules for rest periods a sequence of 7 or 8 duty days in a row will be give the dispatchers the

most degrees of freedom.

5 months before

operation

3 months

before

operation

0-3 months

before

operation

Day of operation

(+/- 24 hours)After operations

Pilots

Rostering

Dispatching

Customers

Invoicing

Payroll

Demand of pilotage 11

Request for changes to ETA or ETD10

Calling in on overtime9

Allocating and reallocating pilots to orders.

Planning of rest periods for pilots.

Planning of travels for pilots.

Alarms for aw aken pilots and boatmen

8

Data for payroll15

Data for Invoicing14

Reporting

Analyzing

BI-data

15

Requests

for days off

and

vacation

1

Requests for time off, release to others tasks, and absence etc. 3

Execution of orders.

Updates and status of current pilotages.

2

Maintenance and update of rosters

6

Rostering

4

Announ-

cement

of roster

5

Ordering of

pilotage

12

Changes to orders

13

Available staff on duty or stand by 7

12

Process

no.

Description

The pilots are depending on their certificates divided into several rosters, where the pilots in each roster has similar certificates. The smallest group in a roster is currently 5 pilots and the biggest is more than 30 pilots. The small roster-groups are those for port pilots8 and the biggest are those for transit pilots. Each roster shall ensure that at least the decided number of pilots will be on duty, e.g. in a 5 pilots roster there at least shall be given 2 duty days per date. All pilots in a roster shifts at the same time e.g. 12:00. The most common times for shifts are 12:00 and 24:00. At the time being DanPilot has 164 pilots, of which approximately 10 are on part-time employed. The planners shall also take into consideration that a period of duty days (including standby duties) may not start or end in the weekends or holidays. Please refer to use case ID XX

5 When the rosters are ready the are announced to the pilots by email and are in principle fixed for the coming period of 3 months.

6 Even though the rosters after announcement are fixed there will always be changes, cf.

process no. 3. Therefore, the planners on daily basis maintain the rosters to ensure that they

always are updated.

8 Please be aware of that port pilot also are capable for transit pilotages. But normally a transit pilot does not have

certificates to any ports. A port pilot does not have certificates to all ports but only to a limited number of ports.

13

2.4 Dispatching

Figure 5: Processes involving dispatchers

Process

no.

Description

7 The it-System for dispatching are always updated with the latest changes to the pilot rosters at the day of operation. This ensure that the dispatchers always9 are updated with the status per pilot i.e. who are on duty, off duty, day off, and vacation.

8 Based om the incoming orders (and changes to orders) the dispatchers allocate pilots to the pilotages. When doing that, dispatchers consider

where will pilots be located when the pilotages start?

where will the pilots end their pilotages?

what are the status of the pilots’ previous rest periods?

how can the pilots have their rest periods during and after the pilotage?

shall there be change of pilots during the pilotage?

which pilot boat will be in operation in connection to the pilotage?

how and when shall the pilots travel on land. And will it be by taxi, company car, bus, train, or airplane?

How robust is the assignments regarding changes to ETA10 and ETD?

9 However, Danpilot has some problems regarding updating the rosters in weekends as the planners only are working

normal office hours.

5 months before

operation

3 months

before

operation

0-3 months

before

operation

Day of operation

(+/- 24 hours)After operations

Pilots

Rostering

Dispatching

Customers

Invoicing

Payroll

Demand of pilotage 11

Request for changes to ETA or ETD10

Calling in on overtime9

Allocating and reallocating pilots to orders.

Planning of rest periods for pilots.

Planning of travels for pilots.

Alarms for aw aken pilots and boatmen

8

Data for payroll15

Data for Invoicing14

Reporting

Analyzing

BI-data

15

Requests

for days off

and

vacation

1

Requests for time off, release to others tasks, and absence etc. 3

Execution of orders.

Updates and status of current pilotages.

2

Maintenance and update of rosters

6

Rostering

4

Announ-

cement

of roster

5

Ordering of

pilotage

12

Changes to orders

13

Available staff on duty or stand by 7

14

Process

no.

Description

How well are ports covered when ports pilots are doing transit pilotages?

Which pilots are close to the end of their period of duty days?

Which pilots will start on their period of duty days in the next hours?

Is it possible11 to serve more than one ship with only one pilot boat trip? Based on such considerations the dispatchers choose the most cost effective assignments of pilots to pilotages. If assigned pilots (or boatmen operating the planned pilot boats) want to be waked or have notice x minutes/hours prior to their tasks the dispatcher will set an alarm in the dispatching System. Please refer to use case ID XX

9 If the pilots on duty not can cover the actual orders the dispatchers must call pilots in on

overtime. Calling in on overtime will happen in accordance to existing agreement, currently in

the following steps

1. calling in pilots with the needed certificates on standby

2. calling in pilots with the needed certificates on off duty

3. calling in pilots with the needed certificates on day off

4. calling in pilots with the needed certificates on vacation

Pilots on standby are obliged to accept overtime when asked. Pilots on off duty, day off, or vacation may refuse to accept overtime. If step 1-4 not are enough to cover the current demand the dispatcher may return to step 2 (pilots on off duty) and force them to accept overtime as they can not refuse the second call12.

10 If the incoming orders piles up to a peak which is impossible to cover either due to shortage

of pilots with the right certificates or due to shortage of boatmen or pilot boats the

dispatchers will try to influence the demand. This can be done by notifying the ships about

changes to requested ETA or ETD caused by shortage of resources at DanPilot.

11 The dispatcher receives incoming orders by DanPilot’s homepage, email, phone or directly in

the dispatching System by an API.

Incoming orders are (except orders received automatically13) manually entered into the

dispatching System.

Please refer to use case ID XX

10

ETAs and ETDs are continuously (re)calculated either manually or (as an experiment) automatically based on real time AIS-signals from the ships (AIS = Automatic Identification System). The AIS-based ETAs and ETDs are recently integrated in the current dispatching system. 11

To support such an overview and following decision DanPilot is currently experimenting with the use of real time AIS-updated time-space-diagrams for the pilotages in Great Belt. 12

That is why the day type not are day off but off duty. A pilot has 51 off duty days which often are place just before or after a period of duty days. 13

Currently DanPilot only can receive orders automatically from Blue Waters operations at the port in Esbjerg i.e. only a few orders per days. Next step will be to automatically receive all orders from Blue Water. Third step will be to offer this opportunity to all interested shipbrokers so that probably 50% of all port pilotages can be received automatically in the dispatching system.

15

Currently the dispatching of historically reasons are divided into three areas north, south, and east.

The north-dispatcher takes care of south-bound transit pilotages through Great Belt and

pilotages at the northern ports.

The south-dispatcher takes care of north-bound transit pilotages through Great Belt and

pilotages at the southern ports.

The east-dispatcher takes care of transit pilotages through Sound and pilotages at the

eastern ports.

In future we will prefer that the dispatching are done global for the entire operation in Danish

waters instead of sub optimize 3 different areas. Please refer to use case ID XX

There are other types of pilotages than mentioned in the table above. Those are bunkering and

ship-to-ship operations which involves 2 two ships and normally 1 pilot at a given position in the

open sea. This kind of pilotages are also handled in the dispatching System.

16

2.5 Customers

Figure 6: Processes involving customers

Process

no.

Description

12 Most commonly customers request for pilotages by mail or by our homepage. Orders can also be given by phone or entered directly into the dispatching System cf. process no. 11.

13 As orders are given with up 24-hour notice ETA or ETD may change due to weather conditions or unforeseen incidents when loading or unloading the ship in the port. When such circumstances occur, the customer will notify DanPilot and a new ETA or ETD will be entered into the dispatching System. Please refer to use case ID XX

5 months before

operation

3 months

before

operation

0-3 months

before

operation

Day of operation

(+/- 24 hours)After operations

Pilots

Rostering

Dispatching

Customers

Invoicing

Payroll

Demand of pilotage 11

Request for changes to ETA or ETD10

Calling in on overtime9

Allocating and reallocating pilots to orders.

Planning of rest periods for pilots.

Planning of travels for pilots.

Alarms for aw aken pilots and boatmen

8

Data for payroll15

Data for Invoicing14

Reporting

Analyzing

BI-data

15

Requests

for days off

and

vacation

1

Requests for time off, release to others tasks, and absence etc. 3

Execution of orders.

Updates and status of current pilotages.

2

Maintenance and update of rosters

6

Rostering

4

Announ-

cement

of roster

5

Ordering of

pilotage

12

Changes to orders

13

Available staff on duty or stand by 7

17

2.6 Bookkeepers

Figure 7: Processes involving bookkeepers

Process

no.

Description

14 Based on data from the dispatching System customers are invoiced for pilotages. Today this process is almost 100% manually and are carefully controlled as it often happens that data received from the dispatchers (and/or the dispatching System) are incomplete. Please refer to use case ID XX

15 Based on data from the dispatching System the salaries for the pilots are calculated. This includes calculations of allowances for overtime, which depends on which day types the overtime were performed. Please refer to use case ID XX

5 months before

operation

3 months

before

operation

0-3 months

before

operation

Day of operation

(+/- 24 hours)After operations

Pilots

Rostering

Dispatching

Customers

Invoicing

Payroll

Demand of pilotage 11

Request for changes to ETA or ETD10

Calling in on overtime9

Allocating and reallocating pilots to orders.

Planning of rest periods for pilots.

Planning of travels for pilots.

Alarms for aw aken pilots and boatmen

8

Data for payroll15

Data for Invoicing14

Reporting

Analyzing

BI-data

15

Requests

for days off

and

vacation

1

Requests for time off, release to others tasks, and absence etc. 3

Execution of orders.

Updates and status of current pilotages.

2

Maintenance and update of rosters

6

Rostering

4

Announ-

cement

of roster

5

Ordering of

pilotage

12

Changes to orders

13

Available staff on duty or stand by 7

18

2.7 Follow-up

Figure 8: Follow-up processes

Process

no.

Description

16 Reporting: On regularly basis a number of reports are made. Some reports are made almost automatically other report are made manually. Examples are

On monthly basis, several KPI’s are reported to the management.

On daily basis, the development in revenue and overtime are reported to both management and employees responsible for planning and dispatching

But many more reports will be requested if they can be made automatically, e.g. the daily number of pilots who shifts at 12:00 o’clock. Please refer to use case ID XX Analyzing: A lot of ad hoc analyzes are done based on data extractions from different databases, which may be expected to be fully integrated in the next generation of a planning and dispatching System. Some examples of ad hoc analysis could be

How does the distribution of pilotages in and out of ports broken down to weekdays and hours looks?

Can peaks or coincidences in the demand explain extreme much overtime at a certain

5 months before

operation

3 months

before

operation

0-3 months

before

operation

Day of operation

(+/- 24 hours)After operations

Pilots

Rostering

Dispatching

Customers

Invoicing

Payroll

Demand of pilotage 11

Request for changes to ETA or ETD10

Calling in on overtime9

Allocating and reallocating pilots to orders.

Planning of rest periods for pilots.

Planning of travels for pilots.

Alarms for aw aken pilots and boatmen

8

Data for payroll15

Data for Invoicing14

Reporting

Analyzing

BI-data

15

Requests

for days off

and

vacation

1

Requests for time off, release to others tasks, and absence etc. 3

Execution of orders.

Updates and status of current pilotages.

2

Maintenance and update of rosters

6

Rostering

4

Announ-

cement

of roster

5

Ordering of

pilotage

12

Changes to orders

13

Available staff on duty or stand by 7

19

Process

no.

Description

date?

How can we forecast the demand?

BI-data: As DanPilot historically have acquired many stand-alone it-Systems data from the dispatching System are made available for our BI.

Requirement#0.2.1: Processes – Support of processes

Category: Requirement Type: Functional

Description: The System should support the above mentioned as-is processes including use cases ID 3,

ID 4.

Comment:

3. Examples of TO-BE-expansions to current processes

3.1 Subsidiaries and cooperation

As the pilotage market at Danish waters will be fully liberalized in 2020 it may be possible that DanPilot in

one form or another will cooperate with other pilot service companies.

Requirement#0.2.2: Processes - Subsideriaries

Category: Requirement Type: Functional

Description: The System should support more than one pilot service provider as DanPilot has

subsidiaries e.g.

our subsidiary (Limfjord Pilot) operating at Limfjorden

our subsidiary (Greenland Pilot Service) operating at Greenland

cooperation with other pilot service companies may also be possible

Comment:

The character of planning and dispatching at Limfjord Pilot can be compared with the processes at DanPilot

but in smaller scale (less than 10 pilots) and other working agreements with the unions are applied.

The pilot service at Greenland differs much from the processes at DanPilot as schedules for the cruise ships

are known with several month advances and two pilots will be provided to each ship for several days.

Furthermore, a pilotage e.g. begins at Iceland and ends in Canada. Therefore, also the working agreements

differs from the ones in DanPilot.

20

3.2 Groups of employees

Requirement#0.2.3: Groups of employees

Category: Requirement Type: Functional

Description: The System i.e. the planning and dispatching System shall be capable to deal with different

groups of employees, e.g.

Planning and dispatching of pilots, currently approximately 160 pilots

Planning and dispatching of boatmen, currently approximately 90 boatmen

Planning (and dispatching) of dispatchers, currently 18 dispatchers

Planning i.e. registration of holiday, absence etc. for administrative staff

Comment:

0.2 Requirements for System supporting the complexities in dispatching The dispatchers will in the future dispatch several resources

- Pilots

- Boatmen

- Pilotboats

- Company cars (or other travel)

Dispatching pilots and boatmen

Dispatching pilots includes:

- Plan pilotages

- Allocate pilot to pilotages

- Plan rest periods

- Call in for overtime (if needed)

- Make sail plans for pilotboats

- Plan travelling ashore (where to travel and how to travel)

o Taxi

o Public transport i.e. train and/or bus

o Company car i.e. picked up by a boatman

o By airplane

Dispatching boatmen includes:

- Allocate boatmen sail plan

- Plan rest periods

- Call in for overtime (if needed)

- Allocate boatmen to transportation of pilot in company cars

21

Making sail plans

Making sail plans for pilot boats includes:

- Define tasks for pilot boats e.g. by using time-space-diagrams (already developed and not part of

scope, hovewer the planning process should include these) to identify possibilities for saving a boat

trip if one boat trip can serve two or more ships

- Allocate pilot boats to boat trips in accordance to sail plan

Transportation of by company cars With the new hub-structure in place it will be possible to realize savings on trips by taxi as the pilots often

can travel with the boatmen between the boat stations and the hub.

It is assumed that the dispatchers are able to track the company cars and plan the use of the company cars

operated by the boatmen in order to reduce the overall cost for transportation.

Requirement#0.2.4: Complexity of planning - Pilots

Category: Requirement Type: Functional

Description: The System should support the complexity mentioned in section 0.2:

Short term planning, dispatching and executing pilots includes:

- Plan pilotages

- Allocate pilot to pilotages

- Plan rest periods

- Call in for overtime (if needed)

- Make sail plans for pilotboats (utilising time-space-diagrams)

- Plan travelling ashore (where to travel and how to travel)

o Taxi

o Public transport i.e. train and/or bus

22

o Company car i.e. picked up by a boatman

o By airplane

Comment: See use case XX

Requirement#0.2.5: Complexity of planning - Boatsmen

Category: Requirement Type: Functional

Description: The System should support the complexity mentioned in section 0.2:

Short term planning and dispatching executing boatmen includes:

- Allocate boatmen sail plan (utilising time-space-diagrams)

- Plan rest periods

- Call in for overtime (if needed)

- Allocate boatmen to transportation of pilot in company cars

Comment: See use case XX

Requirement#0.2.6: Complexity of planning, shortterm planning, dispatchingand execution -

Category: Requirement Type: Functional

Description: The System should support the use cases ID 7.a, ID 7.b, ID 8.a, ID 8.b, ID 9.a, ID 9.b, ID

10.a, ID 10.b

Comment:

23

0.4 Requirements for System supporting the planning a transit pilotage within Route T

A pilotage from Allinge to Skagen may last

for 30 hours. Such a long pilotage needs

more than one pilot.

Due to an unbalanced demand where 75% of

the pilotages within Route T are northbound

transit pilots often travel ashore from Skagen

to Gedser or maybe even to Allinge.

To address this, pilotages may be divided

into a number of legs where pilots can be

changed.

Non stop pilotage:

In the case of a nonstop pilotage DanPilot provides 2 pilots from the starting point to the ending point of

the pilotage. That makes it possible always to have one pilot on the bridge and let the other pilot rest. This

will be the fastest possible service but also the costliest. This service is per default offered to VIP customers

and can be requested by other customers as an add-on product.

1+2 pilotage: In the case of a 1+2 pilotage DanPilot at the beginning only provide 1 pilot. After a while the second pilot

will onboard the ship and the remaining pilotage may be carried out like a nonstop pilotage. When

changing pilot the ship must slow down to let the pilot boat come along and put on or take off pilots. The

effect of this is that the pilotage will last longer compared to a non-stop pilotage but the utilization of the

pilots is higher.

Requirement#0.4.1: Transit pilotage – Non stop

Category: Requirement Type: Functional

Description: The System should be able to support 2 pilots from the starting point to the ending point of

the pilotage. The System should offer this services to VIP customers automatically and

make sure the Actor will offer this to other customers as an add-on product

Comment: The Actor is the type Dispatcher

24

Planning a 1+2 pilotage means that the

dispatchers must divide the entire pilotage into

several legs (defined by fixed PilotMarks/

PilotMarkGroups at the water) where it is possible

to change pilots.

It might be possible to changed pilots more than

once along the route even though DanPilot as far

as possible avoid that this happens.

As there are several PilotMarks along Route T

there are many possible combinations

(PilotMarkGroups) to consider when planning one

or more 1+2 pilotages.

Requirement#0.4.2: 1 + 2 pilotage

Category: Requirement Type: Functional

Description: The System should be able to support the Actor only plan 1 pilot at the beginning. After a

while the second pilot will board the ship and the remaining pilotage may be carried out

like a nonstop pilotage

Comment: The Actor is the type Dispatcher

Requirement#0.4.3: Planning and dispatching – Division of orders in “PilotMarks”/”PilotMarkGroups”

Category: Requirement Type: Functional

Description: The System should support division of orders in “PilotMarks”. I.e. a given transit route from

A to D (starting point and ending point) can bee devided into a PilotMarkGroup A-B, B-C

and C-D. This means that the planning System can optimize/plan based on changing Pilots

on/of the ship based the most optimal plan.

Comment: Please refer to Information model to definition of “PilotMarks”/”PilotMarkGroups”

25

0.5 Optimization of resources

1. Introduction

Currently the dispatching at DanPilot are done without any kind of optimization and only covers the pilots.

The new it-system shall include facilities for optimization of the utilization of all types of resources, i.e.

pilots, boatmen, company cars, and pilot boats, based on real time data and mathematical methods.

The following sections provide an overview of the current situation and sketches of which optimizations

DanPilot thinks that should be delivered with a new planning and dispatching system.

2. Definitions/terminology

Manual decision support A list of possible choices/decisions that the planner or dispatcher can

take. The list is prioritized due to a rule of thumb or common sense but

not based on any kind of optimization.

Optimized decision support The system offers

A list of possible choices/decisions that the planner or dispatcher can take. The list is prioritized due optimized solutions.

A global optimization of the entire problem.

Continuously and global

optimization

The dispatching system optimizes in the background continuously the

utilization of resources. This means that

1. if the actual decision/solutions made be the dispatcher is more than “x DKK” from the optimal solution an alarm will notify the dispatcher.

2. If the dispatcher want to replan the current utilization of resources it is possible to upload an optimal solution.

Optimization of selected

subproblem

The dispatcher can select a subgroup of resources and a subset of tasks

to be (sub)optimized and letting the remaining part of the plan be

unchanged.

26

3. Optimisation: Current As-Is-situation

As illustrated in the table below all planning and dispatching of resources at DanPilot is done manually

without any kind of optimized decision support. Furthermore, dispatching of the many kinds of resources is

done separately without a global perspective.

Manual decision

support

Optimization

Selected sub problem Continuously and global

Rosters for pilots ÷

Rosters for boatmen ÷

Rosters for dispatchers ÷

“Rosters” for administrative staff ÷ ÷

Dispatching of pilots ÷ ÷

Dispatching of boatmen () ÷ ÷

Travel planning of pilots ÷ ÷ ÷

Travel planning of boatmen ÷ ÷ ÷

Dispatching company cars ÷ ÷ ÷

Dispatching pilot boats ÷ ÷ ÷

: Done today ÷ : Not done today

In the as-is-situation dispatching of boatmen and pilot boats is not really part of the dispatching process. As

there today always is at least one boatman at standby at each boat station the dispatcher simply calls the

boatman and tells him where and when there is need for at pilot boat. Afterwards the boatman himself

plans the pilot boat sailing.

27

4. Optimisation: To-Be situation

Optimized decision

support

Optimization

Selected sub problem Continuously and global

Rosters for pilots

Rosters for boatmen

Rosters for dispatchers

“Rosters” for administrative staff

Short term planning/Dispatching/Execution of pilots

Short term planning/Dispatching/Execution of boatmen

Travel planning of pilots

Travel planning of boatmen

Dispatching company cars

Short term planning/Dispatching/Execution pilot boats

: Requirements to the System

Requirement#0.5.1: Optimisation – Rosters, Short term planning, Dispatching and Execution of plans

Category: Requirement Type: Functional

Description: The System should support Short term planning/Dispatching/Execution as one big

integrated optimized (according to table shown in 4. Optimisation: To-Be situation) som

dispatching encompassing all resources, i.e. pilots, boatmen, company cars, and pilot boats

supplemented with travel planning for pilots and boatmen. Thereby, the Short term

planning/Dispatching/Execution is assumed to be carried out from a global perspective not

suboptimizing each resource individually.

Comment: See use cases XX

28

5. Objective function for optimization

5.1 Rostering

5.1.1 Distribute day categories due to a defined profile

Normally rosters are created to meet a given profile for a given day category. This profile can be e.g.

defined per hour of the day, per weekday, time of the month, or per month.

The most important day categories to control/optimize in accordance to s profile will be

Duty days

Off duty days

Days off

Vacation days

Requirement#0.5.2: Objective function for optimization – Rostering

Category: Requirement Type: Functional

Description: The System should support when optimizing that the Actor can define one/or more goal(s)

or (multi-)objective function. Some of the most obvious goals will be

1. Distribute day categories due to a defined profile

2. Optimize the length of duty period

3. Equally distributed shifts in and out of duty periods

4. As far as possible meet request for days off

But other goals may also be conceivable.

Comment:

Requirement#0.5.3: Objective function for optimization – Distribute day categories due to a defined

profile

Category: Requirement Type: Functional

Description: The System should support profile can be e.g. defined per hour of the day, per weekday,

time of the month, or per month and that important day categories to control/optimize in

accordance to profile:

Duty days

Off duty days

Days off

Vacation days

Comment:

29

5.1.2 Optimize the length of duty period

As the length of duty day periods are determining for the degrees of freedom when dispatching

Requirement#0.5.4: Objective function for optimization – Optimize the length of duty period

Category: Requirement Type: Functional

Description: The System should support that the Actor can define a wanted profile for the length of

periods as illustrated in the table below

Comment:

Number of duty days in a row Wanted percentage

3 0%

4 2%

5 15%

6 20%

7 25%

8 35%

9 3%

30

5.1.3 Equally distributed shifts in and out of duty periods

As the demand for long transit pilotages as well as for short port pilotages can occur at any point of time

DanPilot’s preparedness must be continuously distributed over the hour of the day and the day of the

week. This means that in a good roster shifts in and out of duty periods are spread as much as possible

over the day and the week avoiding that e.g. all pilots on duty goes in and out of their duty period Thursday

at 12:00. Because this will make it impossible to serve customers at Thursdays at 12:00.

An exception from this might be if a group of ports introduce opening hours, e.g. only are active at working

days from 06:00 to 18:00, then shifts could either be placed outside the opening hours at the ports or might

be equally distributed within the opening hours.

5.1.4 As far as possible meet request for days off

5.1.5 Multi-objective function.

Often it might be needed to optimize according to more than one criteria. Therefore, it might be possible to

define multi-objective function by combining/weighing two or more of the above mentioned criteria

together.

Requirement#0.5.5: Objective function for optimization – Equally distributed shifts in and out of duty

periods

Category: Requirement Type: Functional

Description: The System should support equally distributed shifts in and out of duty periods

Comment:

Requirement#0.5.6: Objective function for optimization – As far as possible meet request for days off

Category: Requirement Type: Functional

Description: The System should support the Actor in (as far as possible) meeting request for days off

Comment: It is important that the employees can have the request days of freedom and that the

allocation of vacation is perceived as fair.

The Actor is the Planner.

Requirement#0.5.7: Objective function for optimization – Multi-objective function

Category: Requirement Type: Functional

Description: The System should support the Actor in defining multi-objective function by

combining/weighing two or more of the leow mentioned criteria together:

1. Distribute day categories due to a defined profile

2. Optimize the length of duty period

31

5.1.6 Goals meet within the individual roster and globally for all roster

3. Equally distributed shifts in and out of duty periods

4. As far as possible meet request for days off

Comment: The Actor is the Planner.

Requirement#0.5.7: Objective function for optimization – Goals meet within the individual roster and

globally for all roster

Category: Requirement Type: Functional

Description: The System should support the Actor in letting it be possible to let all goals1 apply to the

individual rosters, a group of roster, all rosters, or even a combination of this.

1For all the examples of goal, or objective function, mentioned in above requirements in

#0.5.2to 0.5.7.

Comment: The Actor is the Planner.

32

5.2 Short term planning, Dispatching and execution

5.2.1 Minimizing the overall costs

Requirement#0.5.8: Objective function for optimization – Short term planning, Dispatching and

execution optimizing by defining goal(s) or (multi-)objective function

Category: Requirement Type: Functional

Description: The System should support the Actor in optimizing by defining goal(s) or (multi-)objective

function. Some of the most obvious goals might be

1. Minimizing the overall costs

2. Maximize the robustness of the plan

3. Introduce as few changes as possible to the existing plan

4. Ensure that pilots can maintain their certificates

5. Maximize customer satisfaction

6. Maximize the employee satisfaction

7. Distribute the workload equally among the employees

But other goals may also be conceivable.

Comment: The Actor is the Dispatcher

Requirement#0.5.9: Objective function for optimization – optimizing by minimizing the overall costs

Category: Requirement Type: Functional

Description: The System should support the Actor in optimizing by minimizing the overall costs:

Overall costs include among others

overtime remuneration for pilots and boatmen

costs due to pilots’ rest periods outside DanPilot’s stations

costs due to boatmen’s rest periods outside place of employment (i.e. own station)

fuel consumptions for pilot boats

sailing hours for pilot boats

travel cost for pilots (i.e. taxi, bus, train, airplane, and km in company cars)

travel cost for boatmen (i.e. km in company cars)

Comment: The Actor is the Dispatcher

33

5.2.2 Maximize the robustness of the plan

5.2.3 Introduce as few changes as possible to the existing plan

Requirement#0.5.10: Objective function for optimization – optimizing by maximizing the robustness of

the plan

Category: Requirement Type: Functional

Description: The System should support the Actor in optimizing by maximizing the robustness of the

plan due to:

changing ETAs and ETDs

sick leave for pilots and boatmen

unforeseen incoming orders both in transit and ports

Comment: The Actor is the Dispatcher

Requirement#0.5.11: Objective function for optimization – Introduce as few changes as possible to the

existing plan

Category: Requirement Type: Functional

Description: The System should support the Actor in optimizing using the “correct level” of frozen zone1

before executing

1On one hand, it is important not to introduce to many changes to often after

announcement of an executing plan for the incoming orders as everyone will be confused

and/or frustrated. On the other hand, you also must change the announced executing plan

if it has become too expensive compare to the optimal solution.

Comment: The Actor is the Dispatcher

34

5.2.4 Ensure that pilots can maintain their certificates

Pilot are maintaining their certificate by carrying out a minimum number (e.g. 5, 10 or 20) pilotages per

year per certificate.

5.2.5 Maximize customer satisfaction

It is inconvenient for customers to change pilots during a pilotage. Furthermore, changing pilot at some

pilot marks is more inconvenient than changing at other. Therefore, it is interesting to minimize the

inconvenience for customers by changing pilots.

It is important for customers that DanPilot is on time. Therefore, it is important that the number of cases

where DanPilot request changes to ETA or ETD are minimized.

Requirement#0.5.12: Objective function for optimization – Ensure that pilots can maintain their

certificates

Category: Requirement Type: Functional

Description: The System should support the Actor in optimizing pilotages must be distributed as equally

as possible among pilots who hold the considered certificate

Comment: The Actor is the Dispatcher

Requirement#0.5.13: Objective function for optimization – Maximize customer satisfaction

Category: Requirement Type: Functional

Description: The System should support the Actor in maximizing customer satisfaction

Comment: The Actor is the Dispatcher

Requirement#0.5.14: Objective function for optimization – Maximize customer satisfaction

Category: Requirement Type: Functional

Description: The System should support the Actor in minimizing the number of cases where DanPilot

request changes to ETA or ETD

Comment: The Actor is the Dispatcher

35

5.2.6 Maximize the employee satisfaction

Some sequences or combinations of tasks may by the pilots/boatmen be considered as inconvenient.

5.2.7 Distribute the workload equally among the employees

To avoid envy the workload must be equally distributed on pilots/boatmen.

5.2.8 Multi-objective function.

Requirement#0.5.15: Objective function for optimization – Maximize the employee satisfaction

Category: Requirement Type: Functional

Description: The System should support the Actor in minimizing the number of those sequences or

combinations or at least distribute those equally among the pilots/boatmen.

Comment: The Actor is the Dispatcher

Requirement#0.5.16: Objective function for optimization – Distribute the workload equally among the

employees

Category: Requirement Type: Functional

Description: The System should support the Actor in distributing the the workload equally amongst

pilots/boatmen over a selectable period of time

Comment: The Actor is the Dispatcher

Requirement#0.5.17: Objective function for optimization – Optimize according to more than one

criteria

Category: Requirement Type: Functional

Description: The System should support the Actor in letting it be possible to define multi-objective

function by combining/weighing two or more of the mentioned criteria1 together.

1For all the examples of goal, or objective function, mentioned in above requirements in

#0.5.8to 0.5.16.

Comment: The Actor is the Planner.

36

Requirement#0.5.17: Complexity of optimization of planning, shortterm planning, dispatchingand

execution -

Category: Requirement Type: Functional

Description: The System should support the use cases ID 11, ID 12, ID 13, ID 14, ID 15, ID 16, ID 17

Comment:

37

1. Other Requirements

1.1 Functional requirements orderprocess:

Requirement#1.1.1: Orders – Receiving Automatic Orders for Pilotage

Category: Requirement Type: Functional

Description: The System should support use case ID 5 Receiving Automatic Orders for Pilotage

Comment:

Requirement#1.1.2: Orders – Receiving Manually Orders for Pilotage

Category: Requirement Type: Functional

Description: The System should support use case ID 6 Receiving Manually Orders for Pilotage

Comment:

Requirement#1.1.1: Change of an order – before execution

Category: Requirement Type: Functional

Description: The System should support that the Actor is capable registrering “time of change” and

“reason for change” when the startdate/time and enddate/time of the order is altered

Comment: This requirement serves for input to Danpilots KPI’s (It is not a timestamp, but a manual

change process that the Actor must carry out)

Requirement#1.1.2: Change of an order – after execution

Category: Requirement Type: Functional

Description: When an order is executed the System should support that the Actor is capable registrering

“time of change” and “reason for change” when necessary at the same time to change the

startdate/time and enddate/time of the order.

Comment: This requirement serves for input to Danpilots KPI’s (It is not a timestamp, but a manual

change process that the Actor must carry out)

38

Requirement#1.1.3: Manually inputted order data may not be deleted

Category: Requirement Type: Functional

Description: Order data coming from the API (Use case ID5) is also considered “Manually inputted data”

In order to have an uninterrupted lifecycle of all records, data inputted manually may not

be deleted, but should marked as deleted, together with metadata describing who and

when the “delete” marking was made.

Comment:

1.2 Functional requirements planning and dipatching:

This section the primarily functional requirements for the Actors when they use the System. These are

described as requirements and not as use cases. Several of the use cases will imply that these requirements

are fulfilled as a part of the Systems capabilities.

Requirement#1.2.1: Visual planning and dispatching – drag and drop

Category: Requirement Type: Functional

Description: The System should support visual planning and dispatching functions by e.g. drag and drop

functions.

Comment:

Requirement#1.2.2: Visual planning and dispatching – overview

Category: Requirement Type: Functional

Description: The System should support visual planning and dispatching functions by e.g. having the

ability to individually design and save screensettings, how critical planning and dispatching

windows are shown

Comment:

Requirement#1.2.3: Planning and dispatching – Alarms

Category: Requirement Type: Functional

Description: The System should support setting of alarms in order to “remind” the actor on certain tasks

e.g. wake-up call of Pilot. The System should be able to relate these to jobs

39

Comment:

Requirement#1.2.4: Planning and dispatching – Click-to-dial

Category: Requirement Type: Functional

Description: The System should support click-to-dial i.e. that the Pilots name is shown and when mouse-

over is performed the System offers click-to-dial to that specific Pilot

Comment: This requirement requires integration to the Pilots and Boatmen names and telephone

numbers and a integration to the Danpilot telephone System. See section XX

Requirement#1.2.5: Planning and dispatching – Click-to-SMS

Category: Requirement Type: Functional

Description: The System should support click-to-SMS i.e. that the Pilots name is shown and when

mouse-over is performed the System offers click-to-SMS to that specific Pilot based on a

standard set of standard Short Message System messages

Comment: This requirement requires integration to the Pilots and Boatmen names and

mobiletelephone numbers and a integration to the Danpilot telephone System. See section

XX

Requirement#1.2.6: Planning and dispatching –Rules + Actomatic dialing

Category: Requirement Type: Functional

Description: The System should support automatic dialing and voiceSystem i.e. a rule can be set based

on a job and a Pilot/boatman. Execution of that rule results in a automatic dial to that

person with a prerecorded standard message

Comment: This requirement requires integration to the Pilots and Boatmen names and telephone

numbers and a integration to the Danpilot telephone System. See section XX

40

Requirement#1.2.7: Planning and dispatching – Rules + Automatic SMS

Category: Requirement Type: Functional

Description: The System should support automatic dialing and SMS System i.e. a rule can be set based

on a job and a Pilot/boatman. Execution of that rule results in a automatic SMS to that

person with a standard message

Comment: This requirement requires integration to the Pilots and Boatmen names and

mobiletelephone numbers and a integration to the Danpilot telephone System. See section

XX

Requirement#1.2.8: Planning and dispatching – Automatic updating of “chainactivities”

Category: Requirement Type: Functional

Description: The System should support automatic updating of linked or chained activities i.e. when a

transportation activity for a Pilot is prolonged the following activity of Pilotage should be

automatic updated in relation to the time.

Comment: If activity A (Pilot transportation) comes before activity B (Pilot enters Pilotboat to be sailed

to Ship for Pilotage) and activity C (Pilotage from point X to Y), postponing activity 30

minutes means that the System automatically should postpone both activity B and C,

hence Automatic updating of “chainactivities”.

Requirement#1.2.9: Planning and dispatching – Geographical split of management of jobs

Category: Requirement Type: Functional

Description: The System should support geographical split of management of jobs. This requirement

makes it possible for several Actors to use the System simutaniously, however each with a

geographical focus on the Straits, habours and waters souring Denmark

Comment: The Actors will be Planners and Dispatchers

41

1.3 Functional requirements reporting:

14

20-25 pilot boats.

Requirement#1.2.10: Planning and dispatching – Other types of ressources than pilots/boatsmen

Category: Requirement Type: Functional

Description: The System should support that the Actors can assign company cars for transportation of

boatmen and pilot boats14 bringing pilots to and from ships.

Comment: The Actors will be Planners and Dispatchers

See relation to use case XX

Requirement#1.2.11: Planning and dispatching – “Retired Pilots” should be less prioritized in planning

views

Category: Requirement Type: Functional

Description: The System should support that “Retired Pilots” should be less prioritized in planning

views in way that Pilots are managed in the System according the rules

Comment: See relation to use case XX

Requirement#1.3.1: Reporting– Certificates to Danish Maritime Authority

Category: Requirement Type: Functional

Description: The System should be able to produce reports stating the number of trips and which

certificates the Pilot or Boatman has participated in from a start date to an enddate of own

choice. The layout should be like XX in order to support the Pilot in reporting to the Danish

Maritime Authority in order to maintain the Pilots certificate.

Comment:

42

Requirement#1.3.2: Reporting– Certificates - warnings

Category: Requirement Type: Functional

Description: The System should be able to produce reports stating the number of trips and which

certificates the Pilot or Boatman has participated in, and giving warnings about certifactes

not being maintained. The warnings should be communicated to the Actors

Comment: The actors will be Dispatchers, Dispatch Manager, Pilots and Boatmen

Requirement#1.3.3: Reporting– Tracking of ressources

Category: Requirement Type: Functional

Description: The System should be able to create a online repport (map) where all available ressources

are shown. The following ressources shall be included: Pilots, Boatsmen, Ships en-route,

Pilotboats, Danpilot cars

Comment:

Requirement#1.3.4: Reporting– Standard repports

Category: Requirement Type: Functional

Description: The System should be able to show a number of relevant standard reports

Comment:

Requirement#1.3.5: Reporting– Logging

Category: Requirement Type: Functional

Description: The System should be able to create a log based on Jobs hence the Actor can see which

decisions and actions that the Dispatcher made and the consequences related to these

choises. It is important that this log is understandable without reading codes or order

43

1.4 Functional requirements sales data:

helping tables. That means that this log should be readable and understandable to simple

user

Comment: The actors will be Dispatch Manager and Planning and Dispatch Manager

Requirement#1.4.1: Sales - Important information can easily be inputted for each ship, i.e. when

inputting and order, for later use.

Category: Requirement Type: Functional

Description: This ship “note” information should be easily available to the pilot when presented with

1. order information

2. ship information

This information could be:

1. something a pilot observes something that the next pilot on the same ship should

know before going on board the ship

2. extra services (newspaper delivery)

Comment: The actors will be Dispatchers and Sales Employees and Pilots and Boatmen

Prerequisite that the maintance of shipdata is done in the System

Requirement#1.4.2: Sales Employees can create orders, with the expectation that they will become

“definite” orders in the near future, after contact with the en-route ship.

Category: Requirement Type: Functional

Description: Order creation in the System, without 100% certainty that DanPilot will be booked to

execute the order.

Comment: Actor is Sales Employee

44

Functional requirements finance/ billing data:

Not defined yet

Functional requirements wage data:

Not defined yet

45

2. Non functional requirements

2.1 Requirements for Architecture, Integration and Security In this chapter, requirements and expectations regarding the architecture for a future Pilot Planning

System are described. In addition, requirements and expectations for integration with other Systems in

DanPilot are described. Finally, requirements and expectations regarding security are described, at a high

level. If specific security requirements are needed for a certain service/component, these will be described

for each service/component in a later section. At last the data management reqirements to the System and

to other systems is described.

2.1.1 Architecture Since DanPilot is requesting a standard solution to the widest extent possible, the solution architecture will

be determined by the proposed solution. DanPilot is flexible with respect to the specific application

architecture, but expect the proposed solution to fulfill most of the following architectural principles.

In terms of the environment in which the new System must “fit in” and the integration with existing

Systems, requirements will be defined in the sections that follow.

Principles

Requirement#2.1.1: Architecture – Loosely-coupled architecture

Category: Requirement Type: Non-Functional

Description: The architecture to the proposed solution should be supporting a loosely-coupled

architecture

Comment: Danpilot prefer loosely coupled services and components over large monolithic Systems.

This to make future changes easier and faster.

Requirement#2.1.2: Architecture – Logical in Danpilot domain/context

Category: Requirement Type: Non-Functional

Description: The architecture to the proposed solution should be supporting a logical user interface

easy to understand, logical in our domain/context and it have to be consistent throughout

the application

Comment: User-focused solution. This is supporting the user friendliness refered to in section XX

46

Requirement#2.1.3: Architecture – Isolated databases

Category: Requirement Type: Non-Functional

Description: It is a requirement that databases must be isolated. Databases are an implementation

detail and as such should not be exposed to external Systems or services.

Comment: Are API’s in place at relevant points, where integration through a shared database would

otherwise be another possibility?

Requirement#2.1.4: Architecture - Documentation

Category: Requirement Type: Non-Functional

Description: It is a requirement that the current System documentation is describing the overall

architecture, the most important components and their interaction.

Comment:

47

2.1.2 Integration This chapter describes all integration solutions that are in place today at DanPilot. Possible future

integration solutions are also included, to ensure that a new Pilot Planning System either includes these or

can be extended to include these.

Existing Integration Points Table 1 provides an overview of the existing integration solutions in place currently. Each integration

solution is described in detail in a separate section following this section.

Name Purpose Involved Solution Provider(s)

Integration with SeaWeb To get up-to-date ship data for the ships that we provide our pilotage services to, so we do not have to enter these data manually.

IHS/Fairplay in England. We currently have a year-based contract with a ”pay-per-download” agreement.

Integration with PDC To get current roster planning data for employees from our current roster planning System (PDC).

PDC (Prolog Development Center) in Brøndby, Denmark.

Integration with Navision To be able to send completed orders to invoicing.

CGI is our current partner with respect to Dynamics Navision.

Integration with GateHouse services.

To be able to track ships so we get the most precise ETA at each start pilot mark and a precise ETA at the destination pilot mark, once a pilotage has started.

GateHouse provides these API-based services and data.

Integration with ”Elektronisk Lodsseddel” (ELS)

To send orders to the assigned pilots (smartphone or – soon - to an iPad running SafePilot). Enables the pilot to report an order completed.

Trelleborg, Sweden (formerly ”Marimatech” in Århus, Denmark)

Integration with GatShip To be able to receive Orders directly from the Norwegian System ”GatShip” (and possibly other external Systems). This System is used by many Danish brokers, to control their tasks in a port for a customer. This includes some of our largest customers for the Regional segment.

GatShip in Oslo, Norway is the solution provider for this System. DanPilot have developed our own API-based integration with GatShip in close cooperation with GatShip.

Integration/ETL process for DataWarehouse and BI

To provide our users with relevant, up-to-date data, reports and KPI’s, based on data coming from e.g. the Pilot Planning System.

”Kapacity” in Denmark have assisted us a great deal with the setup and maintenance of our current BI solution. In-house Data Manager is the daily responsible here.

Master data manager tool (aka. “MADAM”).

To allow non-IT employees to maintain core data such as our

DanPilot has an internally developed ASP .NET website in

48

Name Purpose Involved Solution Provider(s)

routes, pilot marks, boatstations, travel times and contact info for pilots and boatmen.

place for the current database behind the Pilot Planning System.

Table 1. List of the existing integration solutions.

Requirement#2.2.1: Integration – Requirement for present integration

Category: Requirement Type: Non-Functional

Description: The System should be able to integrate with all interfaces/systems mentioned in table 1

Comment:

Requirement#2.2.2: Integration – Integration with PDC

Category: Requirement Type: Non-Functional

Description: As it is a requirement that the Supplier makes Roster planning this integration will possibly

will not be needed. However the Supplier should clearly state if this is a part of the offered

System or not

Comment:

Requirement#2.2.3: Integration – Integration with ”Elektronisk Lodsseddel” (ELS)

Category: Requirement Type: Non-Functional

Description: As it is a requirement that the Supplier will supply 2 way communication this integration

will possibly will not be needed. However the Supplier should clearly state if this is a part of

the offered System or not

Comment:

49

Future Integration Points Table 2 below lists the integration solutions that DanPilot have discussed earlier and see as valuable

integration points in the future. Note: These are additional integrations, and not a total list.

Name Purpose

Employee Data/HR System To avoid having to update employee data in the Pilot Dispatch System.

More complete integration between SafePilot and the Pilot Planning System.

To be able to receive updates to order details directly from the pilot, during execution of the order. E.g. “pilotage started”, ”ETA destination updated” etc. “SafePilot” is the next version of “Elektronisk Lodsseddel” (ELS), expected release currently in Q1 2017. Today, only the “order completed”, including changes to the route, comments, and signature from the captain are received from the Pilot’s device.

Integration with the Danish Maritime Authority (DMA) known as “Lodstilsynet” certificate statistics and maintenance for pilots.

To automatically report completed orders for a pilot to the DMA in order to track the pilots certificate-data.

Integration with PDC (the current roster planning System) with respect to time spent for pilots (and potentially boatmen as well).

Send actual time spent for pilots to PDC for measuring and tracking overtime and ultimately input the results to the salary process.

Better integration with Navision Abandon the need to maintain e.g. ship- and route data and separately in Navision, and to provide a more “near-real-time” order completion process. (Currently this is a flat-file based, batch-based process).

Better travel time precision The Pilot Planning System must be able to plan for pilots including any travel time needed between two jobs (or to/from home). Currently, this is based on lookup-tables in the database. To improve the precision of these travel times, an integration with an external travel time provider is needed. This should include detailed travel data for Denmark for the relevant means of transportation (bus, train, flights and taxi).

Integration to external System regarding creation of new orders.

We expect to be able to create orders via an API to the new System so that orders can either be created manually or electronically from an external System.

Integration with the Payroll System Currently we send files, we have manually made to a provider that loads the data into an in-house System “Lessor”.

Table 2. Future integration points for the System.

50

Requirement#2.2.4: Integration – Requirement for future integration

Category: Requirement Type: Non-Functional

Description: The System should be able to integrate with all possible new interfaces/systems mentioned

in table 2

Comment:

Requirement#2.2.4: Integration – Requirement for future integration Navision

Category: Requirement Type: Non-Functional

Description: The System should be able to integrate with Navision version XX mentioned in table 2

Comment:

51

2.1.3 Security This section describes all requirements related to security.

The Nature of Our Data in General The data DanPilot handles is in general not classified. All data regarding our orders, employee data and the

planning regarding these is not classified information. However, the following information is part of our

dataset in use by the Pilot Planning System, and not something we want to expose:

Email addresses of employees and customers/ships.

Social security numbers for employees (“CPR-nr”).

Time registrations (activities and whereabouts) for employees.

Private addresses for employees.

Security Requirements

The current planning System runs internally, as a Windows Desktop solution, and is not exposed to the

internet. It is not accessible from outside the DanPilot firewall solutions.

The current System uses authentication against Active Directory when a user logs into the System. In

addition, database-level security is applied, again by using AD groups and associations. Beyond this, no

further security measures are in place for the current System. The System has a very basic user model, that

allows a few super users access to certain features.

Depending on the specific solution offered, the same security model could be valid in the future as well.

The following list of requirements is valid for both cloud- and non-cloud based solutions:

Requirement#2.3.1: Security – Login-method

Category: Requirement Type: Non-Functional

Description: The System should be able to integrate with Active Directory, to minimize user data

maintenance.

The login-method for the System must be described.

Comment: In case of no AD integration, the model for user data maintenance must be described. E.g.

how are new users added and how are their data maintained?

Requirement#2.3.2: Security – Authentication

Category: Requirement Type: Non-Functional

Description: The specific authentication mechanism provided by the System must be described. E.g. if a

role-based authentication model limits access to certain areas of the System.

Comment:

52

Requirement#2.3.3: Security – Use of use SSL for traffic encryption

Category: Requirement Type: Non-Functional

Description: If the System depends on components/services that are served from public-accessible

webservers (via the internet), these services must use SSL for traffic encryption

Authentication mechanisms used by each service must be described. Basic or Windows

Integrated authentication is acceptable, if SSL is used

Comment:

Requirement#2.3.4: Security – Danish legislation

Category: Requirement Type: Non-Functional

Description: Any data that is governed by Danish legislation must be handled accordingly. E.g. sensitive

data such as “CPR”-numbers.

Descriptions on how the proposed System adheres to these regulations must be provided,

when applicable

Comment: Please also refer to Appendix K02 for documentation requirements

53

2.1.4 Non- and functional requirements data management:

Requirement#2.4.1: Access to data from an external it-System

Category: Minimum Requirement Type: Non-Functional

Description: It is a requirement that the architecture of the System supports an external System

copying all relevant data (including historical data) to an external datawarehouse SQL

database without noticeable performance degradation for the primary Actors.

The Supplier should describe what documentation is necessary and deadlines for changes

in what data is copied from the System.

Comment: Today the necessary “production data” is first copied to the datawarehouse server’s sql

database. After that, the data is then transformed, etc. such that the connection to the

production System is as short as possible. Only data used in the datawarehouse is copied

today, which is just a small percentage of the total production data.

Requirement#2.4.2: Access to data for ad-hoc queries

Category: Minimum Requirement Type: Functional

Description: The system should enable the Actor to:

- Access to production data or a copy of production data (including “master data”,

which is at most 1 hour old, without noticeable performance degradation for the

primary actors, and without having to contact the supplier regarding access rights

to new types of data.

- All data which is necessary (including changes made to data) for planning and

executing (including master data) an order must be made available.

- If the UI for this type of access is proprietary:

o the data must be able to be exported via max. 2 mouse clicks, into an excel

spreadsheet. Each record must contain an “export” timestamp.

o Filtering possibilities must be available to limit the amount of data

exported, i.e. by number of rows.

The supplier must document :

which access method(s) will be available and if proprietary access, examples of how this

looks and is used today by other customers, and what filters can be used

Comment: This is a requirement because only a portion of the production data is copied to an external

database, and because it is difficult to predetermine what questions about production will

be asked in the further.

54

Requirement#2.4.3: Data Documentation

Category: Minimum Requirement Type: Non-Functional

Description: It is a requirement that a detailed description of the data including the data model (i.e. E-R

diagram) must be available to aid the Analyst and DataManager in order to copy only the

necessary data to the Datawarehouse.

DanPilot needs to be informed of planned changes to the model to the mail address

[email protected] at least one month before the planned implementation of the change.

Comment: Please refer to the description in the K02 appendix regarding documentation. This

requirement adds to the requirements stated in the K02 appendix

Requirement#2.4.4: Requirement to what types of data DanPilot needs to have access to, and data about

data that needs to be available to DanPilot

Category: Minimum Requirement Type: Functional

Description: The system should enable the Actor to acces the following types of data:

1. information about synchronization or communication with external Systems. Ie.

We must be able to distinguish which data comes from an external System and

when it was last updated by the external System.

2. information about who inputs directly into the System, what, and

when(timestamps) into the System. (manually inputted data)

3. information about the type of action – data creation, change of existing values,

adding of information to existing records, changing of status of data. See example

below of how we look at this type of information today at the bottom of this

document.

4. Data values before and after the changes are made to the data

The Supplier must document how new data and changes to data is registered in the

production System.

Comment:

55

2.2 Non-Functional requirements master data including certificates:

This section is non-functional requirements for the Actors when they use the System. There are related to

master data including certificates. These are described as requirements and not as use cases. Several of the

use cases will imply that these requirements are fulfilled as a part of the Systems abilities.

Table 1: Example of certificate data:

Employee Certificate Data: Certificate Name/ID, Certificate Level, Date Valid From, Date Valid To

Table 2: Example of HR Employee Data:

Company Address Statistics Group Code Number of Hours employed

Salary ID Address2 Employment Date Next of Kin Name

Blocked City Status Relationship (Parent, child,

spouse, cohabitant)

First Name Post Code Termination Date Next of Kin telefon nr.

Middle Name Phone No_ Company E-Mail EmployeeGroup(1=Pilot,2=Pilot

temp ,3=Boatman, 4=Boatman

temp,5=Dispatcher,6=Dispatcher

temp,7=not defined yet)

Last Name Mobile Phone No_ Place of Employment Pilottype (Harbor, Transit,

Distance, Both) (havn,transit,

begge)

Initials Private E-Mail

DWCreatedDate

Job Title Birth Date Dimension for Salary

(StedKode)

Requirement#2.2.1: Master data – New employees created in HR System will be created in System

Category: Requirement Type: Non-functional

Description: The System should support the transfer of new employees/termination of retired

employees created in HR System will be created/updated in System of data. The data

related to a new employee will be name, adresse, telefonenumber, mobilenumber etc. but

also information about certificates (Please refer to datafields requirements in table 1 and

2)

Comment: Certificates are critical in relation to business rules for both Actors Pilots and Boatmen

56

Requirement#2.2.2: Master data – Data should be updated real time

Category: Requirement Type: Non-functional

Description: The System should support the transfer the information real time

Comment:

Requirement#2.2.3: Master data – All accounts related to employees should be replicated to and from HR

System

Category: Requirement Type: Non-functional

Description: The System should support the replication of all accounts related to employees should be

replicated to and from HR. Account consist information about illness (hours/days), right to

vacation (hours/days), already held vacation (hours/days) and so on

Comment:

Requirement#2.2.4: Master data – Maintance of (more “static”) data in System

Category: Requirement Type: Non-functional

Description: The System should provide easy access to maintanace of (more static) masterdata e.g. Pilot

Marks and PilotMarkGroups including hierarchy, locations etc.

Comment:

Requirement#2.2.5: Master data – Maintance of (more “dynamic”) data in System

Category: Requirement Type: Non-functional

Description: The System should provide easy access to maintanace of (more dynamic) data e.g.

traveltime, certificates, SOPs, union agreements in relation to alle business rules. See

section XX for all business rules

Comment:

57

2.3 Data management Here is the expected picture of the primary it-systems which have interfaces to the System and the types of data which each system manages.

Starting from the left side of the diagram with blue framed boxes:

In order to invoice a customer automatically at some point in the future, it will be required that the billing customer number is available in the

new system. This is the reason for the box “Navision - Billing Customer”.

DanPilot is in the process of purchasing a HR system and therefore the new box “New HR System” and at the end a list of expected data

stored there.

The Orange boxes show the “Master Data” which presently an integrated part of the existing System called PilotBoard

The MPDS box consists:

Production data in black boxes

The filled in green boxes are information needed regarding Roster Planning

The filled in blue box is to illustrate the need for new “mapping tables” linking the System to the data in external systems

Requirement#2.3.6: Data – Organisation of data in the System- datatypes will be maintained

Category: Requirement Type: Non-functional

Description: It is a requirement that the Supplier specifies where (new system, DanPilot’s systems) the

different datatypes will be maintained, and how the data will flow between the external

systems to the new system including push, pull and time related to diagram 1

Comment:

58

Requirement#2.3.7: Data – Organisation of data in the System - mapping data will be maintained

Category: Requirement Type: Non-functional

Description: It is a requirement that the Supplier specifies where the mapping data will be maintained

(new system, DanPilot’s system), and how the data will flow between the external systems

to the new system including push, pull and time related to diagram 1

Comment:

Requirement#2.3.8: Data – Organisation of data in the System - Explanation for placement of datatypes

Category: Requirement Type: Non-functional

Description: It is a requirement that the Supplier specifies the following:

For the datatypes the supplier wishes that DanPilot continues to maintain as we do today,

describe why this is so, and if it will be possible to continue using the datatypes that are

already used today in our existing system related to diagram 1

Comment:

59

To-Be (Diagram 1)

Master data

Maritime Planning and Dispatching System

VIP Customer Data and

Advantages

Actual Activity Data (who/what resource and

what activities completed,

where and start&end

dates/times)

Route, PilotMark and

Certificate Data

including Invoice

Ship Data

Boat Station Data (in

progress as addition to

PilotBoard due to hub)

Location Data (needed to

map Place of Employment to

Location, which includes other locations)

Logfiles – incl. External

Communication and

Changes to data over

time (historic data)

Rules used to calculate

salary per agreement

Pilot boat Data

Pilot Order App (info the

pilot inputs at i.e. beginning

and end of the order, i.e.

Change to order which

affect billing)

Roster Planning Who and what resources are

available to work, when and

which type of absence. BI Access to Resource

Planning Data for analysis

2 way communication (i.e. Salary Calc., vacation

time registrations, Activity

registration)

Management

Verification i.e. salary data before final

transfer of payroll system. Employee Ipad App

(i.e. Salary Calculation, time

registrations)

Boat Station Data

(ie. no. of rooms)

Data

Change Reason Data

Employee Registration Non “PilotPlan” activities i.e.

project work, which means not

available for Piloting work

Mapping Data

External Order User Data

New HR System

Employee Data and

Employee Certificate

Data, etc…

Standard Pay Rates incl.

overtime rates / work type

Order Data

Company Car Data

Travel Data

(water & land)

Copy of Master Data ie. from Navision and HR

Navision

Billing Customer

Standard Alarm Data

Business rules

External Orders

Data - sent

electronically

60

2.4 Non-funtional requirements 2-way communication

Requirement#2.4.1: 2-way communication – Offline buffering of information

Category: Minimum Requirement Type: Non-functional

Description: The system should support offline buffering of information when theres no contact to

mobile network/wireless connection

The information should be bufferet and sent as soon as possible when there is a

connection

Comment:

61

2.5 Integrations

[Diclaimer: This section is not consistent due to the fact that it has not been revised and corrected so all

information is consistent with the rest of the requirement specification. The Supplier should only consider

this information on a high level in order to get som more information regarding existing and possible

integrations]

Integration: SeaWeb

Purpose To get up-to-date ship data for the ships we provide pilotage services. E.g. the name, IMO-number (a

globally unique identifier), length and width of the ship.

Without this integration, we would need to enter approx. 1.000 new ships each year, complete with all

info. This is time-consuming and error-prone. In addition, updates to ship data would have to be input

manually, and are likely to be forgotten/missed.

62

Interface description SeaWeb provides a WSDL-based web service that has the following definition:

Figure 2. Snippet of the WSDL definition for the SeaWeb Web Service. APSShipDetail is the response object that contains ship details (approx. 100 properties of the ship). Request key is the IMO-number of the ship.

Click here for a link for viewing the complete WSDL online.

Availability

This service needs to be highly available, since we cannot proceed with creating an order without a ship

assigned. Currently, we have a “fallback” implementation, such that if the external web service (SeaWeb)

does not respond, we try to look up the ship in our internal ship database. If not found here, the user will

need to create a new ship, using the provided IMO-number. Next time the same IMO-number is used, we

will most likely get an update to the ship, and the ship data will be complete and up-to-date.

Data Volume and Throughput We process approx. 60 orders/day. This gives a need for approx. 100 ship data lookups/day.

63

Ship data is only requested and stored when a user requests it – there is no continuous/background flow in

place.

Use Cases

Although SeaWeb is currently our main provider of the “official” ship data, at times we need to create a

new ship and enter the needed details. E.g. when SeaWeb does not have the ship (some ships do not have

an IMO-number – these are not available from SeaWeb) or if the service is down.

In addition, we currently have the option to add notes of our own, for each ship. This allows us to input e.g.

important defects reported by the pilot, which will then be displayed to the dispatcher for the next order

for the same ship.

Alternatives Marinetraffic.com (online ship data provider).

64

Integration: GateHouse (AIS-data)

Purpose The Pilot Planning System must include AIS-based data, in order to track the ships that request pilotage

services. This allows the dispatchers to obtain up-to-date, reliable info on the start- and end time for a

pilotage job. This in turn improves the quality of the plans produced by our dispatchers.

Provider GateHouse is a Danish company, specialized in software solutions for optimizations, flexibility and mission

critical operations within tracking, monitoring and satellite communication. They provide an API that is

currently used in DanPilot for tracking ships (our customers) in order to obtain accurate POB (Pilot-On-

Board) time and ETA’s for destinations.

Interface description

The API currently in use in publicly accessible from:

https://maritime.gatehouse.dk/pub/api-doc/portserver/reference/index.html

It is an HTTP-based, resource-oriented API. We currently use the “Track” resource, specifically these

operations:

Operation Description

POST /ship/track Start a track of a ship towards a predefined destination

GET /ship/track Get status of a track for all ships towards predefined destinations

PUT /ship/track/{id} Update arrival with ERP information

GET /ship/track/{id} Get status of a track of a ship towards a predefined destination

DELETE /ship/track/{id} Stop and delete a track.

Data Volume and Throughput Estimates:

60 orders per day yields 60 POST calls to the API.

Currently we send approx. 150 updates (PUT) every 5 minutes. GateHouse needs the currently entered

start- or end time in order not to stop a track for ship “too early”, if that ship is expected e.g. the day after.

We developed the API in close coordination with GateHouse, and at one point we saw cases where a track

would be stopped/deleted too early. GateHouse uses our manually entered “expected time” to determine

whether to stop a track.

60 orders per day yields 60 DELETE calls to the API as well.

In total: approx. 300 calls are made to the API per day.

Use Cases

Create Order/Job When a new Job is created, a new track is also created. A POST is sent to the GateHouse API.

Updates Every time a Job is updated, we also update any existing track, previously created with the GateHouse API.

This causes a PUT request to be issued.

65

Complete Order/Job Finally, when a Job is completed, any associated track can be deleted by issuing a DELETE request to the

GateHouse API. This is a required operation, to “clean up” data usage at GateHouse (if not done properly,

too many “running” tracks will degrade the service with GateHouse).

Availability This service does not need to be highly available, since it “only” provides additional information on top of

what we already know for a Job/Order. However, service downtime should be monitored, so we at least

know when the service is down, and can take appropriate action.

Alternatives

No alternatives have been considered.

66

Integration: Elektronisk Lodsseddel (ELS) / SafePilot

[This integration (ELS) is probably not relevant and therefore probably not consistent with the rest of the

requirement specification.]

Purpose The Pilot Planning System must be integrated with the mobile solution used for Pilots. Pilots currently use

their smartphone (Android-based) to report Orders as “completed”. In May 2015, this solution replaced a

tedious paper-based workflow that had been in operation in DanPilot for as long as the company had

existed (in fact, even before “DanPilot” was formed).

To enable this, a workflow has been set up that sends Orders to Pilots when they are assigned (or re-

assigned). A Pilot then completes the form available in an app on the device and form data is sent to a

“broker” server. This broker sends the completed Order to a back-end server in DanPilot, which stores the

received data for later invoicing.

Interface description The current integration is based on four different components:

1. Database triggers, that fires whenever a Job has been updated or a Job assignment has been

changed.

2. A Windows Service that polls for “pending updates” as recorded by the triggers.

3. A server known as “MPX Port Server” (part of the SafePilot product) which receives updates from

the Windows Service. This server also sends messages to each Pilot’s device/app. The Port Server

very much acts like a specialized message broker, for receiving and dispatching the specific

messages that SafePilot uses.

4. A web service for receiving “Billing Data” from MPX Port Server whenever a Pilot completes an

Order.

The following sequence diagram shows the interaction:

67

Figure 3. Interaction between the various components of the current ELS integration.

Use Cases There are multiple use cases to consider here, and they span across the sequence diagram on Figure 3.

Each use case is detailed further below.

New Pilot Assigned Whenever a new Pilot is assigned to a Job, ELS must be notified so the details can be sent to that Pilot’s ELS

device. If more than one Pilot has been assigned, all pilots receive the same Order assignment on their

device.

Pilot Assignment Changed When an assignment of pilot(s) is changed for a Job, that change must trigger an update to ELS, so that all

Pilot’s ELS state is eventually updated accordingly.

Job Updated

Whenever a Job is updated (e.g. a new start time is received/entered by dispatchers), an update to ELS is

triggered. Not all changes are strictly required to be published, although the current solution triggers a

publish on every change. E.g. a change to the “Notices” field on the Job does not have any impact for the

Pilot/ELS status, but such change triggers an update today anyway. Recall that our data volume and

throughput is relatively low, and we have not seen any performance issues yet due to this.

Order Completed

When an Order is completed by a Pilot, he uses the app on his device to report the Order completed. This

message is sent to the MPX Port Server, which in turn processes and forwards the message/event to a

DanPilot web API.

Provider Trelleborg in Aarhus (main office in Sweden) is the main provider of the SafePilot solution, and the

integration partner for the MPX Port Server and associated iPad app(s).

68

Data Volume and Throughput

Availability The data flows involved in this integration are not required to be near-real-time, and as such does not

require high availability. If Pilots get their assigned orders within max. 10 minutes after assignment and we

receive completed Orders within 30 minutes, things will work for us.

However, if/when an expanded integration is considered, things change a bit. E.g. if it is decided that Pilots

must be able to report updates to the expected end time for an Order, while they are executing the Order.

Here, we need to reconsider how often such updates must be processed (and obviously also ensure the

order in which such updates are processed). In this case, we may need to move to e.g. 99,7 uptime (a total

daily downtime of 2min 53secs).

Alternatives

SafePilot (the navigation part) is a unique product on the world market currently, to our knowledge. No

alternatives have been considered.

69

Integration: GatShip

Purpose To allow pilotage Orders to be sent to DanPilot electronically, which saves DanPilot the time of having to

create/enter order data manually, and remove sources of possible errors due to manual data entry.

Also, to allow DanPilot’s customers to keep their Orders up-to-date, by e.g. changing the expected time for

start of the pilotage job.

Interface description The API is an HTTP-based web service written in .NET. Complete online documentation is available here.

GatShip is a custom-built desktop System used by the most important customers of DanPilot currently,

when considering the Regional segment. The integration has been developed in close cooperation with

GatShip – the Norwegian company behind the System.

Use Cases Three use cases are currently supported by the API, and they map to the HTTP verbs POST, PUT and

DELETE.

New Order (POST) To place a new Order, a client uses a POST to the API. When the request is received, validation steps are

taken to ensure that the posted data is valid. E.g. the format of the IMO-number for the Ship is verified.

If all validation checks succeed, the Order is stored in the local database for the API, and a “success”

response is returned immediately to the calling client. The response includes a unique identifier for the

newly created Order. Otherwise, and error HTTP status is returned.

Update Order (PUT) To update a previously placed Order, the client sends a PUT request to the API, including the unique

identifier received in the POST response.

Again, validation of the update operation proceeds and a success/failure response is returned immediately.

Cancel Order (DELETE) Finally, to cancel a previously created Order, the client sends a DELETE request to the API. The Order is not

deleted, but marked as cancelled. This since our dispatchers could have started planning for the Order, and

may even have assigned Pilot(s) for the Order. So, re-planning may need to happen internally at DanPilot

when order cancellation occurs. Cancelled orders are marked with special highlighting in the Pilot Planning

System, so dispatchers can quickly see that an order has been cancelled.

Order Completed This event occurs when a DanPilot dispatcher chooses to complete the Order in the Pilot Planning System.

The event is published to an event bus, and a “synchronizer server” subscribes to this event. Whenever an

Order is completed, and that order originated from the customer directly (via the API), the Order is marked

as completed, in the local database use by the API. This allows the API to “bounce” update request for

Orders that have been completed.

Provider DanPilot has developed an API for receiving “external” Orders, and the GatShip System is the first System to

use this API.

70

Data Volume and Throughput Current volume and throughput is low, since only one customer is actively using the API. (Approx. 5

pilotage request per week so far).

When fully rolled out to all possible customers, 5000-6000 pilotage requests are expected to be processed

by the API each year.

Availability This service must increasingly become highly available, as DanPilot will most likely add more customers to

the service during 2017. Currently, only one customer is “connected” and using the service. Monitoring is in

place, so DanPilot IT will catch any unexpected errors. However, this will most likely not be good enough

when multiple customers are using the API.

Alternatives

The description above fits the current setup and use of the Order API. There are several approaches to

connect GatShip to a new Pilot Planning System:

1. If the proposed Pilot Planning System has an existing API for receiving Orders, this should be

considered. Adapting GatShip to use a completely different API will require close coordination with

GatShip, but if the API’s are not widely different, this could be an approach.

2. Alternatively, the existing API can be adapted to integrate with the new Pilot Planning System. This

leaves the integration “intact”, from a GatShip perspective.

3. A third approach could be to rewrite/adapt the API of the new Pilot Planning System to fit the

existing API as closely as possible.

71

Integration: Navision

Purpose The Pilot Planning System (PPS) must include integration with our current ERP/financials solution – Navision

(2009 version). When Orders are completed in the PPS, they must be sent to Navision for invoicing.

Provider CGI is our current Navision provider, and responsible for maintaining the custom “Pilot module” in place in

our Navision setup. They are also responsible for the “Navision end” of the integration between the PPS

and Navision.

Interface description Today, we have an integration that is based on a batch run each night, that produces a flat file (CSV) which

is place in an “import folder” from where Navision can read the file. When the file is successfully imported

into Navision (a user-triggered action, directly from the Navision UI), the file is archived to a different

folder. If the file is present at the time the batch job runs, the file is not overwritten, but appended to, in

order to keep all orders in the file. Navision handles if an Order is found more than once in the file (it simply

overwrites the data in Navision with the most current version).

Finally, when the Navision user at some later point in time decides to produce an invoice for an Order, that

invoice draft is picked from the “pending” list, and the Invoice is produced, verified and sent (via email

directly from Navision).

Figure 4 gives an overview of this flow in the integration.

72

Current CSV File Contents The CSV file contains all order-related data needed to produce an invoice. Do note, that we plan and

dispatch pilots and boatmen in terms of Jobs – but invoices are produced and sent as entire Orders. (An

Order can be composed of several Jobs – refer to page 86 for details).

The following table describes all columns found in the current CSV file that is produced and sent to

Navision.

The column “Only ELS data” marks fields that are only populated with data coming directly from a Pilot, in

terms of data from the “Elektronisk Lodssedel” (ELS or soon, SafePilot) app. Some fields are deliberately left

Figure 4. How invoice drafts are written to the CSV file and then imported into Navision for final invoicing afterwards.

73

for the Pilot to fill – we cannot proceed with invoicing until the ELS billing data has been received from the

Pilot.

All other columns are filled as precisely as possible, based on data from either the dispatches System, or

ELS data (when present).

Also, note that an Order can very well be written to the CSV file (since the Order has been completed by

dispatchers), but before any billing data has been received from a Pilot. This causes a new Order-line to

appear in Navision – but with missing data in the ELS-based columns. In a subsequent batch run, that data

will most be likely be received from a Pilot and merged into the same Order line. If not, the Pilot can be

“poked” to request him to complete the Order.

Index Name Datatype Description Only ELS

data

1 OrderNo int The Order No of the Order

2 AssignedPilots string All names of the assigned Pilots

3 OrderId int Primary key of the Order

4 ImoNo int The IMO number of the Ship

5 CallSign string Call sign of the Ship (a short, text-based identifier)

6 Name string The ship name

7 Loa double Length overall

8 Woa double Width overall

9 ExternalId string The Route id to be used for invoicing (the unique identifier

for Routes, in Navision).

X

10 FromPilotMark string Name of the start PilotMark for the entire Order (there

may be more than one Job involved)

11 ToPilotMark string Name of the end PilotMark for the entire Order (there may

be more than one Job involved)

12 CompletedAt string The completion date/time of the Order

13 Draft double Draft of the ship

14 PilotOrderDateTime string NOT USED

15 PilotArrivedDateTime string The completion time, as reported by the Pilot (the last pilot

on the ship, in case more than one Pilot is assigned).

16 CustomerNo string NOT USED

17 Vat bool Field indicating whether Danish VAT is to be applied (comes

directly from the Pilot ELS).

X

18 ImoRecommendation bool NOT USED

19 PdfLocation string A string containing a link to PDF version of the ELS, as

received from the Pilot.

X

20 PilotingMandatory string Field indicating whether the ship is required to take a Pilot

onboard, for the specific passage. Comes directly from the

X

74

Index Name Datatype Description Only ELS

data

Pilot’s ELS.

21 RouteNo string The Route id to be used for invoicing. Only set when the

ELS has been received from a Pilot.

X

22 GRT int Gross tonnage of the ship.

23 TugFixedPrice bool [??? - TODO]. X

24 InvoiceDetails string Details of the customer/debtor for the Order, as entered by

dispatcher’s.

25 RouteComment string All via-info for the Route (or all involved Routes, in case of

multiple-Job Orders).

26 Notes string Any notes from the dispatchers (Job notes).

27 PilotNotes string All notes from all Pilots assigned (concatenated into one

string)

X

28 OwnerDetails string ??? TODO

29 LastPortOfCall string ??? TODO

30 BoundFor string ??? TODO

31 CustomerNoFromNav string NOT USED

32 JobType string NOT USED

33 JobInvoiceInfo string Concatenated strings of “invoice info” log statements from

the dispatcher’s System.

34 OrderType int 1 = Regional, 2 = Transit

35 RegionalType int 0 = Blank, 1 = Outbound, 2 = Inbound, 3 = Shifting

36 OrderStatus int 1 = Completed, 2 = Cancelled

37 PO string Purchase Order – external ref. no from our customer

(required on the invoice for some customers)

38 NonstopPurchaseStatus int 0 = N/A, 1 = Nonstop was purchased, 2 = Nonstop paid by

DanPilot

39 IsPremiumCustomer bool Whether the customer is marked as “premium”, which

gives certain benefits.

40 IsSystemGenerated bool NOT USED

Table 3. The complete CSV file format currently used for sending completed Orders to invoicing in Navision.

75

Data Volume and Throughput

Use Cases

Availability

Alternatives A service-oriented approach to integration with Navision was desired for, at the time of this integration.

However, the 2009 version of Navision does not allow an easy way to handle a web-services oriented

approach and DanPilot was advised not go that route. Hence, the decision was made to base the

integration on a “flat-file” integration.

If a different solution is proposed, please note that the Navision “endpoint” (module) will most likely have

to be changed in order to continue with the same workflow. There is a tight coupling between the file

format described above and the Navision module.

76

Integration: PDC [This integration is probably not relevant and therefore probably not consistent with the rest of the

requirement specification.]

Purpose The Pilot Planning System (PPS) must include integration with our current roster planning System – PDC.

Vagtplan (or simply “PDC”). The System is used for:

Planning and releasing roster plans for Pilots. Pilots can input their “wishes” for future plans, and a

planning employee is responsible for producing satisfactory plans. These are typically published for

a three-month period.

Planning and releasing roster plans for Boatmen. As for the Pilots. In addition, Boatmen use PDC

(online) for registering time spent. In comparison, the dispatchers are responsible for registering

the actual time spent for Pilots.

Provider PDC (Prolog Development Center in Denmark) is the developer and provider for this System. The System

includes a web API, which is what we primarily use for reading data from PDC, as described below.

Currently, data is never written back to PDC from other Systems (but that is one future use case as well).

Interface description The System is not publicly available and is installed locally on DanPilot servers.

We currently use the web service known as “AvailabilityService”. The API can be accessed on DanPilot’s

network and produces the following page upon request:

Figure 5. The operations page, as returned from the PDC Availability.asmx web service.

The GetAvailabilitiesSimple operation is the most important one. Sending this request gives an XML

response containing complete “timelines” for a specific collection of Employees. Currently there is no way

to request this for a single employee – requests are made for groups of employees (called Units in PDC).

The operations GetUnits and GetPersons can be used for collection info on groups and group members.

For a more complete description of this API, please refer to this document, written by PDC.

77

Data Volume and Throughput Data volume and throughput is low. The total number of planned activities for a single Pilot is approx. 30

for each three-month period. This gives 7.200 records to import, if we assume 285 Pilots and Boatmen in

total.

Use Cases There are three distinct use cases for this integration: Batch run, ad-hoc runs and data warehousing runs.

Batch Run At present, we decided to import all planned activities as a single batch every night. The batch job – a .NET

console app – calls the various operations of the API to read all current data from the API. It then stores the

results in temporary tables, and once all data has been collected, merges these into the “live”, production

data, on a row-by-row basis.

Ad-hoc Runs for Publishing Urgent Changes Relying on the single batch run every night is not enough. Pilots and Boatmen occasionally report in as sick,

and we need some way of pushing this information to the Pilot Planning System. The current solution for

this includes an in-house developed desktop app, that can “push” changes for a given employee directly to

the Pilot Planning System database. In a new System, it is important to include such feature as well – how

to publish ad-hoc changes to plans so the Pilot Planning System always has up-to-date information.

Data Warehousing Purposes Finally, we also use the information regarding roster/duty plans for Pilots and Boatmen in our current data

warehouse setup. Currently, we import PDC data into our data warehouse using the same method as in the

batch run as described above.

Availability

High availability is not critical here. Data is published for a rather long period of time ahead, so should a

single of the batch runs fail, most likely, the run will succeed next time. (And retries could also be

configured, if need be).

For the ad-hoc changes it is also the case that if one “run” fails, we can wait for the service to become

available and then simply try again.

Alternatives If the proposed Pilot Planning System includes a roster/duty planning System, that is capable of

recording/planning duty schemes for Pilots and Boatmen, this could be an alternative.

78

Integration: Integration/ETL process for Data Warehouse and BI

Purpose DanPilot has a data warehouse and BI solution setup, where the BI reports and interfaces are considered as

a “one-stop shop” for data. All the most important Systems are in one way or another used as sources for

the data warehouse. This includes the current Pilot Planning System, and it is expected that a new planning

System must also be an important source of data for many BI purposes.

Provider DanPilot has a full-time Data Manager responsible for all data and reporting tools used in the BI stack

(currently Microsoft-based - SSIS, SSAS and SSRS).

The company Kapacity has assisted DanPilot with setting up the entire ETL-process and BI model.

Interface description Currently, data is read mostly using SSIS (SQL Server Integration Services) packages, directly from the

various data sources.

Data Volume and Throughput [Not available yet]

Use Cases N/A

Availability The current BI solution has been set up on a dedicated server. This is not configured to be highly available,

and we can live with

Alternatives

No alternatives have been considered for the data warehouse and BI model.

Power BI as a new data reporting tool has been considered, and was found to be attractive and a low-cost

solution.

Dynamic Tables

Activity

DomainEventLog,Job JobEmployee

Ship

The rest are “master data” and changes occur not that often, and mostly to Employee, EmployeeCertificate

and EmployCertificateLevel tables.

Log, RouteKeySegment, RouteSegment, and RouteSubSegment no longer used.

79

80

Integration: Master Data Manager (MADAM)

Purpose

DanPilot has developed an in-house website for maintaining the various data classified as “master data”.

The websites go under the name MADAM (short for “Master Data Manager”).

Master data includes e.g. the geographical model (Routes, PilotMarks, Areas etc.) and Certificates (for

Pilots). The tool allows non-developers to modify and keep the master data up-to-date.

Provider DanPilot (in-house developed tool).

Interface description The website exposes no API or endpoints. It is directly connected to the PilotBoard database, so all changes

are immediately visible in PilotBoard (unless that data is cached, in which case a restart of PilotBoard may

be required.

Data Volume and Throughput N/A

Use Cases

The website is essentially a “forms over data” application and allows insert and update operations to the

data it exposes. There is typically no delete operation for each data type, since we most often invalidate

data rather that delete it (typically by setting e.g. a “ValidTo” DateTime value).

Currently, the following data can be modified using MADAM:

Employees (basic contact information for Pilots).

Routes.

PilotMarks.

Certificates (for Pilots).

Places of Employment (Locations).

VIP Customers.

Travel- and transit time tables.

Availability Not required to be highly available.

Alternatives N/A

81

3. Non-functional requirements - user experience:

This section explains the primarily non-functional requirements for the Actors when they use the System.

The requirements shal ensure an user friendly experience when using the System based on roles and the

frequency that the Actors will use the System.

This section is devided in requirements related to 6 areas:

1. General requirements

2. User interfaces should be adapted according to the Actor (and thereby role)

3. User involvement

4. Design guides

5. Messages and help

6. Technical requiremets regarding the UI

General requirements

Requirement#3.1.1: The Systems planning and dispatching part should be effective

Category: Requirement Type: Non-functional

Description: The Systems planning and dispatching part should be effective, and should enable the

experienced Actor to carry the frequently processes and tack in an effective manner

The Actor should be able to dipatch an order or a number of orders within XX minutes, or

for the Actor to Roster plan within YY minutes

Comment: The Actor is the type Dipatcher and Roster Planner

Requirement#3.1.2: Ease of use

Category: Requirement Type: Non-functional

Description: The System should be regarded as easy to use by the Actor, and the Actor should be able to

perform simple functions without reading a manual or online help.

Comment: The Actor is alle the types of roles

Requirement#3.1.3: Examples of User Interfaces (UI)

Category: Requirement Type: Non-functional

Description: The Supplier should describe a number of UI’s based on use case number XX to YY. These

82

should show how Actors are using the UI’s.

The suppliers should via 5-10 UI’s describe the process of flow use case number XX to YY

Comment: The Actor is the type Dipatcher,Roster Planner, Pilots and Boatsmen

Requirement#3.1.4: User Interfaces (UI) language

Category: Requirement Type: Non-functional

Description: The System should support Danish in all User Interfaces (UI) language in the System

including 2 way communication

Comment:

User interfaces should be adapted according to the Actor (and thereby role)

Requirement#3.1.5: Intuitively 2 way communication module

Category: Requirement Type: Non-functional

Description: The Actor should be able to use the Systems 2 way communication part intuitively, without

reading a manual or online help.

Comment: The Actor is the type Pilot or Boatman

Requirement#3.1.6: Responsive design

Category: Requirement Type: Non-functional

Description: The UI’s used in 2 ways communication should be either APP or webbased. If webbased it

should be scalable depending on device therefore based on responsive design

Comment: The Actor is the type Pilot or Boatman

Requirement#3.1.7: Devices used for 2 way communication

Category: Minimum Requirement Type: Non-functional

Description: The System for 2 ways communication should be able to function installed on/running on

the Actors Apple smart phone/tablet devices using iOS version XX or later

Comment: The Actor is the type Pilot or Boatman and all other personel

83

Requirement#3.1.8: Devices used for 2 way communication

Category: Requirement Type: Non-functional

Description: The System for 2 ways communication should be able to function installed on/running on

the Actors Android or Microsoft smart phone/tablet devices using iOS version XX or later

Comment: The Actor is the type Pilot or Boatman and all other personel

Requirement#3.1.9: Browsers used for 2 way communication

Category: Requirement Type: Non-functional

Description: The System for 2 ways communication should be able to function installed on/running on

the Actors browsers using Firefox, GoogleCrome, MS Explorer version XX or later

Comment: The Actor is the type Pilot or Boatman and all other personel

User involvement

Requirement#3.1.10: User involvement

Category: Requirement Type: Non-functional

Description: The Supplier is required to involve the Customer in the adaptation of UI’s and user

friendnliness. As part of the first phase after the contract is signed a detailed plan should

be created for this involvement. The involvement should be the Actors described below as

a minimum.

Comment: The Actor is the type Management, Dipatcher,Roster Planner, Pilots and Boatsmen

Design guidelines

Requirement#3.1.11: Danpilot design guidelines

Category: Requirement Type: Non-functional

Description: The Supplier is required to use official designguidelines provided by the the Customer

Comment: See appendix XX for Danpilot design guide

84

Messages and help This section explains the Actors possibility to get help and explanetative error messages that will enable the

Actor to resolve problems faster.

Requirement#3.1.12: Online help

Category: Requirement Type: Non-functional

Description: The System shall contain online help function, that describes navigation, functions and UI’s

that are covered in the use cases.

Comment: See use cases mentioned in section XX.

Requirement#3.1.13: Validation

Category: Requirement Type: Non-functional

Description: The System shall enable processes where errors are self-explanatory and do not require a

click on a “OK” box before continuing unless there is a specific purpose of this.

Comment:

Requirement#3.1.14: Error text

Category: Requirement Type: Non-functional

Description: The System shall enable processes where errors are shown in a way that the are easy to

understand and where the error is a text explaining the error and how the user should

correct it.

Comment:

Requirement#3.1.15: Feedback on responsetime

Category: Requirement Type: Non-functional

Description: The System shall show it’s working on an answer wthin responsetime <5 seconds.

The System shall show it’s working on an answer wthin responsetime >5 seconds and shall

show a statusindicatior on remaining time for response.

Comment:

85

Technical requiremets regarding the UI

Requirement#3.1.16: Copy and insert

Category: Requirement Type: Non-functional

Description: The System shall be able to handle copy and insert in all fields (both only readable = copy,

and readable/writable =Copy/insert)

Comment: Both only readable fields = copy, and readable/writable fields=Copy/insert

Requirement#3.1.17: Successive load of content

Category: Requirement Type: Non-functional

Description: The System shall be able to successive load of content in order to ensure that information

is presented as it is loaded

Comment: E.g. an Actor is presented for a Dashboard succescively (and not until all content and

widgets are loaded)

Requirement#3.1.18: Personalization of UI.

Category: Requirement Type: Functional

Description: The Supplier should describe what and how can be personalized and include screen shots

showing the results of different personalized set-ups.

Comment:

86

4. Information Model

Introduction This chapter provides an overview of the domain, the terms used and how they are related. The goal is two-

fold:

1. To convey an understanding of the domain, and

2. to define the scope of the new Maritime Planning and Dispatch System, in terms of the information

expected to be handled in the System.

The chapter is split into three sections, where each section first describes a part of the domain and then

concludes with specific requirements for a new Pilot Planning System. The sections are:

Order-related data.

Certificate-related data.

Geographical data model.

Order-related Data Figure 6 below shows the most important order-related data, and how they are logically related. Please

note the following:

An Order consists of one or more Jobs. In terms of the domain context: A pilotage Order can be

split across several “legs”, each one is what we refer to as a Job. Each Job is then typically a

continuous stretch from location (PilotMark) A to B to C to D etc.

The main task of the Pilot Dispatcher is to ensure that all Jobs are assigned one or more pilots and

one or more boatmen plus pilot boats. The pilots are the most “important” ones here, since

typically pilot boats and boatmen are always available, as things are today. Do note, that this may

change in the future though, when a “Hub” structure is in place.

A Route consists of exactly two PilotMarks. A PilotMark is either a port or a designated point in

Danish waters, where pilots can embark or disembark a ship for pilotage.

Activities are what dispatchers plan when assigning Jobs to Pilots or Boatmen. It is effectively the

time registration done for Pilots, from the central dispatchers. Therefore, we can also refer to these

activities as ActualActivities, as shown in the diagram. A PlannedActivity is a period where the Pilot

or Boatman has a designated plan, basically “on duty” or “off duty”, coming from the roster

planning System today (PDC). These plans are currently produced typically 3 months ahead.

A single Activity is always linked to exactly one Employee (we use the term “Resource” below, to

refer to either a Pilot or Boatman). Activities are subject to rest-time validation as well. Pilots have

a unique set of rest-time regulations that must be validated whenever a Job is assigned (new

activities are created) or something changes to an existing plan (e.g. a Job is moved in time – all

Activities must be adjusted accordingly and re-validated).

PlaceOfEmployment is currently used as the name of a physical location on ground - a point with

postal address - in general. Pilots have a designated “home” place of employment. As can be seen

from Figure 6 below, PilotMarks are also linked to such locations, via links to the same

PlaceOfEmployment entity. An Activity can also have an “end” PlaceOfEmployment set. This is

currently used for tracking the location of an Employee.

87

Figure 6. Overview of the primary domain concepts; the Order-related entities and relationships.

Certificate-related Data

A Pilot Planning System for use in Denmark must also handle pilot certificates. The current regulations

governing pilot certificates are the responsibility of the Danish Maritime Authority (DMA), and can be found

here:

Pilot Certificate Regulations (Retsinformation)

(only available in Danish).

Figure 7 below gives an overview of how these certificates can be modelled in a Maritime Planning and

Dispatch System. The following describes the various entities involved in the proposed model.

A Certificate is coupled either to an Area (a named part of Danish waters) or to a port.

(AreaCertificate and PilotMarkCertificate, respectively. A port is also a PilotMark).

The Certificate model handles the fact that the current certificate System maintained by the DMA is

level-based. A pilot typically starts out at level 1, after his time as “aspirant” has been completed.

Periodically, a status is done for each pilot’s certificates, and the pilot is possibly moved to the next

level.

A CertificateLevel defines the “size” of ships, which the pilot is allowed to handle. Parameters are

typically: Length, Beam, Draught and Gross Tonnage. Each level then defines the max. value for

each parameter that a pilot holding that level is allowed to board.

Each Job must be matched with the minimum certificate-requirements. I.e. depending on the size

of the Ship and the Route for which pilotage is ordered, a set of minimum certificate levels can be

collected (JobCertificateLevel). To be a valid “match”, any Pilot assigned to a Job must have at least

the required level per Certificate required by the Job. This is critical in order not to plan and

dispatch a Pilot to a Ship which he is not allowed to board.

Order

Job

Route Ship

PilotMark PlaceOfEmployment

Resource

Employee

PilotBoat VehiclePilot Boatman

Activity

ActualActivity PlannedActivity

2

Transport

Legend for the Crow's foot notation used.

88

Figure 7. A conceptual model for capturing requirements for Pilot Certificates. Data regarding the certificates tend to more static. Data regarding the requirements for a given Job (JobCertificateLevel) is more dynamic. These could vary for each passage of a given Ship, typically depending on the Route and draught.

Reporting Completed Jobs to the DMA Each Pilot is currently required to report his completed pilotage jobs to the DMA periodically. This so the

DMA can keep track of certificate renewals/withdrawals. One possible future integration is to do this

reporting automatically. For details on this, see XX

Geographical Data Model The Pilot Planning System must include a geographical data model, to support the following:

Display/tracking of whereabouts for Pilots and Boatmen and (possibly also) Pilot Boats. Not

necessarily as a plot on a geographical map, since DanPilot already has a System specifically for this

(GAD). It could be as a simple on-screen status “Current location” for each Employee. Using this,

dispatchers can easily determine the last known location for each Employee.

The ability to produce “Job plans” for Pilots and Boatmen, that take the current/last known location

of an Employee into account. E.g. in order to suggest/produce a travel plan (on ground) for each

employee.

The ability to validate rest time rules. E.g. for the Pilots we currently need to account for how long

time (hours and minutes) a Pilot has been “away” from his home Place of Employment (the so-

called 96-hours rule (See Rules for Rest). This is one out of eight rules that apply today for Pilots. To

validate this rule, the System needs to track Pilots’ locations with at least a precision as described

above.

Figure 8 is one possible model for tracking the location of the needed resources and activities. The

following describes the diagram further:

A Job always has a single Route associated. The Route always has exactly two PilotMarks (a start and end,

with a known distance etc.). Each PilotMark is associated with one or more PlaceOfEmployments (~ a

location on ground). Each PilotMark is also associated with one or more Boatstations, since occasionally a

PilotMark can be services from multiple Boatstations. A Boatstation always has a single

PlaceOfEmployment (a Boatstation is a physical location, on ground). A Hub has one or more Boatstations it

Job

Employee

JobCertificate-Level CertificateLevel

Certificate

Certificate-Category

Certificate-Type

Employee-Certificate

EmployeeCertificate-Level

PilotMark-Certificate

Area-Certificate

Legend for the Crow's foot notation used.

89

services. A Boatman is most often allocated to 1 boatstation, but there are some which are allocated to

more than one.

A Resource (Pilot, Boatman, Pilot boat etc.) typically has a set of Activities, representing Jobs that are

assigned to that Resource, the rest periods in-between Jobs (for Pilots and Boatmen) plus travel time over

ground. An Activity can be associated with a single PlaceOfEmployment. As a minimum requirement, the

Activities that move a Resource from one location to another, must all have a designated end-location.

Figure 8. Geographical model for capturing the "location" needs in the System.

Job Route RouteArea

PlaceOfEmployment

Boatstation

Area

PilotMarkPilotMark-

Group

2

Activity

Boatman(Resource)

Hub

Legend for the Crow's foot notation used.

90

Requirement#4.1.1: Order-related entities and relationships

Category: Requirement Type: Functional

Description: The System should support the use of the information model of order-related entities

and relationships in figure 6

Comment:

Requirement#4.1.2: Certificates -related entities and relationships

Category: Requirement Type: Functional

Description: The System should support the use of the information model of certificates -related

entities and relationships in figure 7

Comment:

Requirement#4.1.3: Tracking the location -related entities and relationships

Category: Requirement Type: Functional

Description: The System should support the use of the information model of tracking the location-

related entities and relationships in figure 8

Comment:

91

5. Business rules

Current Union Agreements (rules) The enclosed union agreements are only available in Danish. [If the Supplier do not understand the wording

of these agreements it is the Suppliers own responsibility to ensure translation of these]

Pilots: Please refer to appendix XX

Boatmen 1: Please refer to appendix XX

Boatmen 2: Please refer to appendix XX

Requirement#5.1.1: Union Agreements – Pilots

Category: Minimum Requirement Type: Functional

Description: The System should be able to support the union agreement for pilots

Comment:

Requirement#4.1.2: Union Agreements – Boatmen 1

Category: Minimum Requirement Type: Functional

Description: The System should be able to support the union agreement for Boatmen 1

Comment:

Requirement#4.1.3: Union Agreements – Boatmen 2

Category: Minimum Requirement Type: Functional

Description: The System should be able to support the union agreement for Boatmen 2

Comment:

92

State agreements Please refer to appendix XX

Requirement#4.1.4: Union Agreements – State agreements

Category: Minimum Requirement Type: Functional

Description: The System should be able to support the union agreement for the State

Comment:

93

Current Union Agreements (rules) and their interpretation

Pilots This section based on a workshop regarding the business issues that Danpilot has regarding current Union

Agreements primarily based on the agreement with Pilots. The Supplier should regard this a interpretation

of the current Union Agreement with Pilots.

General overview: Rostering and dispatching of pilots

1. Today’s processes

2. Todays challenges

3. Rostering

4. Dispatching

As-is processes for rostering and dispatching

1. Forecast of demand:

For present not any long-term forecast, i.e. 3-12 months forecast.

Experimenting with “watch dog” for early detecting of possible incoming orders 72 hours in

advance.

Experimenting with 12-24 hours forecast of ETA based on real time AIS-data for known orders

2. Rostering:

Rosters are made 3 months in advance for pilots

Rosters are made 3-12 month in advance for boatmen

3. Dispatching:

Real time dispatching of pilots and boatmen handles incoming orders with

o 4-hour notice for pilotage from port

o 24-hour notice for pilotage to port

o 18-hour notice for transit pilotage

As-is tools

1. Forecast of demand: Real time monitoring of AIS-data for vessel traffic used for calculation of ETA (estimated Time of

arrival) for known orders.

2. Rostering: - IT-System with control of rules and calculation of simple statistics of different kinds supporting the

manual rostering.

3. Dispatching: - IT-System with decision support based on different kinds of filtering and sorting of data supporting

the manual dispatching.

Main challenges for the time being 1. Lack of reliable forecast of demand for pilotage based on AIS-data

2. We do not know how well rosters fit to the demand and how well we exploit the working hour

rules. The main issue is ”how can we reduce the generation of overtime by improving our rostering

(and forecast?) procedures”?

94

3. We do not know how well the processes for dispatching work and how the many different working

rules interact with each other.

4. We do not know if we are the right number of pilots in order to minimize the operating costs at

DanPilot.

Overtime is created in the process

3 steps to reduce overtime

Some important rules for rostering

- 153 duties per pilot per year

- 12 standby duties pr pilot pr year

- At maximum 20 duties per month

- Rosters are made for 3 months and announced at the latest the 10th in the month before the first

duty

- A duty last for exact 24 hours, e.g. from 12:00 to 12:00

- At least 3 duties in a row

- At maximum 9 duties in a row

- A sequence of duties may not start or end in a weekend

95

- At maximum 23 ”duty-weekends” per year

Some important rules for dispatching - A pilot have to have in average 11 hours of rest per day, i.e. duty of 24 hours, interpreted as

o At least 8 hours of rest during the first 24 hours on duty

o At least 20 hours of rest during the first 48 hours on duty

o At least 33 hours of rest during the first 72 hours on duty

- A period of rest is at least 8 hours, but can be divided into 2 periods of which one must be at least 6

hours

- After 3 nights in a row with pilotage the pilot must rest at least in the full interval from 22:00 to

06:00

- After 96 hours of pilotage the pilot must rest at least 8 hours at home or at his own pilot station

- Travel time must be considered as working hours

96

Minutes of workshop regarding interpretation of working rules for dispatching pilots

Rules in PilotBoard The figure to the right shows the rules implemented in

PilotBoard.

All rules are derived from the current agreements.

Since there are found examples indicating that some rules

may have been interpreted more restrictively than the

wording in the agreements, there is a need to discuss what

we believe is the correct interpretation for dispatching in

PilotBoard.

In addition, there is a rule of "lost rest", implemented on

request of a former pilot manager, but there seems to be

no justification of this within the agreements.

The purpose of the presented cases

The following slides are based on the most important rules regarding the rest periods as agreed in working

rules between DanPilot and the trade union.

For each rule, several cases are set up (or questions if you like). Each of these cases require a discussion to

decide if the case is legitimate or not per the text of the current agreements.

It should be emphasized that it is legality, not the appropriateness of the individual cases we desire to

discussed.

I am aware that the given cases are extreme and "on the edge". But it is precisely through discussions of

extremes, where things are put at stake, we can get the full understanding of how the frames in the

agreement legally can be exploit in daily dispatching.

Next step? Whatever we might find out during the discussion of individual cases, it will not lead to any change “right

now". Any change in relation to today's practice, where applicable, should be assessed

- assessed in relation to the law

- assessed in management terms in relation to the consequences

- discussed with the trade union

But having said that, we of course also must deal with the conclusions of the debate, should it turn out that

today's policies are more restrictive than the applicable agreements.

Rest periods over several days Wording of the agreement:

§3. The provision in section 1, paragraph a. may be waived, provided that the individual pilot within any

three-day period in total has 33 hours rest distributed as follows:

97

- Duty day 1 the pilot must have had a minimum of 8 hours of total rest.

- Duty day 2 the pilot must have had a minimum of 20 hours of total rest.

- Duty day 3 the pilot must have had a minimum of 33 hours of total rest.

Section 2. For duties that exceeds three days, the provision of 33 hours of total rest in the past 72 hours

must be fulfilled at any time after the third duty day.

Section 3. Within each duty day the pilot must have at least one rest period of continuous 6 hours. The

hours of rest within a duty day may at maximum be divided into 2 rest periods, and the pilot must not work

more than 13 hours between 2 rest periods.

Comments to the discussions on rest periods over several days BP do not allow that pilots are more than 6 hours on the bridge without a rest.

- It may conflict with our desire to optimize the work and rest periods for pilots.

- Should it cost extra (possibly free via special discount for large customers?)

The rule of a maximum of two periods of rest per day is problematic for ships in transit,. In those cases, we

have to distinguished between started and completed the rest periods. There setup of rules in PilotBoard

regarding this was done in dialogue with former pilot manager Poul Christensen.

- In Sound, where "often" occurs three rest periods, there has been a practice in which the third rest

period is called "various work". It is also in PilotBoard decided not to "make pilots red" in case of

Current practice generally follows the setup of the

PilotBoard

98

more than 2 rest periods as the dispatchers manually control it. More than 2 rest periods also

appear in Esbjerg, where a pilotage typically takes 1½-2 hours. To a lesser extent, we have similar

challenges at Kalundborg / Stigsnæs.

Shall work be divided equally between the pilots on a non-stop transit pilotage? Or is it OK to optimize it, if

it gives an unequal distribution of the pilotage?

Some (few?) pilots are convinced that there is a rule saying that after the third duty day they shall be given

at least 11 hours of rest per day. However, the agreement does not contain such a clause.

99

Rest periods gives over several periods

Wording of the agreement: §3. The provision in section 1, paragraph a. may be

waived, provided that the individual pilot within any

three day period in total has 33 hours rest distributed

as follows:

- Duty day 1 the pilot must have had a minimum

of 8 hours of total rest.

- Duty day 2 the pilot must have had a minimum

of 20 hours of total rest.

- Duty day 3 the pilot must have had a minimum

of 33 hours of total rest.

Section 2. For duties that exceeds three days, the

provision of 33 hours of total rest in the past 72 hours

must be fulfilled at any time after the third duty day.

Section3. Within each duty day the pilot must have at least one rest period of continuous 6 hours. The

hours of rest within a duty day may at maximum be divided into 2 rest periods, and the pilot must not work

more than 13 hours between 2 rest periods.

“Lost rest”

Wording of the agreement Wording of the agreement:

§3. Section 3. Within each duty day the pilot must

have at least one rest period of continuous 6

hours. The hours of rest within a duty day may at

maximum be divided into 2 rest periods, and the

pilot must not work more than 13 hours between

2 rest periods.

*) Former pilot manager Poul Christensen

introduced back in 2009/10 a practice saying that

a rest period should be at least 2 hours.

Comments to the discussions on the setup of rest periods in PilotBoard The whole setup of rest periods in Pilot Board should be regarded as a "total package", as there are several

"grey areas" in the agreements, which are difficult to handle in practice, for instance

- How do you determine if a day has more than two rest periods when you constantly should look at

rolling 72 hours?

- Is it practice possible to plan the transit pilotages if you never must have more than two rest

periods per 24 hours?

100

- What is the minimum allowable period of rest in practice?

- In Sound, you need to plan with more than two rest periods per day

When we in the past implemented many of the above things a "total package" over time occurred in

dialogue with among others the former pilot manager Poul Christensen. So, if or when we make changes to

the “total package" we should carefully consider the pros and cons.

Rest period in connection with night piloting

Wording of the agreement §3. Section 4: After 3 consecutive days of duty where night

pilotage occurred, the subsequent night at minimum must

include a rest period in the full-time interval 2200-0600.

§5. Travel time in connection with night pilotage is

considered as work.

The instructions regarding night pilotage (page 7): Night

pilotage defined as piloting a minimum of 3 hours in the

period 22-06.

The instructions regarding rest time (page 9): After 3

consecutive duty days where night pilotage occurred

(which must be understood as three consecutive nights,

each with piloting of at least 3 hours in the period between

22 and 06), the pilot must have a rest period covering the

full time interval from 2200 to 0600 the following night

101

Rest periods after more than 4 days of piloting

Wording of the agreement §3.Section 5. Since the quality of rest facilities, as well

as bed conditions, toilets etc. are of widely varying

standard, and that on ships are highly variable noise

and heat / cold, the pilots can not be imposed to be

piloting, for more than four consecutive day, without

having had the opportunity to hold a rest at home /

place of employment. If the pilot himself find he is

ready for further piloting this is the pilot's own

decision.

The instructions regarding rest time (page 9): Since

the quality of rest facilities, as well as bed conditions,

toilets etc. are of widely varying standard, and that on

ships are highly variable noise and heat / cold, the

pilots can not be imposed to be piloting, for more

than four consecutive day, without having had the

opportunity to hold a rest at home*. If the pilot

himself find he is ready for further piloting this is the

pilot's own decision

Clarification of the rest Agreement "4 days of rule":

The above provision must be understood such that the pilot only after 4 days of pilotage have the

possibility to rest at home / place of employment.

The length of the rest period at home / place of employment after 4 days of piloting shall be at minimum of

8 hours.

Within the four days, a rest period of at least 6 hours in the home / place of employment will interrupt "4

days of rule", so that the "counter will be reset.“

My own comment:

*) Note that this is not stated as home / place of employment, in opposite to the wording of §3 paragraph 5

102

Comments to the discussion on rest after 4 days of piloting 1. A significant part of the discussion was about whether one can distinguish between working and

pilotage. The expectation was that Danish Pilots (the trade union) probably thinks that we cannot

distinguish between working and piloting, while DanPilot rightly can argue that there must be a

reason there in the agreements have been used two different words.

2. If the pilot must be reset with 6 hours of rest at place of employment / home, shall then all 6 hours

be kept within the 4-day period of 96 hours - or shall the 6-hour rest period just begin before the 96

hours have passed?

3. If the pilot “is reset" at the home, travel time also counted as working time, so it may be a trade-off

if you rest in your home or place of employment.

4. Some (few) pilots “claim" that they must rest at the home.

5. If at some point of time we may consider to change the rule so that pilots can be "reset" at a

“foreign” place of employment, one must consider how the pilots then can manage to wash

clothes, etc. since a pack with sleeping bag, clothing for 9 days including winter clothing seems

unrealistic for transit pilots.

Anything else?

Finally, there was a long-lasting discussion of various issues in relation to travelling in cases where the pilot

does not check in at the place of employment when he starts a period of duty days. There seems to be

numerous advantages and disadvantages of the current practice, including some glaring examples of how

bad things sometimes went compared to intensions in the agreements regarding work and rest periods.

Perhaps this issue could be suitable for another workshop on how to setup the rules in the PilotBoard.

103

Possible changes to working rules for pilots 1. Introduction

Even though agreements between DanPilot and Danske Lodser15 seems to be permanent or static it is

important to bear in mind that there continuously will be a need for easy access to make changes to the

rules. Changes to rules can be caused by for example

New interpretations of the wording of the rules

Updates to best practice for dispatching

New agreements

The purpose with the following sections are to give an impression of possible changes to the rules in the

future. The following examples may not be considered as a complete list as it only is meant as illustrative

examples of the wanted flexibility that shall enable the super users to define, cancel, and maintain working

rules on their own.

15

The trade union for Danish pilots

104

2. Possible changes for rostering of pilots

Current rule (or interpretation) Possible new rule (or interpretation)

A roster for 3 month shall contain a certain number

of duty days (3x12.75 = 38.25) and standby days

(3x1 = 3)

The number of duty days and standby day can vary

depending of the time/month of the year. Per

calendar year there shall be at maximum 153 duty

days and 12 standby days.

Shift changes are not allowed in weekends, i.e. at

Saturdays or Sundays.

Shift changes are allowed in weekends, or at least

in a limited number of weekends per year.

Duty days are always 24 hours. Duty days can be less than 24 hours, for example

12 hours.

A day in a roster consist of only one type of duty,

for example on duty, standby, nonworking or

vacation.

Days in a roster can consist of more than one type

of duty, for example 12 hours of duty followed by

12 hours of nonworking day.

Days in a published roster cannot be changed. Standby days in a published roster cannot be

changed, i.e. cancelled, or assigned, with 72 hours’

notice.

Currently standby duties are placed at the

beginning or at the end of a shift.

Standby duties may also be placed inside of a shift.

105

3. Possible changes for dispatching of pilots

Current rule (or interpretation) Possible new rule (or interpretation)

The call in order for pilots on overtime is

1. pilots on standby 2. pilots on nonworking day 3. pilots on day off 4. pilots on vacation

In case of none pilots on standby duty and nobody

accept to be called in on overtime DanPilot can

force pilots on nonworking days to be called in on

overtime.

The call in order for overtime is

1. pilots on standby 2. pilots on nonworking day 3. pilots on day off 4. pilots on vacation

In case of none pilots on standby duty and nobody

on nonworking days accept to be called in on

overtime DanPilot can force pilots on nonworking

days to be called in on overtime without first

calling pilots on day off or vacation.

The starting time of a shift is fixed and given by the

roster.

The starting time of a shift can be staggered with

e.g. +/- 2 hours in relation to the time given by the

roster without triggering overtime payment.

After 96 hours of pilotage without resting at place

of employment or at home the pilot shall be

offered the opportunity to rest at place of

employment or at home.

After 96 hours of pilotage without resting at a

DanPilot station or hotel the pilot shall be offered

the opportunity to rest at a DanPilot station or at

hotel.

Every third month rosters for the following three

months are published.

Every month the rosters for the month 2 month

ahead are published.

Days in a published roster cannot be changed. Duty days can be cancelled with short notice and

be given as an extraordinary duty day in the first

coming roster in addition to ordinary duty days.

Currently some rules are implemented more

restrictive than the wording of the agreements. An

example of this is “lost rest”, which means that

rest periods less than 2 hours are considered as

work and not rest.

For example, we would like to consider the “2

hours” as a soft rule (or parameter) that can be

relaxed or set to something lesser, e.g. 1:50

depending.

Requirement#4.1.5: Union Agreements – Possible changes for rostering of pilots

Category: Minimum Requirement Type: Functional

Description: The System should be able to support the the union agreement’s possible changes for

rostering of pilots

Comment:

106

4. Possible changes overtime remuneration for pilots

Current rule (or interpretation) Possible new rule (or interpretation)

Pilots are remunerated for all overtime hours

including resting periods

Pilot are remunerated for all overtime hours

excluding resting periods or alternatively at

maximum for 16 hours per day.

As the days in rosters are fixed so are the

remuneration in case of overtime as the hourly

salary is determined by the type of the day.

Nonworking days are not fixed in the rosters but

considered as “floating nonworking days”. This

means that the 51 yearly nonworking days are

assigned when the pilot is called in for overtime.

Thereby DanPilot do not have to pay for

replacement days as it is the case for overtime

carried out on a day off or a vacation day.

Requirement#4.1.6: Union Agreements – Possible changes for dispatching of pilots

Category: Minimum Requirement Type: Functional

Description: The System should be able to support the the union agreement’s possible changes for

dispatching of pilots

Comment:

Requirement#4.1.7: Union Agreements – Possible changes overtime remuneration for pilots

Category: Minimum Requirement Type: Functional

Description: The System should be able to support the the union agreement’s possible changes for

overtime remuneration for pilots

Comment:

107

Standard Operating Procedures

1. Introduction

DanPilot have several Standard Operating Procedures (SOP) for e.g.

Rostering of pilots

Dispatching of pilots

Customer service instructions

Safety instruction for pilotage

Safety instructions handling of pilot boats

Maintenance instructions for pilot boats

Some of those SOPs will be relevant for dispatching of pilots and boat men other will be irrelevant for

dispatching.

The following sections provides some examples relevant for dispatching and customer service. The purpose

of this is not to give a complete list of relevant SOPs or detailed descriptions of the SOPs but simply to

illustrate the interaction between SOPs and especially dispatching.

2. SOPs for dispatching

Some dispatching SOPs can be considered as interpretation of agreed working rules, some as “best

practice” and others rather as rules of thumb.

2.1 Regional pilotage to or from Skagen or Gedser

Regional pilotages to/from Skagen: Pilotages to/from Kalundborg, Fredericia, Aabenraa of Stigsnæs should in principle be performed as

non-stop pilotages. Change of pilots at Grenaa is not allowed as the ship will derivate from Route T. If

there for operational reasons is a need to deviate from this, contact the head of Dispatching.

Regional pilotages to/from Gedser Pilotages to/from Kalundborg, Fredericia, Aabenraa of Stigsnæs should in principle be performed

with change of pilotages.

108

2.2 Northbound transit pilotages to Skagen

VIP customers: All VIP customers are, notwithstanding draft, offered non-stop pilotages.

All other customers: For all other customers pilotages will, notwithstanding draft, have change of pilot underway. Change

of pilots is not allowed at Grenaa for customers a draft of 11 meter or more. If there for operational

reasons is a need to deviate from this, contact the head of Dispatching.

2.3 Southbound transit pilotages to Gedser or Allinge

VIP customers: All VIP customers are, notwithstanding draft, offered non-stop pilotages.

All other customers: All other customers will, notwithstanding draft, have change of pilot underway. We will provide 2

pilots on the stretch from Skagen to Korsør. After Korsør pilots can be changed underway. Change of

pilots is not allowed at Grenaa except in exceptional circumstances. If there for operational reasons

is a need to deviate from this, contact the head of Dispatching.

2.4 Purchase of non-stop pilotage

Non VIP customers: For non VIP customers non-stop transit pilotages can be requested at a fixed price. If DanPilot not

can provide this service without calling pilots in at overtime, the dispatcher is allowed to refuse to

offer this service.

Requirement#4.1.8: SOPs for dispatching

Category: Requirement Type: Functional

Description: The System should support the above mentioned SOPs number 2.1 to 2.4 for dispatching

Comment: