CruiseCharts
Also available: DeckCharts
· interactive deck plans · more than 1,000 cruise ships ·
 
       
 

XML Data


Our cruise content is supplied as two static XML files, regularly updated, in the following format:



Here is a sample schema file for our CruiseCharts XML file. We can customize your data package and the data can be published in other formats as well.

    <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>
    <!-- Copyright (C) Alsek Technologies, Inc. -->
    
    
    <xs:element name="CruiseCharts"><xs:complexType>
    	<xs:sequence>
    	<xs:element ref="Itinerary" minOccurs="0" maxOccurs="unbounded" />
    	</xs:sequence>
    	<xs:attribute name="Copyright" use="required" type="xs:string" />
    	<xs:attribute name="Exported" use="required" type="xs:dateTime" />
    </xs:complexType></xs:element>
    
    
    <xs:element name="Itinerary"><xs:complexType>
    	<xs:choice minOccurs="0" maxOccurs="unbounded"> 
    		<xs:element ref="ItineraryType" minOccurs="0" maxOccurs="unbounded" />
    		<xs:element ref="ItineraryItem" minOccurs="0" maxOccurs="unbounded" />
    		<xs:element ref="Departure" minOccurs="1" maxOccurs="unbounded" />
    	</xs:choice>
    	<xs:attribute name="TotalFullDays" use="required" type="xs:int" />
    	<xs:attribute name="CruisingFullDays" use="required" type="xs:int" />
    	<xs:attribute name="StartLocationName" use="required" type="xs:string" />
    	<xs:attribute name="EndLocationName" use="required" type="xs:string" />
    	<xs:attribute name="DistributorName" use="required" type="xs:string" />
    	<xs:attribute name="DistributorCode" use="required" type="xs:string" />
    	<xs:attribute name="LargeMapFilename" use="required" type="xs:anyURI" />
    	<xs:attribute name="LargeMapHtmlMap" use="required" type="xs:string" />
    	<xs:attribute name="SmallMapFilename" use="required" type="xs:anyURI" />
    	<xs:attribute name="ItineraryContent" use="optional" type="xs:string" />
    </xs:complexType></xs:element>
    
    
    <xs:element name="Departure"><xs:complexType>
    	<xs:sequence>
    	<xs:element ref="Price" minOccurs="0" maxOccurs="unbounded" />
    	</xs:sequence>
    	<xs:attribute name="DepartureDate" use="required" type="xs:date" />
    	<xs:attribute name="ShipName" use="required" type="xs:string" />	
    	<xs:attribute name="OperatorName" use="required" type="xs:string" />	
    	<xs:attribute name="OperatorDepartureCode" use="optional" type="xs:string" />
    	<xs:attribute name="OperatorCode" use="optional" type="xs:string" />
    	<xs:attribute name="ShipCode" use="optional" type="xs:string" />
    	<xs:attribute name="OperatorDepartureName" use="optional" type="xs:string" />
    </xs:complexType></xs:element>
    
    
    <xs:element name="ItineraryItem"><xs:complexType>
    	<xs:attribute name="SortOrder" use="required" type="xs:int" />
    	<xs:attribute name="CalendarDayOffset" use="required" type="xs:int" />
    	<xs:attribute name="AbsoluteDayOffset" use="required" type="xs:int" />
    	<xs:attribute name="LocationID" use="required" type="xs:int" />
    	<xs:attribute name="LocationName" use="required" type="xs:string" />
    	<xs:attribute name="ArrivalTime" use="optional" type="xs:time" />
    	<xs:attribute name="DepartureTime" use="optional" type="xs:time" />
    </xs:complexType></xs:element>
    
    
    <xs:element name="ItineraryType"><xs:complexType>
            <xs:attribute name="ItineraryTypeName" use="required" type="xs:string" />
            <xs:attribute name="ItineraryTypeNameShort" use="required" type="xs:string" />
    </xs:complexType></xs:element>
    
    
    <xs:simpleType name="Filename">
    	<xs:restriction base="xs:string">
    		<xs:pattern value="[a-f0-9]+[.](jpg|png|gif)" />
    	</xs:restriction>
    </xs:simpleType>
    
    
    <xs:element name="Price"><xs:complexType>
    	<xs:attribute name="CategoryCode" use="required" type="xs:string" />
    	<xs:attribute name="Rate" use="required" type="xs:decimal" />
    	<xs:attribute name="CurrencyCode" use="required" type="Currency" />
    </xs:complexType></xs:element>
    
    
    <xs:simpleType name="Currency">
    	<xs:restriction base="xs:string">
    		<xs:enumeration value="USD" />
    		<xs:enumeration value="CAD" />
    		<xs:enumeration value="EUR" />
    		<xs:enumeration value="AUD" />
    		<xs:enumeration value="GBP" />
    		<xs:enumeration value="JPY" />
    	</xs:restriction>	
    </xs:simpleType>
    
    
    </xs:schema>




Here is a sample schema file for our DeckCharts XML file. The data package can be customized and we offer several methods of visualization of cabin availability.

    <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>
    <!-- Copyright (C) Alsek Technologies, Inc. -->
    
    
    <xs:element name="DeckCharts"><xs:complexType>
    	<xs:sequence>
    	<xs:element ref="Ship" minOccurs="0" maxOccurs="unbounded" />
    	</xs:sequence>
    	<xs:attribute name="Exported" use="required" type="xs:dateTime" />
    	<xs:attribute name="ImagesUrlRoot" use="required" type="xs:string" />
    </xs:complexType></xs:element>
    
    
    <xs:element name="Ship"><xs:complexType>
    	<xs:sequence>
    	<xs:element ref="ShipChart" minOccurs="1" maxOccurs="unbounded" />
    	</xs:sequence>
    	<xs:attribute name="ShipName" use="required" type="xs:string" />
    	<xs:attribute name="OperatorName" use="required" type="xs:string" />
    	<xs:attribute name="InitialDeployment" use="required" type="RecentYear" />
    	<xs:attribute name="LatestRefurbishment" use="optional" type="RecentYear" />
    	<xs:attribute name="CdcAverageInspectionScore" use="optional" type="AverageCdcScore" />
    	<xs:attribute name="CdcLastInspectionDate" use="optional" type="xs:date" />
    	<xs:attribute name="CdcLastInspectionScore" use="optional" type="CdcScore" />
    	<xs:attribute name="SmallPhoto" use="required" type="Filename" />
    	<xs:attribute name="LargePhoto" use="required" type="Filename" />
    	<xs:attribute name="ShipID" use="required" type="xs:int" />
    </xs:complexType></xs:element>
    
    
    <xs:element name="ShipChart"><xs:complexType>
    	<xs:sequence>
    	<xs:element ref="Legend" minOccurs="1" maxOccurs="1" />
    	<xs:element ref="Deck" minOccurs="1" maxOccurs="unbounded" />
    	</xs:sequence>
    	<xs:attribute name="StartDate" use="required" type="xs:date" />
    	<xs:attribute name="EndDate" use="required" type="xs:date" />
    	<xs:attribute name="Copyright" use="required" type="xs:string" />
    	<xs:attribute name="NumberOfPublicDecks" use="required" type="xs:int" />
    	<xs:attribute name="NumberOfInsideCabins" use="required" type="xs:int" />
    	<xs:attribute name="NumberOfOutsideCabins" use="required" type="xs:int" />
    	<xs:attribute name="NumberOfBalconyCabins" use="required" type="xs:int" />
    	<xs:attribute name="NumberOfSuiteCabins" use="required" type="xs:int" />
    	<xs:attribute name="PassengerCapacity" use="required" type="xs:int" />
    	<xs:attribute name="CrewCapacity" use="required" type="xs:int" />
    	<xs:attribute name="Tonnage" use="optional" type="xs:int" />
    	<xs:attribute name="ProfileFilename" use="required" type="Filename" />
    	<xs:attribute name="SpecificToDistributorID" use="optional" type="xs:int" />
    </xs:complexType></xs:element>
    
    
    <xs:element name="Legend"><xs:complexType>
    	<xs:sequence>
    	<xs:element ref="LegendItem" minOccurs="0" maxOccurs="unbounded" />
    	</xs:sequence>
    </xs:complexType></xs:element>
    
    
    <xs:element name="LegendItem"><xs:complexType>
    	<xs:attribute name="LegendText" use="required" type="xs:string" />
    	<xs:attribute name="IconFilename" use="required" type="Filename" />
    </xs:complexType></xs:element>
    
    <xs:element name="Deck"><xs:complexType>
    	<xs:sequence>
    	<xs:element ref="ShipProfileImageMapArea" minOccurs="0" maxOccurs="unbounded" />
    	<xs:element ref="ConnectingCabins" minOccurs="0" maxOccurs="unbounded" />
    	<xs:element ref="PublicArea" minOccurs="0" maxOccurs="unbounded" />
    	<xs:element ref="Category" minOccurs="0" maxOccurs="unbounded" />
    	</xs:sequence>
    	<xs:attribute name="DeckName" use="required" type="xs:string" />
    	<xs:attribute name="OtherDeckName" use="optional" type="xs:string" />
    	<xs:attribute name="SortOrder" use="required" type="xs:int" />
    	<xs:attribute name="DeckFilename" use="required" type="Filename" />
    	<xs:attribute name="IsDefaultDeck" use="required" type="xs:boolean" />
    	<xs:attribute name="ProfileFilename" use="required" type="Filename" />
    	<xs:attribute name="HorizontalOffsetWithinShipsBoundingRectangle" use="optional" type="xs:int" />
    	<xs:attribute name="VerticalOffsetWithinShipsBoundingRectangle" use="optional" type="xs:int" />
    </xs:complexType></xs:element>
    
    
    <xs:element name="PublicArea"><xs:complexType>
    	<xs:attribute name="PublicAreaName" use="required" type="xs:string" />
    	<xs:attribute name="DisplayInList" use="required" type="xs:boolean" />
    	<xs:attribute name="ImageMapAreaType" use="required" type="AreaType" />
    	<xs:attribute name="ImageMapCoordinates" use="required" type="CoordinateList" />
    	<xs:attribute name="VirtualTourURL" use="optional" type="URL" />
    	<xs:attribute name="LargePhoto" use="optional" type="Filename" />
    	<xs:attribute name="SmallPhoto" use="optional" type="Filename" />
    	<xs:attribute name="Description" use="optional" type="xs:string" />
    </xs:complexType></xs:element>
    
    
    <xs:element name="Category"><xs:complexType>
    	<xs:sequence>
    	<xs:element ref="Cabin" minOccurs="1" maxOccurs="unbounded" />
    	</xs:sequence>
    	<xs:attribute name="CategoryCode" use="required" type="xs:string" />
    	<xs:attribute name="IsMetaCategory" use="required" type="xs:boolean" />
    	<xs:attribute name="ConstituentCategoriesOnThisDeck" use="optional" type="xs:string" />
    	<xs:attribute name="ConstituentCategoriesAnywhereOnShip" use="optional" type="xs:string" />
    	<xs:attribute name="CategoryColor" use="required" type="HtmlColor" />
    	<xs:attribute name="CategoryName" use="required" type="xs:string" />
    	<xs:attribute name="CabinClassCode" use="required" type="xs:string" />
    	<xs:attribute name="CabinType" use="required" type="CabinType" />
    	<xs:attribute name="ExtendedCabinType" use="required" type="ExtendedCabinType" />
    	<xs:attribute name="MinimumOccupancy" use="required" type="Occupancy" />
    	<xs:attribute name="MaximumOccupancy" use="required" type="Occupancy" />
    	<xs:attribute name="SortOrder" use="required" type="xs:int" />
    	<xs:attribute name="RelatedCategories" use="optional" type="xs:string" />
    	<xs:attribute name="CategoryIcon" use="required" type="Filename" />
    	<xs:attribute name="ShortDescription" use="optional" type="xs:string" />
    	<xs:attribute name="FullDescription" use="optional" type="xs:string" />
    	<xs:attribute name="SmallPhoto" use="optional" type="Filename" />
    	<xs:attribute name="LargePhoto" use="optional" type="Filename" />
    	<xs:attribute name="CategoryFloorplan" use="optional" type="Filename" />
    	<xs:attribute name="VirtualTourURL" use="optional" type="URL" />
    </xs:complexType></xs:element>
    
    
    <xs:element name="ShipProfileImageMapArea"><xs:complexType>
    	<xs:attribute name="ImageMapAreaType" use="required" type="AreaType" />
    	<xs:attribute name="ImageMapCoordinates" use="required" type="CoordinateList" />
    </xs:complexType></xs:element>
    
    
    <xs:element name="Cabin"><xs:complexType>
    	<xs:attribute name="CabinNumber" use="required" type="xs:string" />
    	<xs:attribute name="CabinName" use="optional" type="xs:string" />
    	<xs:attribute name="Coordinates" use="optional" type="TopLeftCoordinates" />
    	<xs:attribute name="IsPrimary" use="required" type="xs:boolean" />
    	<xs:attribute name="ImageMapAreaType" use="required" type="AreaType" />
    	<xs:attribute name="ImageMapCoordinates" use="required" type="CoordinateList" />
    	<xs:attribute name="MinimumOccupancy" use="required" type="Occupancy" />
    	<xs:attribute name="MaximumOccupancy" use="required" type="Occupancy" />
    	<xs:attribute name="IsComposite" use="optional" type="xs:boolean" />
    	<xs:attribute name="IsAccessible" use="optional" type="xs:boolean" />
    </xs:complexType></xs:element>
    
    
    <xs:simpleType name="CabinType">
    	<xs:restriction base="xs:string">
    		<xs:enumeration value="Inside" />
    		<xs:enumeration value="Outside" />
    		<xs:enumeration value="Balcony" />
    		<xs:enumeration value="Suite" />
    	</xs:restriction>	
    </xs:simpleType>
    
    
    <xs:simpleType name="ExtendedCabinType">
    	<xs:restriction base="xs:string">
    		<xs:enumeration value="Inside" />
    		<xs:enumeration value="InsideInteriorView" />
    		<xs:enumeration value="InsideVirtualView" />
    		<xs:enumeration value="Outside" />
    		<xs:enumeration value="OutsideObstructed" />
    		<xs:enumeration value="Lanai" />
    		<xs:enumeration value="Balcony" />
    		<xs:enumeration value="BalconyObstructed" />
    		<xs:enumeration value="ConciergeClass" />
    		<xs:enumeration value="Suite" />
    		<xs:enumeration value="SuiteObstructed" />
    		<xs:enumeration value="BalconyBoardwalkView" />
    		<xs:enumeration value="BalconyCentralParkView" />
    		<xs:enumeration value="OutsideBoardwalkView" />
    		<xs:enumeration value="OutsideCentralParkView" />
    		<xs:enumeration value="AquaClass" />
    		<xs:enumeration value="SuiteWithBalcony" />
    		<xs:enumeration value="SuiteWithWindowOnly" />
    		<xs:enumeration value="FrenchBalcony" />
    		<xs:enumeration value="BestPrice" />
    	</xs:restriction>	
    </xs:simpleType>
    
    
    <xs:element name="ConnectingCabins"><xs:complexType>
    	<xs:attribute name="CabinNumber1" use="required" type="xs:string" />
    	<xs:attribute name="CabinNumber2" use="required" type="xs:string" />
    </xs:complexType></xs:element>
    
    
    <xs:simpleType name="AreaType">
    	<xs:restriction base="xs:string">
    		<xs:enumeration value="rect" />
    		<xs:enumeration value="poly" />
    	</xs:restriction>	
    </xs:simpleType>
    
    
    <xs:simpleType name="Occupancy">
    	<xs:restriction base="xs:integer">
    		<xs:minInclusive value="1" />
    		<xs:maxInclusive value="12"  />
    	</xs:restriction>
    </xs:simpleType>
    
    
    <xs:simpleType name="RecentYear">
    	<xs:restriction base="xs:integer">
    		<xs:minInclusive value="1950" />
    		<xs:maxInclusive value="2050"  />
    	</xs:restriction>
    </xs:simpleType>
    
    
    <xs:simpleType name="CdcScore">
    	<xs:restriction base="xs:integer">
    		<xs:minInclusive value="0" />
    		<xs:maxInclusive value="100"  />
    	</xs:restriction>
    </xs:simpleType>
    
    
    <xs:simpleType name="AverageCdcScore">
    	<xs:restriction base="xs:decimal">
    		<xs:minInclusive value="0" />
    		<xs:maxInclusive value="100"  />
    		<xs:fractionDigits value="1" />
    	</xs:restriction>
    </xs:simpleType>
    
    
    <xs:simpleType name="TopLeftCoordinates">
    	<xs:restriction base="xs:string">
    		<xs:pattern value="[0-9]+,[0-9]+" />
    	</xs:restriction>
    </xs:simpleType>
    
    
    <xs:simpleType name="CoordinateList">
    	<xs:restriction base="xs:string">
    		<xs:pattern value="[0-9]+,[0-9]+(,[0-9]+,[0-9]+)+" />
    	</xs:restriction>
    </xs:simpleType>
    
    
    <xs:simpleType name="HtmlColor">
    	<xs:restriction base="xs:string">
    		<xs:pattern value="#[A-F0-9]{6}" />
    	</xs:restriction>
    </xs:simpleType>
    
    
    <xs:simpleType name="Filename">
    	<xs:restriction base="xs:string">
    		<xs:pattern value="[a-f0-9]+[.](jpg|png|gif)" />
    	</xs:restriction>
    </xs:simpleType>
    
    
    <xs:simpleType name="URL">
    	<xs:restriction base="xs:string">
    		<xs:pattern value="https?://.+" />
    	</xs:restriction>
    </xs:simpleType>
    
    
    </xs:schema>
    

 
 
Copyright © 2004 Alsek Technologies, Inc. Satellite imagery courtesy of NASA.