<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Rakesh Vidyadharan (Enterprise Application Development Tribune Media Services) -->
<wsdl:definitions name="xtvdWebService" targetNamespace="urn:TMSWebServices" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tms="urn:TMSWebServices" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<wsdl:types>
		<xsd:schema targetNamespace="urn:TMSWebServices" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tms="urn:TMSWebServices" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<simpleType name="duration">
		<annotation>
			<documentation xml:lang="en">ISO 8601 pattern used to denote program durations.  Year, month and day are not relevant in our context and are omitted.</documentation>
		</annotation>
		<restriction base="xsd:duration">
			<pattern value="PT[0-9][0-9]H[0-5][0-9]M"/>
		</restriction>
	</simpleType>
	<simpleType name="dateTime">
		<annotation>
			<documentation xml:lang="en">ISO 8601 pattern for date+time information : YYYY-MM-DDThh:mm:ssZ</documentation>
		</annotation>
		<restriction base="xsd:dateTime">
			<pattern value="20[0-9]{2}\-[0-1][0-9]\-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9]Z"/>
		</restriction>
	</simpleType>
	<simpleType name="date">
		<annotation>
			<documentation xml:lang="en">ISO 8601 pattern for date: YYYY-MM-DD</documentation>
		</annotation>
		<restriction base="xsd:date">
			<pattern value="(19|20)[0-9]{2}\-[0-1][0-9]\-[0-3][0-9]"/>
		</restriction>
	</simpleType>
	<simpleType name="time">
		<annotation>
			<documentation xml:lang="en">ISO 8601 pattern for time of day : hh:mm:ss</documentation>
		</annotation>
		<restriction base="xsd:time">
			<pattern value="\d\d:\d\d:\d\d"/>
		</restriction>
	</simpleType>
	<simpleType name="mpaaRatings">
		<annotation>
			<documentation xml:lang="en">MPAA standard ratings for a movie as defined in the movie and TV database schemas.</documentation>
		</annotation>
		<restriction base="xsd:string">
			<enumeration value="Adult">
				<annotation>
					<documentation xml:lang="en">This is the way this rating is defined in the movies database schema.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="AO">
				<annotation>
					<documentation xml:lang="en">This is the way this rating is defined in the TV database schema.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="G"/>
			<enumeration value="NC-17"/>
			<enumeration value="NONE">
				<annotation>
					<documentation xml:lang="en">Films in the movie database that do not have any ratings associated with them are sometimes marked with this value.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="NOT RATED">
				<annotation>
					<documentation xml:lang="en">This is the way films without any rating are defined in the movies database schema.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="NR">
				<annotation>
					<documentation xml:lang="en">This is the way films without any rating are defined in the TV database schema.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="PG"/>
			<enumeration value="PG-13"/>
			<enumeration value="R"/>
		</restriction>
	</simpleType>
	<simpleType name="starRating">
		<annotation>
			<documentation xml:lang="en">A Zap2it reviewer assigned rating for a given film.</documentation>
		</annotation>
		<restriction base="xsd:string">
			<enumeration value="*"/>
			<enumeration value="*+"/>
			<enumeration value="**"/>
			<enumeration value="**+"/>
			<enumeration value="***"/>
			<enumeration value="***+"/>
			<enumeration value="****"/>
		</restriction>
	</simpleType>
	<simpleType name="movieCrewRole">
		<annotation>
			<documentation xml:lang="en">The roles that are currently defined for the production crew associated with a given film.</documentation>
		</annotation>
		<restriction base="xsd:string">
			<enumeration value="Actor"/>
			<enumeration value="Director"/>
			<enumeration value="Executive Producer"/>
			<enumeration value="Guest Star"/>
			<enumeration value="Producer"/>
			<enumeration value="Writer"/>
		</restriction>
	</simpleType>
	<simpleType name="movieGenres">
		<annotation>
			<documentation xml:lang="en">The standard genres that are used to classify films in the movies database schema.</documentation>
		</annotation>
		<restriction base="xsd:string">
			<enumeration value=""/>
			<enumeration value="Action"/>
			<enumeration value="Adults only"/>
			<enumeration value="Adventure"/>
			<enumeration value="Animated musical"/>
			<enumeration value="Biography"/>
			<enumeration value="Children"/>
			<enumeration value="Comedy"/>
			<enumeration value="Comedy-drama"/>
			<enumeration value="Crime drama"/>
			<enumeration value="Docudrama"/>
			<enumeration value="Documentary"/>
			<enumeration value="Drama"/>
			<enumeration value="Fantasy"/>
			<enumeration value="French"/>
			<enumeration value="Historical drama"/>
			<enumeration value="Horror"/>
			<enumeration value="Martial arts"/>
			<enumeration value="Musical"/>
			<enumeration value="Musical comedy"/>
			<enumeration value="Musical romance"/>
			<enumeration value="Mystery"/>
			<enumeration value="Romance"/>
			<enumeration value="Romance-comedy"/>
			<enumeration value="Science fiction"/>
			<enumeration value="Spanish"/>
			<enumeration value="Suspense"/>
			<enumeration value="Suspense-comedy"/>
			<enumeration value="War"/>
			<enumeration value="Western"/>
		</restriction>
	</simpleType>
	<simpleType name="movieAdvisories">
		<annotation>
			<documentation xml:lang="en">The standard advisory messages that are associated with a movie shown on TV.</documentation>
		</annotation>
		<restriction base="xsd:string">
			<enumeration value="Adult Situations"/>
			<enumeration value="Adolescentes y Adultos"/>
			<enumeration value="Adultos"/>
			<enumeration value="Brief Nudity"/>
			<enumeration value="Graphic Language"/>
			<enumeration value="Graphic Violence"/>
			<enumeration value="Language"/>
			<enumeration value="Mild Violence"/>
			<enumeration value="Nudity"/>
			<enumeration value="Publico General"/>
			<enumeration value="Rape"/>
			<enumeration value="Strong Sexual Content"/>
			<enumeration value="Violence"/>
		</restriction>
	</simpleType>
	<simpleType name="tvRatings">
		<annotation>
			<documentation xml:lang="en">The FCC standard ratings for TV programs (http://www.fcc.gov/vchip/#guidelines)</documentation>
		</annotation>
		<restriction base="xsd:string">
			<enumeration value="TVY"/>
			<enumeration value="TVY7"/>
			<enumeration value="TVG"/>
			<enumeration value="TVPG"/>
			<enumeration value="TV14"/>
			<enumeration value="TVMA"/>
		</restriction>
	</simpleType>
	<simpleType name="tvColorCode">
		<annotation>
			<documentation>The standard color codes used to denote the color scheme used by a TV program (eg. Color, B &amp; W ...).</documentation>
		</annotation>
		<restriction base="xsd:string">
			<enumeration value="B &amp; W">
				<annotation>
					<documentation xml:lang="en">Indicates that the program is begin telecast in Black and White.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="Color">
				<annotation>
					<documentation xml:lang="en">Indicates that the program being telecast is in color.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="Colorized">
				<annotation>
					<documentation xml:lang="en">Indicates that the program being telecast is a colorised version of the original program.</documentation>
				</annotation>
			</enumeration>
			<enumeration value="Color and B &amp; W">
				<annotation>
					<documentation xml:lang="en">Indicates that the program being telecast is partly in color and partly in Black and White.</documentation>
				</annotation>
			</enumeration>
		</restriction>
	</simpleType>
	<attributeGroup name="filmDataAttributes">
		<annotation>
			<documentation xml:lang="en">Common attributes that are applicable to all the root elements of the XML schemas developed to represent film data.</documentation>
		</annotation>
		<attribute name="postalCode" type="xsd:string" use="optional">
			<annotation>
				<documentation xml:lang="en">The ZIP/Postal code for which the theatre list was generated.</documentation>
			</annotation>
		</attribute>
		<attribute name="radius" type="xsd:float" use="optional" default="5">
			<annotation>
				<documentation xml:lang="en">The radius around the centroid of the ZIP/Postal code within which the films are located.  A default value of 20 (miles for US customers and kilometres for non-US customers) will be used if the client making the request did not specify a radius.</documentation>
			</annotation>
		</attribute>
		<attribute name="maxCount" type="xsd:int" use="optional">
			<annotation>
				<documentation xml:lang="en">The maximum number of film/theatre records that are included in the document.  This number may be specified by the client making the request for the list of films/theatres/showtimes.</documentation>
			</annotation>
		</attribute>
	</attributeGroup>
	<complexType name="crewMember">
		<annotation>
			<documentation xml:lang="en">A cast or production crew member for a film or TV show.</documentation>
		</annotation>
		<sequence>
			<element name="role" type="xsd:string">
				<annotation>
					<documentation xml:lang="en">Describes the role of the crew member.  Eg. Actor, Director ...</documentation>
				</annotation>
			</element>
			<element name="givenname" type="xsd:string" nillable="true">
				<annotation>
					<documentation xml:lang="en">The given/first name of the crew member.  The element name follows LDAP naming convention.  TMS does not have given/first names for all cast/crew members.  Hence this element is nillable.</documentation>
				</annotation>
			</element>
			<element name="surname" type="xsd:string">
				<annotation>
					<documentation xml:lang="en">The surname/last-name of the crew member.  The element name follows LDAP naming convention.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="image">
		<annotation>
			<documentation>Complex type that contains the attributes of an image.  The only attribute available at present is its URI.</documentation>
		</annotation>
		<sequence>
			<element name="imageUri" type="xsd:anyURI" nillable="true">
				<annotation>
					<documentation>This element contains an absolute URI to an image associated with the film.</documentation>
				</annotation>
			</element>
			<element name="width" type="xsd:string" minOccurs="0">
				<annotation>
					<documentation>This element defines the width of the image associated with the film.  This element is a place holder.  The width attribute is not available at present.</documentation>
				</annotation>
			</element>
			<element name="height" type="xsd:string" minOccurs="0">
				<annotation>
					<documentation>This element defines the height of the image associated with the film.  This element is a place holder.  The height attribute is not available at present.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="address">
		<annotation>
			<documentation xml:lang="en">This complex type describes a generic address.</documentation>
		</annotation>
		<sequence>
			<element name="streetAddress">
				<annotation>
					<documentation xml:lang="en">This element groups together the various street address parts for the entire address.</documentation>
				</annotation>
				<complexType>
					<sequence>
						<element name="street" type="xsd:string" maxOccurs="unbounded">
							<annotation>
								<documentation xml:lang="en">This field contains each entry for the street address part of the entire address.</documentation>
							</annotation>
						</element>
					</sequence>
				</complexType>
			</element>
			<element name="city" type="xsd:string">
				<annotation>
					<documentation xml:lang="en">This field contains the city for the address.</documentation>
				</annotation>
			</element>
			<element name="state" type="xsd:string">
				<annotation>
					<documentation xml:lang="en">This field contains the name/code of the state for the address.</documentation>
				</annotation>
			</element>
			<element name="postalCode" type="xsd:string">
				<annotation>
					<documentation xml:lang="en">This field contains the ZIP/Postal code for the address.</documentation>
				</annotation>
			</element>
			<element name="telephone" type="xsd:string" minOccurs="0">
				<annotation>
					<documentation xml:lang="en">This field contains the telephone number if available for the address.</documentation>
				</annotation>
			</element>
			<element name="fax" type="xsd:string" minOccurs="0">
				<annotation>
					<documentation xml:lang="en">This field contains the fax number if available for the address.</documentation>
				</annotation>
			</element>
			<element name="mobile" type="xsd:string" minOccurs="0">
				<annotation>
					<documentation xml:lang="en">This field contains the mobile phone number if available for the address.</documentation>
				</annotation>
			</element>
			<element name="email" type="xsd:string" minOccurs="0">
				<annotation>
					<documentation xml:lang="en">This field contains the email address if available for the address.</documentation>
				</annotation>
			</element>
			<element name="country" type="xsd:string" minOccurs="0">
				<annotation>
					<documentation xml:lang="en">This field contains the country of the address.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<element name="xtvd">
		<annotation>
			<documentation>Root element of the document.  @IMPORTANT : All time and dates are specified in UTC !</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="tms:stations"/>
				<element ref="tms:lineups"/>
				<element ref="tms:schedules"/>
				<element ref="tms:programs"/>
				<element ref="tms:productionCrew" minOccurs="0"/>
				<element ref="tms:genres"/>
			</sequence>
			<attribute name="from" type="tms:dateTime" use="required">
				<annotation>
					<documentation xml:lang="en">Date and time defining the start of the period covered by this XTVD document.</documentation>
				</annotation>
			</attribute>
			<attribute name="to" type="tms:dateTime" use="required">
				<annotation>
					<documentation xml:lang="en">Date and time defining the end of the period covered by this XTVD document.</documentation>
				</annotation>
			</attribute>
			<attribute name="schemaVersion" type="xsd:float" use="required" fixed="1.2">
				<annotation>
					<documentation xml:lang="en">Version number of the schema used to build this document.</documentation>
				</annotation>
			</attribute>
		</complexType>
		<key name="station_key">
			<selector xpath="./stations/station"/>
			<field xpath="@id"/>
		</key>
		<keyref name="station_keyref_schedule" refer="tms:station_key">
			<selector xpath="./schedules/schedule"/>
			<field xpath="@station"/>
		</keyref>
		<keyref name="station_keyref_map" refer="tms:station_key">
			<selector xpath="./lineups/lineup/map"/>
			<field xpath="@station"/>
		</keyref>
		<unique name="program_key">
			<selector xpath="./programs/program"/>
			<field xpath="@id"/>
		</unique>
		<keyref name="program_keyref" refer="tms:program_key">
			<selector xpath="./schedules/schedule"/>
			<field xpath="@program"/>
		</keyref>
		<keyref name="crew_keyref" refer="tms:program_key">
			<selector xpath="./productionCrew/crew"/>
			<field xpath="@program"/>
		</keyref>
		<keyref name="genre_keyref" refer="tms:program_key">
			<selector xpath="./genres/programGenre"/>
			<field xpath="@program"/>
		</keyref>
		<keyref name="advisory_keyref" refer="tms:program_key">
			<selector xpath="./advisories/advisory"/>
			<field xpath="@program"/>
		</keyref>
	</element>
	<element name="stations">
		<annotation>
			<documentation>Collection of user selected station elements (across all lineups).</documentation>
		</annotation>
		<complexType>
			<sequence maxOccurs="unbounded">
				<element name="station">
					<annotation>
						<documentation>Defines a TV broadcast station - each station is identified with an unique ID.</documentation>
					</annotation>
					<complexType>
						<sequence>
							<element name="callSign">
								<annotation>
									<documentation>Short name of the station (eg. CNN).</documentation>
								</annotation>
							</element>
							<element name="name" minOccurs="0">
								<annotation>
									<documentation>Long name of the station (eg. Cable News Network).</documentation>
								</annotation>
							</element>
							<element name="fccChannelNumber" type="xsd:positiveInteger" minOccurs="0">
								<annotation>
									<documentation xml:lang="en">FCC channel number of a broadcast station.</documentation>
								</annotation>
							</element>
							<element name="affiliate" type="xsd:string" minOccurs="0">
								<annotation>
									<documentation xml:lang="en">Network, cable or broadcasting group with which the station is associated.</documentation>
								</annotation>
							</element>
						</sequence>
						<attribute name="id" type="xsd:int" use="required">
							<annotation>
								<documentation xml:lang="en">ID string of the station.</documentation>
							</annotation>
						</attribute>
					</complexType>
				</element>
			</sequence>
		</complexType>
	</element>
	<element name="lineups">
		<annotation>
			<documentation>Collection of lineup elements selected by the user.</documentation>
		</annotation>
		<complexType>
			<sequence maxOccurs="unbounded">
				<element name="lineup">
					<annotation>
						<documentation>Defines all the station that were selected for the given lineup. </documentation>
					</annotation>
					<complexType>
						<sequence maxOccurs="unbounded">
							<element name="map">
								<annotation>
									<documentation>This element defines the mapping between one station and one channel number. As channel numbers may change over time, attributes to define a validity period for the mapping are available.</documentation>
								</annotation>
								<complexType>
									<sequence minOccurs="0" maxOccurs="unbounded">
										<element name="onAir">
											<annotation>
												<documentation xml:lang="en">Specifies the time(s) of day when the given station-channel mapping is in effect.</documentation>
											</annotation>
											<complexType>
												<attribute name="from" type="tms:time" use="required">
													<annotation>
														<documentation xml:lang="en">The time of day from which the station-channel mapping is effective.</documentation>
													</annotation>
												</attribute>
												<attribute name="to" type="tms:time" use="required">
													<annotation>
														<documentation xml:lang="en">The time of day until which the station-channel mapping is effective.</documentation>
													</annotation>
												</attribute>
											</complexType>
										</element>
									</sequence>
									<attribute name="station" type="xsd:int" use="required">
										<annotation>
											<documentation xml:lang="en">Reference to a station.</documentation>
										</annotation>
									</attribute>
									<attribute name="channel" type="xsd:positiveInteger" use="required">
										<annotation>
											<documentation xml:lang="en">Channel number associated to the station.</documentation>
										</annotation>
									</attribute>
									<attribute name="channelMinor" type="xsd:positiveInteger" use="optional">
										<annotation>
											<documentation xml:lang="en">The major channel (the channel attribute) number is used to group all services associated with a broadcaster's NTSC brand, for example Channel 4. The minor channel number specifies a particular channel within that group. Zero (0) is reserved for the NTSC channel; all other values (1-999) are allowed for digital services. One common approach is to start with 1 and to continue numerically for different programming services.</documentation>
										</annotation>
									</attribute>
									<attribute name="from" type="tms:date" use="optional">
										<annotation>
											<documentation xml:lang="en">Date from which the mapping is valid, according to the validity period of the whole XTVD document. @IMPORTANT : It is assumed that the change will occur at midnight.</documentation>
										</annotation>
									</attribute>
									<attribute name="to" type="tms:date" use="optional">
										<annotation>
											<documentation xml:lang="en">Date until which the mapping is valid, within the validity period of the whole XTVD document. @IMPORTANT : The change will occur at midnight.</documentation>
										</annotation>
									</attribute>
								</complexType>
							</element>
						</sequence>
						<attribute name="name" type="xsd:string" use="required">
							<annotation>
								<documentation xml:lang="en">Name given to the lineup.</documentation>
							</annotation>
						</attribute>
						<attribute name="type" type="tms:lineupTypes" use="required">
							<annotation>
								<documentation xml:lang="en">Defines the type of the lineup (CABLE, SATELLITE, ...).</documentation>
							</annotation>
						</attribute>
						<attribute name="device" type="xsd:string" use="optional">
							<annotation>
								<documentation xml:lang="en">The name of the device associated with the headend.</documentation>
							</annotation>
						</attribute>
						<attribute name="postalCode" type="xsd:string" use="optional">
							<annotation>
								<documentation xml:lang="en">The ZIP/Postal code for which the specified lineup was selected by the user.</documentation>
							</annotation>
						</attribute>
					</complexType>
				</element>
			</sequence>
		</complexType>
	</element>
	<element name="schedules">
		<annotation>
			<documentation>Contain all schedule records (across all selected lineups).</documentation>
		</annotation>
		<complexType>
			<sequence maxOccurs="unbounded">
				<annotation>
					<documentation>Sequence of schedule records.</documentation>
				</annotation>
				<element name="schedule">
					<annotation>
						<documentation>Describes a schedule entry.</documentation>
					</annotation>
					<complexType>
						<sequence minOccurs="0">
							<element name="part" minOccurs="0">
								<annotation>
									<documentation>Designates which part, when a program is split into 2 or more viewings.</documentation>
								</annotation>
								<complexType>
									<attribute name="number" use="required">
										<annotation>
											<documentation xml:lang="en">Designates which part, when a program is split into 2 or more viewings. </documentation>
										</annotation>
										<simpleType>
											<restriction base="xsd:unsignedInt">
												<minInclusive value="1"/>
											</restriction>
										</simpleType>
									</attribute>
									<attribute name="total" use="required">
										<annotation>
											<documentation xml:lang="en">Designates when a program is split into 2 or more parts for viewing. </documentation>
										</annotation>
										<simpleType>
											<restriction base="xsd:unsignedInt">
												<minInclusive value="2"/>
											</restriction>
										</simpleType>
									</attribute>
								</complexType>
							</element>
						</sequence>
						<attribute name="program" type="xsd:string" use="required">
							<annotation>
								<documentation xml:lang="en">Reference to a program ID.</documentation>
							</annotation>
						</attribute>
						<attribute name="station" type="xsd:int" use="required">
							<annotation>
								<documentation xml:lang="en">Reference to a station ID.</documentation>
							</annotation>
						</attribute>
						<attribute name="time" type="tms:dateTime" use="required">
							<annotation>
								<documentation xml:lang="en">Air date and time for the schedule.</documentation>
							</annotation>
						</attribute>
						<attribute name="duration" type="tms:duration" use="required">
							<annotation>
								<documentation xml:lang="en">Duration of the schedule.</documentation>
							</annotation>
						</attribute>
						<attribute name="repeat" type="xsd:boolean" use="optional">
							<annotation>
								<documentation xml:lang="en">Designates a program which has been aired previously.</documentation>
							</annotation>
						</attribute>
						<attribute name="tvRating" type="tms:tvRatings" use="optional">
							<annotation>
								<documentation xml:lang="en">The FCC standard ratings applied to TV shows.</documentation>
							</annotation>
						</attribute>
						<attribute name="stereo" type="xsd:boolean" use="optional">
							<annotation>
								<documentation xml:lang="en">Indicates whether the program has stereo sound or not.</documentation>
							</annotation>
						</attribute>
						<attribute name="subtitled" type="xsd:boolean" use="optional">
							<annotation>
								<documentation xml:lang="en">Indicates whether the program has subtitles.</documentation>
							</annotation>
						</attribute>
						<attribute name="hdtv" type="xsd:boolean" use="optional">
							<annotation>
								<documentation xml:lang="en">Indicates whether the program broadcast is HDTV compatible.</documentation>
							</annotation>
						</attribute>
						<attribute name="closeCaptioned" type="xsd:boolean" use="optional">
							<annotation>
								<documentation xml:lang="en">Indicates whether the program has closed captions.</documentation>
							</annotation>
						</attribute>
					</complexType>
				</element>
			</sequence>
		</complexType>
	</element>
	<element name="programs">
		<annotation>
			<documentation>Contains all the program records that are referenced by the schedule records.</documentation>
		</annotation>
		<complexType>
			<sequence maxOccurs="unbounded">
				<element name="program" minOccurs="0">
					<annotation>
						<documentation>Defines a program entry.</documentation>
					</annotation>
					<complexType>
						<sequence>
							<element name="title" type="xsd:string">
								<annotation>
									<documentation>Title of the program.</documentation>
								</annotation>
							</element>
							<element name="subtitle" type="xsd:string" minOccurs="0">
								<annotation>
									<documentation>Subtitle of the program (episode title, game title, ...)</documentation>
								</annotation>
							</element>
							<element name="description" type="xsd:string" minOccurs="0">
								<annotation>
									<documentation>Word string that describes the program.</documentation>
								</annotation>
							</element>
							<element name="mpaaRating" type="tms:mpaaRatings" minOccurs="0">
								<annotation>
									<documentation>MPAA rating of the program (applies to movies only).</documentation>
								</annotation>
							</element>
							<element name="starRating" type="tms:starRating" minOccurs="0">
								<annotation>
									<documentation>Star rating of the program (applies to movies only).</documentation>
								</annotation>
							</element>
							<element name="runTime" type="tms:duration" minOccurs="0">
								<annotation>
									<documentation>Actual length of  the program. Not the same as schedule/@duration. Applies to movies only.</documentation>
								</annotation>
							</element>
							<element name="year" type="xsd:gYear" minOccurs="0">
								<annotation>
									<documentation>The year in which a feature film was released; YYYY format.  Applies to movies only.</documentation>
								</annotation>
							</element>
							<element name="showType" type="xsd:string" minOccurs="0">
								<annotation>
									<documentation xml:lang="en">Distinguishes how a program was originally produced and/or distributed.</documentation>
								</annotation>
							</element>
							<element name="series" type="xsd:string" minOccurs="0">
								<annotation>
									<documentation xml:lang="en">The series ID associated with episodic programs.  For instance an episode with programId "EP5544720193" has a series ID "SH5544720000".  The series ID may be used to group together all episodes for a given series.</documentation>
								</annotation>
							</element>
							<element name="colorCode" type="tms:tvColorCode" minOccurs="0">
								<annotation>
									<documentation xml:lang="en">Indicates whether the program is in black and white, colorized or color.  Since most programs are in "Color" this element will be populated only if a program is not in "Color".</documentation>
								</annotation>
							</element>
							<element name="advisories" minOccurs="0">
								<annotation>
									<documentation xml:lang="en">This element groups together all the advisories associated with the program.  Advisories apply only to movies.</documentation>
								</annotation>
								<complexType>
									<sequence maxOccurs="6">
										<element name="advisory" type="tms:movieAdvisories">
											<annotation>
												<documentation xml:lang="en">An individual advisory message associated with the movie.</documentation>
											</annotation>
										</element>
									</sequence>
								</complexType>
							</element>
						</sequence>
						<attribute name="id" type="xsd:string" use="required">
							<annotation>
								<documentation xml:lang="en">Unique ID of the program.</documentation>
							</annotation>
						</attribute>
					</complexType>
				</element>
			</sequence>
		</complexType>
	</element>
	<element name="productionCrew">
		<annotation>
			<documentation>Contains information about the personnel associated with each program record.</documentation>
		</annotation>
		<complexType>
			<sequence maxOccurs="unbounded">
				<element name="crew">
					<annotation>
						<documentation xml:lang="en">This element groups together all the crew members associated with the given program.</documentation>
					</annotation>
					<complexType>
						<sequence maxOccurs="unbounded">
							<element name="member" type="tms:crewMember">
								<annotation>
									<documentation xml:lang="en">This element describes an individual production crew member associated with a program.</documentation>
								</annotation>
							</element>
						</sequence>
						<attribute name="program" type="xsd:string" use="required"/>
					</complexType>
				</element>
			</sequence>
		</complexType>
	</element>
	<element name="genres">
		<annotation>
			<documentation xml:lang="en">Containes genre information where available for the program records.  A program may have more than one genre with different relevence factors.</documentation>
		</annotation>
		<complexType>
			<sequence maxOccurs="unbounded">
				<element name="programGenre">
					<annotation>
						<documentation xml:lang="en">This element groups together all the genres under which the specified program falls.</documentation>
					</annotation>
					<complexType>
						<sequence maxOccurs="unbounded">
							<element name="genre">
								<annotation>
									<documentation xml:lang="en">This element groups together the different elements associated with each genre with which the program is associated.</documentation>
								</annotation>
								<complexType>
									<sequence>
										<element name="class" type="xsd:string">
											<annotation>
												<documentation xml:lang="en">The genre that is associated with a specified program record.</documentation>
											</annotation>
										</element>
										<element name="relevance" type="xsd:int">
											<annotation>
												<documentation xml:lang="en">A relevence factor that applies to the genre classification for the program.  A relevence factor of 1 indicates that this is the top-level genre under which the program is classified.</documentation>
											</annotation>
										</element>
									</sequence>
								</complexType>
							</element>
						</sequence>
						<attribute name="program" type="xsd:string" use="required"/>
					</complexType>
				</element>
			</sequence>
		</complexType>
	</element>
	<simpleType name="lineupTypes">
		<annotation>
			<documentation xml:lang="en">Standard lineup types.</documentation>
		</annotation>
		<restriction base="xsd:string">
			<enumeration value="Cable"/>
			<enumeration value="CableDigital"/>
			<enumeration value="Satellite"/>
			<enumeration value="LocalBroadcast"/>
		</restriction>
	</simpleType>
			<xsd:complexType name="xtvdResponse">
				<xsd:sequence>
					<xsd:element name="messages">
						<xsd:annotation>
							<xsd:documentation xml:lang="en">A collection of messages that may be sent back by the server to the client.  Messages are usually used by the server to notify the user of changes to their subscription caused by automatic changes in station's that are part of their subscription.  For instance, messages are passed back if a lineup selected by the user is no-longer valid, if all the stations selected by the user has been removed as they are no longer valid ... </xsd:documentation>
						</xsd:annotation>
						<xsd:complexType>
							<xsd:sequence maxOccurs="unbounded" minOccurs="0">
								<xsd:element name="message" type="xsd:string">
									<xsd:annotation>
										<xsd:documentation xml:lang="en">An individual message that is passed back by the server.</xsd:documentation>
									</xsd:annotation>
								</xsd:element>
							</xsd:sequence>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="xtvdDocument" type="tms:xtvd"/>
				</xsd:sequence>
			</xsd:complexType>
		</xsd:schema>
	</wsdl:types>
	<wsdl:message name="downloadResponse">
		<wsdl:part name="xtvdResponse" type="tms:xtvdResponse"/>
	</wsdl:message>
	<wsdl:message name="downloadRequest">
		<wsdl:part name="startTime" type="tms:dateTime"/>
		<wsdl:part name="endTime" type="tms:dateTime"/>
	</wsdl:message>
	<wsdl:message name="activateRequest">
		<wsdl:part name="deviceType" type="xsd:string"/>
		<wsdl:part name="activationKey" type="xsd:string"/>
	</wsdl:message>
	<wsdl:message name="webserviceFault"/>
	<wsdl:message name="activateResponse"/>
	<wsdl:portType name="xtvdPortType">
		<wsdl:operation name="activate">
			<wsdl:input message="tms:activateRequest"/>
			<wsdl:output message="tms:activateResponse"/>
			<wsdl:fault message="tms:webserviceFault" name="webserviceFault"/>
		</wsdl:operation>
		<wsdl:operation name="download">
			<wsdl:input message="tms:downloadRequest"/>
			<wsdl:output message="tms:downloadResponse"/>
			<wsdl:fault message="tms:webserviceFault" name="webserviceFault"/>
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="xtvdBinding" type="tms:xtvdPortType">
		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
		<wsdl:operation name="activate">
			<soap:operation soapAction="urn:TMSWebServices:xtvdWebService#activate"/>
			<wsdl:input>
				<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:TMSWebServices" use="encoded"/>
			</wsdl:input>
			<wsdl:output>
				<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"/>
			</wsdl:output>
			<wsdl:fault name="webserviceFault">
				<soap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="tms:webserviceFault" namespace="urn:TMSWebServices" use="encoded"/>
			</wsdl:fault>
		</wsdl:operation>
		<wsdl:operation name="download">
			<soap:operation soapAction="urn:TMSWebServices:xtvdWebService#download"/>
			<wsdl:input>
				<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:TMSWebServices" use="encoded"/>
			</wsdl:input>
			<wsdl:output>
				<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"/>
			</wsdl:output>
			<wsdl:fault name="webserviceFault">
				<soap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="tms:webserviceFault" namespace="urn:TMSWebServices" use="encoded"/>
			</wsdl:fault>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:service name="xtvdWebService">
		<wsdl:port binding="tms:xtvdBinding" name="xtvdWebServicePort">
			<soap:address location="http://datadirect.webservices.zap2it.com/tvlistings/xtvdService"/>
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>
