StationFeed

Overview

The StationFeed XML schema defines a common format that allows stations to keep their information up to date in the RadioTime database.  It is ideal for submitting data for a large batch of stations or for stations that have frequent (daily or weekly) updates.

Basics

The StationFeed XSD can be found at the bottom of this page.

The XSD defines the schema for the StationFeed and can be used to validate your XML before submitting it.  More documentation and some examples are also included below.

Once you’ve created the StationFeed XML detailing your stations send the URL of the document to broadcaster-support@radiotime.com. We’ll process and apply your feed and can also add it to a periodic schedule to automatically pick up future changes.

Basic Station Fields

Element Required Recommended Purpose
StationId Yes Yes Owner assigned unique identifier for the station. It should not change over the lifetime of the station
Name Yes Yes Name of the station
Slogan No Yes Slogan or short description (recommended to be under 64 characters)
Description No Yes Full description
CallSign No Yes Call letters (primarily for terrestrial broadcast stations)
Band Yes Yes Identifies type of station (AM/FM/Stream/DAB/VHF/UHF). Use stream for internet only.
Frequency Yes (except for DAB or Stream) Yes Broadcast frequency of the station
WebUrl No Yes Website for the station
LastModifiedDate No Yes Last time station info was updated
Location Yes Yes Country is required (ISO 3166-2). City is required for terrestrial stations but is optional for internet only stations (may be used if the station is primarily focused on local content).
Genres No Yes Supply your own genre names and we will try and map them to the appropriate RadioTime genre. Or use the RadioTime genre names

Auxiliary Ids

Auxiliary ids are optional but can help us match your data to existing RadioTime stations.

Type Description Purpose
CRID Content Reference Identifier Recommended. See http://en.wikipedia.org/wiki/Crid
Wikipedia Station Wikipedia page URL to Wikipedia entry on the station
FCC FCC Facility ID If we already have a station associated with the FCC Facility we can match it to your data
RadioTime RadioTime Station Id If the station already exists in RadioTime you can provide the RadioTime station id to help us match it

Streams

Element Required Purpose
MediaType Yes Identifies audio codec used by the stream (MP3,WM,AAC,OGG,Real,FLV,RTMP-MP3,RTMP-AAC,WMPro, WMVideo,WMVoice)
BitRate Yes Bitrate of the stream
StreamUrl Yes Url of the stream
Restrictions No Specify restrictions that apply to the stream

Stream Restrictions

Type Description
Location Stream is only available to users in the same country as the station
DeviceOnly Stream is not available on RadioTime.com but is available to media devices. Used in conjunction with the WebPlayer element of the station

WebPlayer

Element Required Purpose
PlayerUrl Yes URL of web player
Height Yes Window height in pixels of the web player
Width Yes Window width in pixels of the web player

Relays

Other broadcast relays/translators/repeaters of the station’s signal. Only applies to large affiliates or networks.

Element Required Purpose
RelayId No Owner assigned unique identifier for the relay. It should not change over the lifetime of the relay
CallSign No Call letters (primarily for terrestrial broadcast stations)
Frequency No Broadcast frequency of the station
Location No Station source location or target market

Logos

Generally only one logo needs to be provided and we will automatically resize it to the standard RadioTime logo dimensions. If you would rather submit your own sized logos you can include links to each. We prefer your largest logo size with a transparent background (in PNG format).

Element Required Purpose
LogoUrl Yes URL to the logo
LastModifiedDate No Not required but necessary to notify us that a logo has changed and needs to be updated

Contact Info

Element Required Recommended Purpose
ContactType Yes Yes Identifies type type of contact. “General” is what we provide to users to contact the station.
Email No Yes Listener Contact email for fans to communicate with the station or host.
PhoneNumber No Yes Phone number for listener requests or special promotions.
MailingAddress No Yes Traditional mailing address for correspondance and fan mail.
Twitter No Yes Twitter id for listeners to keep up-to-date with station news tweets and events.
Facebook No Yes URL to facebook page for listeners to interact with station.

Examples

  • E1 – Internet streaming radio station (no AM/FM broadcast)
<Stations>
    <Station>
        <StationId>ABC123</StationId>
        <Name>AB Radio</Name>
        <Slogan>Best Of everything</Slogan>
        <Description>Playing the best music of all time.</Description>
        <Language>en</Language>
        <Band>Stream</Band>
        <TimeZone>America/Chicago</TimeZone>
        <WebUrl>http://www.ab2513.net/</WebUrl>
        <Location>
            <Country>us</Country>
        </Location>
        <Genres>
            <Genre>60s</Genre>
            <Genre>70s</Genre>
            <Genre>Oldies</Genre>
        </Genres>
        <Logos>
            <Logo>
                <LogoUrl>http://www.ab2513.net/logo/logo.png</LogoUrl>
                <LastModifiedDate>2009-05-30T09:30:10Z</LastModifiedDate>
            </Logo>
        </Logos>
        <Streams>
            <Stream>
                <MediaType>MP3</MediaType>
                <BitRate>32</BitRate>
                <StreamUrl>http://www.ab2513.net/low.pls</StreamUrl>
            </Stream>
            <Stream>
                <MediaType>MP3</MediaType>
                <BitRate>64</BitRate>
                <StreamUrl>http://www.ab2513.net/med.pls</StreamUrl>
            </Stream>
        </Streams>
        <Contacts>
            <Contact type="General">
                <Name>Request Line</Name>
                <Phone>555-555-1234</Phone>
                <Email>Joe@ab2513.net</Email>
                <Twitter>abradio</Twitter>
                <Facebook>http://facebook.com/abradio</Facebook>
            </Contact>
        </Contacts>
    </Station>
</Stations>
  • E2 – A FCC tracked FM station:
<Stations>
    <Station>
        <StationId>ABC123</StationId>
        <Name>AB Radio</Name>
        <Slogan>Best Of everything</Slogan>
        <Description>Playing the best music of all time.</Description>
        <Language>en</Language>
        <CallSign>ABCD-FM</CallSign>
        <Band>FM</Band>
        <Frequency>107.1</Frequency>
        <TimeZone>America/Chicago</TimeZone>
        <WebUrl>http://www.ab2513.net/</WebUrl>
        <AuxiliaryIds>
                <AuxiliaryId type="CRID">crid://ab2513.net/abradio/</AuxiliaryId>
                <AuxiliaryId type="Wikipedia">http://en.wikipedia.org/wiki/ab2513</AuxiliaryId>
                <AuxiliaryId type="FCC">123456</AuxiliaryId>
                <AuxiliaryId type="RadioTime">10001</AuxiliaryId>
        </AuxiliaryIds>
        <Location>
        <City>Dallas</City>
        <State>TX</State>
        <Country>us</Country>
        </Location>
        <Genres>
            <Genre>60s</Genre>
            <Genre>70s</Genre>
            <Genre>Oldies</Genre>
        </Genres>
        <Logos>
            <Logo>
                <LogoUrl>http://www.ab2513.net/logo/logo.png</LogoUrl>
                <LastModifiedDate>2009-05-30T09:30:10Z</LastModifiedDate>
            </Logo>
        </Logos>
        <Streams>
            <Stream>
                <MediaType>MP3</MediaType>
                <BitRate>32</BitRate>
                <StreamUrl>http://www.ab2513.net/low.pls</StreamUrl>
            </Stream>
            <Stream>
                <MediaType>MP3</MediaType>
                <BitRate>64</BitRate>
                <StreamUrl>http://www.ab2513.net/med.pls</StreamUrl>
            </Stream>
        </Streams>
        <Contacts>
            <Contact type="General">
                <Name>Request Line</Name>
                <Phone>555-555-1234</Phone>
                <Email>Joe@ab2513.net</Email>
                <Twitter>abradio</Twitter>
                <Facebook>http://facebook.com/abradio</Facebook>
                <MailingAddress>
                        <AddressLine1>AB Radio</AddressLine1>
                        <AddressLine2>123 Fake St.</AddressLine2>
                        <PostalCode>75231</PostalCode>
                        <Location>
                                <City>Dallas</City>
                                <State>TX</State>
                                <Country>us</Country>
                        </Location>
                </MailingAddress>
            </Contact>
        </Contacts>
    </Station>
</Stations>
  • E3 – Station with a custom player for web users. Streams are also restricted to users in the US.
<Stations>
    <Station>
        <StationId>ABC123</StationId>
        <Name>AB Radio</Name>
        <Band>Stream</Band>
        <Location>
            <Country>us</Country>
        </Location>
        <Streams>
            <Stream>
                <MediaType>MP3</MediaType>
                <BitRate>32</BitRate>
                <StreamUrl>http://www.ab2513.net/low.pls</StreamUrl>
                <Restrictions>
                        <Restriction type="DeviceOnly" />
                        <Restriction type="Location" />
                </Restrictions>
            </Stream>
            <Stream>
                <MediaType>MP3</MediaType>
                <BitRate>64</BitRate>
                <StreamUrl>http://www.ab2513.net/med.pls</StreamUrl>
                <Restrictions>
                        <Restriction type="DeviceOnly" />
                        <Restriction type="Location" />
                </Restrictions>
            </Stream>
        </Streams>
        <WebPlayer>
                <PlayerUrl>http://www.ab1513.net/player.html</PlayerUrl>
                <Height>640</Height>
                <Width>480</Width>
        </WebPlayer>
    </Station>
</Stations>

XSD

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:xs="http://www.w3.org/2001/XMLSchema" id="Stations">
    <xs:element name="Location">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="City" type="xs:string" minOccurs="0" />
                <xs:element name="State" type="xs:string" minOccurs="0" />
                <xs:element name="Country" type="xs:string">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">ISO 3166-2 (2 char country code)</xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="Stations">
        <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="Station">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="StationId" type="xs:string">
                                <xs:annotation>
                                    <xs:documentation>Your unique station identifier</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                            <xs:element name="Name" type="xs:string" />
                            <xs:element name="Slogan" type="xs:string" minOccurs="0" />
                            <xs:element name="Description" type="xs:string" minOccurs="0" />
                            <xs:element name="Language" type="xs:string" minOccurs="0">
                                <xs:annotation>
                                    <xs:documentation>ISO 639-1 2 char language code.  Defaults to english if not specified.</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                            <xs:element name="CallSign" type="xs:string" minOccurs="0" />
                            <xs:element name="Band" type="Band">
                                <xs:annotation>
                                    <xs:documentation>Method of station broadcast.</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                            <xs:element name="Frequency" type="xs:decimal" minOccurs="0">
                                <xs:annotation>
                                    <xs:documentation>Optional for streaming stations.  Required for broadcast.</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                            <xs:element name="HdSubChannel" type="xs:string" minOccurs="0">
                                <xs:annotation>
                                    <xs:documentation>For HD only broadcasting specify HD sub channel number.  Ex: 2 for HD2.</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                            <xs:element name="TimeZone" type="xs:string" minOccurs="0">
                                <xs:annotation>
                                    <xs:documentation>Values from tz / zoneinfo database</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                            <xs:element name="WebUrl" type="xs:string" minOccurs="0" />
                            <xs:element name="LastModifiedDate" type="xs:dateTime" minOccurs="0" />
                            <xs:element name="AuxiliaryIds" minOccurs="0">
                                <xs:annotation>
                                    <xs:documentation>Extra identifying information to help map your station to other data sources or to an existing radiotime station.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="AuxiliaryId" nillable="false" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:simpleContent>
                                                    <xs:extension base="xs:string">
                                                        <xs:attribute name="type" type="AuxiliaryIdType" use="required" />
                                                    </xs:extension>
                                                </xs:simpleContent>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element ref="Location">
                                <xs:annotation>
                                    <xs:documentation>Station source location or target market.</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                            <xs:element name="Genres" minOccurs="0">
                                <xs:annotation>
                                    <xs:documentation>Genres you associate with your station.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="Genre" nillable="false" minOccurs="0" maxOccurs="unbounded">
                                            <xs:annotation>
                                                <xs:documentation>Name of genre</xs:documentation>
                                            </xs:annotation>
                                            <xs:complexType>
                                                <xs:simpleContent>
                                                    <xs:extension base="xs:string">
                                                        <xs:attribute name="key" type="xs:string">
                                                            <xs:annotation>
                                                                <xs:documentation>Your internal genre identifier (optional for mapping reference if genre names will not be consistent)</xs:documentation>
                                                            </xs:annotation>
                                                        </xs:attribute>
                                                    </xs:extension>
                                                </xs:simpleContent>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="Logos" minOccurs="0">
                                <xs:annotation>
                                    <xs:documentation>Logos assosicated with the station.  Logos will be converted to standard radiotime.com sizes: 145x145 , 145x70, 70x50</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="Logo" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:sequence>
                                                    <xs:element name="LogoUrl" type="xs:string" />
                                                    <xs:element name="ImageType" type="xs:string" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>png,gif,jpg,etc</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Height" type="xs:int" minOccurs="0"/>
                                                    <xs:element name="Width" type="xs:int" minOccurs="0" />
                                                    <xs:element name="LastModifiedDate" type="xs:dateTime" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>Optionally provide so we know when to update a station's existing logo.</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                </xs:sequence>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="Streams" minOccurs="0">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="Stream" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:sequence>
                                                    <xs:element name="MediaType" type="MediaType" />
                                                    <xs:element name="BitRate" type="xs:int" />
                                                    <xs:element name="StreamUrl" type="xs:string" />
                                                    <xs:element name="Restrictions" minOccurs="0">
                                                        <xs:complexType>
                                                            <xs:sequence>
                                                                <xs:element name="Restriction" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="type" type="xs:string" />
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:sequence>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:sequence>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="Contacts" minOccurs="0">
                                <xs:annotation>
                                    <xs:documentation>List of contacts.  Contact of type "General" is listed on the radiotime.com station page for users to contact the station.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="Contact" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:sequence>
                                                    <xs:element name="Name" type="xs:string" minOccurs="0" />
                                                    <xs:element name="Email" type="xs:string" minOccurs="0" />
                                                    <xs:element name="PhoneNumber" type="xs:string" minOccurs="0" />
                                                    <xs:element name="MailingAddress" minOccurs="0">
                                                        <xs:complexType>
                                                            <xs:sequence>
                                                                <xs:element name="AddressLine1" type="xs:string" minOccurs="0" />
                                                                <xs:element name="AddressLine2" type="xs:string" minOccurs="0" />
                                                                <xs:element name="AddressLine3" type="xs:string" minOccurs="0" />
                                                                <xs:element name="PostalCode" type="xs:string" minOccurs="0" />
                                                                <xs:element ref="Location" minOccurs="0" />
                                                            </xs:sequence>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="Twitter" type="xs:string" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>Twitter Id</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Facebook" type="xs:string" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>Path to facebook page (omit domain and protocol)</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                </xs:sequence>
                                                <xs:attribute name="type" type="ContactType" use="required" />
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="WebPlayer" minOccurs="0">
                                <xs:annotation>
                                    <xs:documentation>Popup web player for web users.  Specify if you don't want to use the default RadioTime web player.  Height/Width control the size of the popup window</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="PlayerUrl" type="xs:string" />
                                        <xs:element name="Height" type="xs:int" />
                                        <xs:element name="Width" type="xs:int" />
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="Relays" minOccurs="0">
                                <xs:annotation>
                                    <xs:documentation>Other broadcast relays/translators/repeaters of the station's signal</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="Relay" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:sequence>
                                                    <xs:element name="RelayId" type="xs:string" minOccurs="0" />
                                                    <xs:element name="CallSign" type="xs:string" minOccurs="0" />
                                                    <xs:element name="Band" type="Band">
                                                        <xs:annotation>
                                                            <xs:documentation>Method of relay broadcast.</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Frequency" type="xs:decimal" />
                                                    <xs:element ref="Location">
                                                        <xs:annotation>
                                                            <xs:documentation>Station source location or target market.</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                </xs:sequence>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:choice>
        </xs:complexType>
    </xs:element>
    <xs:simpleType name="Band">
        <xs:restriction base="xs:string">
            <xs:enumeration value="FM" />
            <xs:enumeration value="AM" />
            <xs:enumeration value="DAB" />
            <xs:enumeration value="VHF" />
            <xs:enumeration value="UHF" />
            <xs:enumeration value="Stream">
                <xs:annotation>
                    <xs:documentation>For internet-only stations</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="MediaType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="MP3" />
            <xs:enumeration value="FLV" />
            <xs:enumeration value="RTMP-MP3" />
            <xs:enumeration value="RTMP-AAC" />
            <xs:enumeration value="WM" />
            <xs:enumeration value="WMPro" />
            <xs:enumeration value="WMVoice" />
            <xs:enumeration value="WMVideo" />
            <xs:enumeration value="Real" />
            <xs:enumeration value="AAC" />
            <xs:enumeration value="OGG" />
            <xs:enumeration value="QuickTime" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="AuxiliaryIdType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="CRID">
                <xs:annotation>
                    <xs:documentation>Recommended.  See http://en.wikipedia.org/wiki/Crid</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Wikipedia">
                <xs:annotation>
                    <xs:documentation>URL to wikipedia entry on the station.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="FCC">
                <xs:annotation>
                    <xs:documentation>FCC Facility Id for broadcast stations tracked by the FCC.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="RadioTime">
                <xs:annotation>
                    <xs:documentation>RadioTime station id for initial mapping of your station to an existing station in the RadioTime db.  Specifying the first time will reduce delays in mapping your data to the correct RadioTime stations.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DAB">
                <xs:annotation>
                    <xs:documentation>DAB identifier for station (for crossreference to DAG EPG data).</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ContactType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Administrative" />
            <xs:enumeration value="Technical" />
            <xs:enumeration value="General">
                <xs:annotation>
                    <xs:documentation>Displayed to users wishing to contact the station.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Sales" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="StreamRestriction">
        <xs:restriction base="xs:string">
            <xs:enumeration value="DeviceOnly">
                <xs:annotation>
                    <xs:documentation>Stream is only available to device partners and not on the radiotime.com website.  Use in conjunction with a WebPlayer to give radiotime.com users a listening option.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Location">
                <xs:annotation>
                    <xs:documentation>Stream is restricted to users in the same country as the station.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AuthRequired">
                <xs:annotation>
                    <xs:documentation>User needs an authorized account to access the stream.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
<?xml version=”1.0″ encoding=”utf-8″?> <xs:schema xmlns:msdata=”urn:schemas-microsoft-com:xml-msdata” xmlns:xs=”http://www.w3.org/2001/XMLSchema” id=”Stations”> <xs:element name=”Location”> <xs:complexType> <xs:sequence> <xs:element name=”City” type=”xs:string” minOccurs=”0″ /> <xs:element name=”State” type=”xs:string” minOccurs=”0″ /> <xs:element name=”Country” type=”xs:string”> <xs:annotation> <xs:documentation xml:lang=”en”>ISO 3166-2 (2 char country code)</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name=”Stations”> <xs:complexType> <xs:choice minOccurs=”0″ maxOccurs=”unbounded”> <xs:element name=”Station”> <xs:complexType> <xs:sequence> <xs:element name=”StationId” type=”xs:string”> <xs:annotation> <xs:documentation>Your unique station identifier</xs:documentation> </xs:annotation> </xs:element> <xs:element name=”Name” type=”xs:string” /> <xs:element name=”Slogan” type=”xs:string” minOccurs=”0″ /> <xs:element name=”Description” type=”xs:string” minOccurs=”0″ /> <xs:element name=”Language” type=”xs:string” minOccurs=”0″> <xs:annotation> <xs:documentation>ISO 639-1 2 char language code.  Defaults to english if not specified.</xs:documentation> </xs:annotation> </xs:element> <xs:element name=”CallSign” type=”xs:string” minOccurs=”0″ /> <xs:element name=”Band” type=”Band”> <xs:annotation> <xs:documentation>Method of station broadcast.</xs:documentation> </xs:annotation> </xs:element> <xs:element name=”Frequency” type=”xs:decimal” minOccurs=”0″> <xs:annotation> <xs:documentation>Optional for streaming stations.  Required for broadcast.</xs:documentation> </xs:annotation> </xs:element> <xs:element name=”HdSubChannel” type=”xs:string” minOccurs=”0″> <xs:annotation> <xs:documentation>For HD only broadcasting specify HD sub channel number.  Ex: 2 for HD2.</xs:documentation> </xs:annotation> </xs:element> <xs:element name=”TimeZone” type=”xs:string” minOccurs=”0″> <xs:annotation> <xs:documentation>Values from tz / zoneinfo database</xs:documentation> </xs:annotation> </xs:element> <xs:element name=”WebUrl” type=”xs:string” minOccurs=”0″ /> <xs:element name=”LastModifiedDate” type=”xs:dateTime” minOccurs=”0″ /> <xs:element name=”AuxiliaryIds” minOccurs=”0″> <xs:annotation> <xs:documentation>Extra identifying information to help map your station to other data sources or to an existing radiotime station.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name=”AuxiliaryId” nillable=”false” minOccurs=”0″ maxOccurs=”unbounded”> <xs:complexType> <xs:simpleContent> <xs:extension base=”xs:string”> <xs:attribute name=”type” type=”AuxiliaryIdType” use=”required” /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element ref=”Location”> <xs:annotation> <xs:documentation>Station source location or target market.</xs:documentation> </xs:annotation> </xs:element> <xs:element name=”Genres” minOccurs=”0″> <xs:annotation> <xs:documentation>Genres you associate with your station.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name=”Genre” nillable=”false” minOccurs=”0″ maxOccurs=”unbounded”> <xs:annotation> <xs:documentation>Name of genre</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base=”xs:string”> <xs:attribute name=”key” type=”xs:string”> <xs:annotation> <xs:documentation>Your internal genre identifier (optional for mapping reference if genre names will not be consistent)</xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name=”Logos” minOccurs=”0″> <xs:annotation> <xs:documentation>Logos assosicated with the station.  Logos will be converted to standard radiotime.com sizes: 145×145 , 145×70, 70×50</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name=”Logo” minOccurs=”0″ maxOccurs=”unbounded”> <xs:complexType> <xs:sequence> <xs:element name=”LogoUrl” type=”xs:string” /> <xs:element name=”ImageType” type=”xs:string” minOccurs=”0″> <xs:annotation> <xs:documentation>png,gif,jpg,etc</xs:documentation> </xs:annotation> </xs:element> <xs:element name=”Height” type=”xs:int” minOccurs=”0″/> <xs:element name=”Width” type=”xs:int” minOccurs=”0″ /> <xs:element name=”LastModifiedDate” type=”xs:dateTime” minOccurs=”0″> <xs:annotation> <xs:documentation>Optionally provide so we know when to update a station’s existing logo.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name=”Streams” minOccurs=”0″> <xs:complexType> <xs:sequence> <xs:element name=”Stream” minOccurs=”0″ maxOccurs=”unbounded”> <xs:complexType> <xs:sequence> <xs:element name=”MediaType” type=”MediaType” /> <xs:element name=”BitRate” type=”xs:int” /> <xs:element name=”StreamUrl” type=”xs:string” /> <xs:element name=”Restrictions” minOccurs=”0″> <xs:complexType> <xs:sequence> <xs:element name=”Restriction” minOccurs=”0″ maxOccurs=”unbounded”> <xs:complexType> <xs:attribute name=”type” type=”xs:string” /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name=”Contacts” minOccurs=”0″> <xs:annotation> <xs:documentation>List of contacts.  Contact of type “General” is listed on the radiotime.com station page for users to contact the station.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name=”Contact” minOccurs=”0″ maxOccurs=”unbounded”> <xs:complexType> <xs:sequence> <xs:element name=”Name” type=”xs:string” minOccurs=”0″ /> <xs:element name=”Email” type=”xs:string” minOccurs=”0″ /> <xs:element name=”PhoneNumber” type=”xs:string” minOccurs=”0″ /> <xs:element name=”MailingAddress” minOccurs=”0″> <xs:complexType> <xs:sequence> <xs:element name=”AddressLine1″ type=”xs:string” minOccurs=”0″ /> <xs:element name=”AddressLine2″ type=”xs:string” minOccurs=”0″ /> <xs:element name=”AddressLine3″ type=”xs:string” minOccurs=”0″ /> <xs:element name=”PostalCode” type=”xs:string” minOccurs=”0″ /> <xs:element ref=”Location” minOccurs=”0″ /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name=”Twitter” type=”xs:string” minOccurs=”0″> <xs:annotation> <xs:documentation>Twitter Id</xs:documentation> </xs:annotation> </xs:element> <xs:element name=”Facebook” type=”xs:string” minOccurs=”0″> <xs:annotation> <xs:documentation>Path to facebook page (omit domain and protocol)</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name=”type” type=”ContactType” use=”required” /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name=”WebPlayer” minOccurs=”0″> <xs:annotation> <xs:documentation>Popup web player for web users.  Specify if you don’t want to use the default RadioTime web player.  Height/Width control the size of the popup window</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name=”PlayerUrl” type=”xs:string” /> <xs:element name=”Height” type=”xs:int” /> <xs:element name=”Width” type=”xs:int” /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name=”Relays” minOccurs=”0″> <xs:annotation> <xs:documentation>Other broadcast relays/translators/repeaters of the station’s signal</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name=”Relay” minOccurs=”0″ maxOccurs=”unbounded”> <xs:complexType> <xs:sequence> <xs:element name=”RelayId” type=”xs:string” minOccurs=”0″ /> <xs:element name=”CallSign” type=”xs:string” minOccurs=”0″ /> <xs:element name=”Band” type=”Band”> <xs:annotation> <xs:documentation>Method of relay broadcast.</xs:documentation> </xs:annotation> </xs:element> <xs:element name=”Frequency” type=”xs:decimal” /> <xs:element ref=”Location”> <xs:annotation> <xs:documentation>Station source location or target market.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> <xs:simpleType name=”Band”> <xs:restriction base=”xs:string”> <xs:enumeration value=”FM” /> <xs:enumeration value=”AM” /> <xs:enumeration value=”DAB” /> <xs:enumeration value=”VHF” /> <xs:enumeration value=”UHF” /> <xs:enumeration value=”Stream”> <xs:annotation> <xs:documentation>For internet-only stations</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> <xs:simpleType name=”MediaType”> <xs:restriction base=”xs:string”> <xs:enumeration value=”MP3″ /> <xs:enumeration value=”FLV” /> <xs:enumeration value=”RTMP-MP3″ /> <xs:enumeration value=”RTMP-AAC” /> <xs:enumeration value=”WM” /> <xs:enumeration value=”WMPro” /> <xs:enumeration value=”WMVoice” /> <xs:enumeration value=”WMVideo” /> <xs:enumeration value=”Real” /> <xs:enumeration value=”AAC” /> <xs:enumeration value=”OGG” /> <xs:enumeration value=”QuickTime” /> </xs:restriction> </xs:simpleType> <xs:simpleType name=”AuxiliaryIdType”> <xs:restriction base=”xs:string”> <xs:enumeration value=”CRID”> <xs:annotation> <xs:documentation>Recommended.  See http://en.wikipedia.org/wiki/Crid</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value=”Wikipedia”> <xs:annotation> <xs:documentation>URL to wikipedia entry on the station.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value=”FCC”> <xs:annotation> <xs:documentation>FCC Facility Id for broadcast stations tracked by the FCC.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value=”RadioTime”> <xs:annotation> <xs:documentation>RadioTime station id for initial mapping of your station to an existing station in the RadioTime db.  Specifying the first time will reduce delays in mapping your data to the correct RadioTime stations.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value=”DAB”> <xs:annotation> <xs:documentation>DAB identifier for station (for crossreference to DAG EPG data).</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> <xs:simpleType name=”ContactType”> <xs:restriction base=”xs:string”> <xs:enumeration value=”Administrative” /> <xs:enumeration value=”Technical” /> <xs:enumeration value=”General”> <xs:annotation> <xs:documentation>Displayed to users wishing to contact the station.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value=”Sales” /> </xs:restriction> </xs:simpleType> <xs:simpleType name=”StreamRestriction”> <xs:restriction base=”xs:string”> <xs:enumeration value=”DeviceOnly”> <xs:annotation> <xs:documentation>Stream is only available to device partners and not on the radiotime.com website.  Use in conjunction with a WebPlayer to give radiotime.com users a listening option.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value=”Location”> <xs:annotation> <xs:documentation>Stream is restricted to users in the same country as the station.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value=”AuthRequired”> <xs:annotation> <xs:documentation>User needs an authorized account to access the stream.</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:schema>