6 Corporate Data Transfer Interface

The Corporate Data Transfer Interface (CDTI) provides a mechanism for transferring data to external systems outside of customer domain to other vendors too. It is based at shore-side location and uses the Fleet Management database. This interface is flexible and dynamic and enables the shore-side user to modify settings to provide formatted/customized solution.

Methods of Data Transfer

The following methods of data transfer are available:
  • Transmission Control Protocol/Internet Protocol (TCP/IP) Connectivity - This method allow the external system to establishes a direct connection to the CDTI, and on the Listener port as and when required and poll data based on pre-agreed messages. The external system would also open a listener port which allow the CDTI to send any triggered messages. This method sends a full record in one message.

  • Flat File Transfer - Enables you to assign a pre-agreed folder as the location to place the files whenever it is scheduled to do so.

  • Microsoft Message Queuing (MSMQ)- This method is provided on-demand, only if the external system can work with MSMQ. If it is, then messages are transferred over MSMQ to a predefined queue with the structure being exactly similar to that of the TCP/IP Connectivity. In this method, one message contains one full record only.

  • Web Service- This method allows you to call web service methods periodically using the required parameters.

  • In Exporter, data transfer is done through File transfer and web service. In Importer, data transfer is done through TCP/IP, MSMQ.

Message Formats

The following message formats are available:
  • Extensible Markup Language (XML) format - This follows the Extensible Markup Language (XML) Schema 1.1 standard. This method is available in all three methods of data transfer.

  • Delimited Flat File - This method enables the CDTI to throw an output in tab-separated values (TSV), comma-separated values (CSV) or any other user-defined delimiting character. This method is available only in the Flat File data transfer.

  • Fixed Length Flat File - This enables the CDTI to write output in a pre-defined fixed length for each column in the transfer. This method is available only in the Flat File data transfer.

  • JSon Format –This format is used for web service integration only.

Types of Data Transfer

The following types of data transfer are available:
  • Triggered Messages - These are messages that the CDTI sends automatically to the external system whenever an event is triggered. This could be when a particular cruise is closed in the cruise table or after a certain time of the cruise closing, to ensure all data from the ship has transferred completely from the ship to shore. This method supports all three data transfers.

  • On-Demand Messages - These are pre-defined messages that the external system sends to the CDTI and gets an answer in a pre-defined format. This method only supports the TCP/IP and MSMQ transfer methods.

Type of Connections

The CDTI enables you to define multiple connections, both Inward and Outward. The Inward connection receives message requests and the outward connection sends the responses. The following are the types of connections available :
  • Inward Connection - There are two types of Inward connections you can use - TCP/IP and MSMQ. On the TCP/IP, you can define the port that the CDTI should open and listen. On the MSMQ, you can define the name of the Private Queue on the local machine that the CDTI should poll regularly.

  • Outward Connection - You can define, as many Outward connections as there are external systems. One External system can also have more than one Outward Connection. The Outward Connections can also include the Flat File Transfer.

Message Structure

The CDTI can handle many messages. These messages are definable through the Corporate Data Transfer Interface, providing you the flexibility dynamically. The following is an example of message structure.

Request:
<?xml version=1.0 standalone=yes?>
  <request>
    <shipid>SHIP_ID</shipid>
    <sailingdate>SAILING_DATE</sailingdate>
    <guestid>GUEST_ID</guestid>
  </request>
Response:
<?xml version=1.0 standalone=yes?>
<response>
    <shipid>SHIP_ID</shipid>
    <sailingdate>SAILING_DATE</sailingdate>
    <guestid>GUEST_ID</guestid>
    <type>Passenger Reservations</type>
    <cancel>N</cancel>
    <booking>
      <personalinfo>
        <firstname>Name</firstname>
        <lastname>LastName</lastname>
        <dateofbirth>DATE_OF_BIRTH</dateofbirth>
        <gender>PASSENGER_GENDER</gender>
      </personalinfo>
      <passportinfo>
        <nationality>Country</nationality>
        <passportno>PASSPORT_NO</passportno>
        <passportissuedate>PASSPORT_ISSSUE_DATE</passportissuedate>
        <passportissueplace>PlaceofIssue</passportissueplace>
        <passportexpirydate>PASSPORT_EXPIRY_DATE</passportexpirydate>
      </passportinfo>
      <cabininfo>
        <cabintype>CABIN_TYPE</cabintype>
      </cabininfo>