<?xml version="1.0" encoding="UTF-8"?>
<!-- Version 1.0 of the TripAdvisor Point Of Interest List XML Schema.
  -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xsd:element name="PropertyList">
        <xsd:annotation>
            <xsd:documentation>
                This is the document root element. It contains a sequence of Property elements.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END PropertyList Element -->

    <xsd:element name="Property">
        <xsd:annotation>
            <xsd:documentation>
                A Property represents a property on TripAdvisor.
                * "id" is the TA ID.
                * "type" is "hotel", "restaurant", "attraction
                * "rating" is the overall property rating on TA.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="Name" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="TripAdvisorURL" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="ViewPhotosURL" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="BookingURL" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="WriteReviewURL" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="AllQuestionsAndAnswersURL" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Category" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="Type" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="Description" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="Address" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="GeoHierarchy" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="PhoneNumber" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="RoomCount" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="PropertyURL" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Latitude" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Longitude" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="GeoCodes" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="AverageRating" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="RawRating" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="RatingImageURL" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="ReviewCount" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Popularity" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="RankingData" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="PhotoCount" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="UserReviewRatings" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="RatingBreakdown" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="PriceLevel" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Summarization" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Closed" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Chain" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Brand" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Price" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="TripTypeBreakdown" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Amenities" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Awards" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="OpenHours" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Hours" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="AlsoViewed" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="GoodFor" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="AlsoKnownAs" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="TravelSafeData" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="QuestionsAndAnswers" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="Email" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Neighborhoods" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="NearestMetroStations" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="LocationString" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="Ancestors" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="AttractionTypes" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="SubRatings" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="SpecialDiet" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Features" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Meals" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="SubCategories" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="Menu" type="xsd:anyURI" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="RecommendedVisitLength" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Cuisine" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="LanguageReviewCounts" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="ListingStatus" minOccurs="0" maxOccurs="1"/>
            </xsd:sequence>
            <xsd:attribute name="id" type="xsd:integer" use="required"/>
            <xsd:attribute name="geoid" type="xsd:integer" use="required"/>
        </xsd:complexType>
    </xsd:element> <!-- END Property Element -->

    <xsd:element name="PartnerId">
        <xsd:annotation>
            <xsd:documentation>
                The partner ID for the property, if there is a partner mapping
                associated with this feed.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element> <!-- END PartnerId Element -->

    <xsd:element name="Name">
        <xsd:annotation>
            <xsd:documentation>
                Localized location name
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="lang" type="xsd:NCName" use="required"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element> <!-- END Name Element -->

    <xsd:element name="TripAdvisorURL">
        <xsd:annotation>
            <xsd:documentation>
                URL on the TA site
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:anyURI"/>
        </xsd:simpleType>
    </xsd:element> <!-- END TripAdvisorURL Element -->

    <xsd:element name="WriteReviewURL">
        <xsd:annotation>
            <xsd:documentation>
                URL for the write a review link
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:anyURI"/>
        </xsd:simpleType>
    </xsd:element> <!-- END WriteReviewURL Element -->

    <xsd:element name="AllQuestionsAndAnswersURL">
        <xsd:annotation>
            <xsd:documentation>
                URL for the page with all questions and answers
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:anyURI"/>
        </xsd:simpleType>
    </xsd:element> <!-- END AllQuestionsAndAnswersURL Element -->

    <xsd:element name="Category">
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="lang" type="xsd:NCName"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="ViewPhotosURL">
        <xsd:annotation>
            <xsd:documentation>
                URL for the view photos link
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:anyURI"/>
        </xsd:simpleType>
    </xsd:element> <!-- END ViewPhotosURL Element -->

    <xsd:element name="BookingURL">
        <xsd:annotation>
            <xsd:documentation>
                URL for the booking link
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:anyURI"/>
        </xsd:simpleType>
    </xsd:element> <!-- END BookingURL Element -->

    <xsd:element name="Type">
        <xsd:annotation>
            <xsd:documentation>
                Type information: lang is the language of the type, name and category
                typename is hotel, restaurant, attraction.
                subtype is a number that represents the subtype.
                subtypename is the english equivalent of the number: e.g. BandB, Hotel, Fast Food, Bar, etc
                subtypecategory is a list of categories
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="TypeName" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="SubType" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="SubTypeName" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="SubTypeCategories" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="AttractionTypes" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="AttractionGroups" minOccurs="0" maxOccurs="1"/>
            </xsd:sequence>
            <xsd:attribute name="lang" type="xsd:NCName" use="required"/>
        </xsd:complexType>
    </xsd:element> <!-- END Type Element -->

    <xsd:element name="SubTypeCategories">
        <xsd:annotation>
            <xsd:documentation>
                List of sub type categories
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="SubTypeCategory" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
            <xsd:attribute name="lang" type="xsd:NCName"/>
        </xsd:complexType>
    </xsd:element> <!-- END SubTypeCategories Element -->

    <xsd:element name="AttractionGroups">
        <xsd:annotation>
            <xsd:documentation>
                List of Groups Attraction this Attraction belongs to.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="AttractionGroup" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END AttractionGroups Element -->

    <xsd:element name="AttractionGroup">
        <xsd:annotation>
            <xsd:documentation>
                An individual Group this Attraction belongs to. Includes the Categories this Attraction belongs to that
                are a part of this Group.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="AttractionGroupName" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="AttractionCategories" minOccurs="0" maxOccurs="1"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END AttractionGroup Element -->

    <xsd:element name="AttractionCategories">
        <xsd:annotation>
            <xsd:documentation>
                List of Categories for this Attraction that are under the same Group.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="AttractionCategory" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END AttractionCategories Element -->

    <xsd:element name="Description">
        <xsd:annotation>
            <xsd:documentation>
                Localized location description
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="lang" type="xsd:NCName" use="required"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element> <!-- END Description Element -->

    <xsd:element name="Address">
        <xsd:annotation>
            <xsd:documentation>
                Address information
            </xsd:documentation>
        </xsd:annotation>

        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="lang" type="xsd:string" use="required"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
        <!--xsd:complexType>
              <xsd:sequence>
                <xsd:element name="StreetAddress" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="City" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="Neighborhood" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="DisplayAddress" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="PostalCode" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="State" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="Country" type="xsd:string" minOccurs="0" maxOccurs="1"/>
              </xsd:sequence>
          <xsd:attribute name="lang" type="xsd:string" use="required"/>
        </xsd:complexType-->
    </xsd:element> <!-- END Address Element -->

    <xsd:element name="GeoHierarchy">
        <xsd:annotation>
            <xsd:documentation>
                NUM:NUM:Name|NUM:NUM:Name|... for the hierarchy of locations with this as the leaf
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element> <!-- END GeoHierarchy Element -->

    <xsd:element name="PhoneNumber">
        <xsd:annotation>
            <xsd:documentation>
                Phone number list
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="type" type="xsd:string" use="required"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element> <!-- END PhoneNumber Element -->

    <xsd:element name="RoomCount">
        <xsd:annotation>
            <xsd:documentation>
                Number of rooms, if it's a hotel
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:integer"/>
        </xsd:simpleType>
    </xsd:element> <!-- END RoomCount Element -->

    <xsd:element name="PropertyURL">
        <xsd:annotation>
            <xsd:documentation>
                Official URL for the location
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element> <!-- END PropertyURL Element -->

    <xsd:element name="Latitude">
        <xsd:annotation>
            <xsd:documentation>
                If available and configured, this will hold location's latitude.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:double"/>
        </xsd:simpleType>
    </xsd:element> <!-- END Latitude Element -->

    <xsd:element name="Longitude">
        <xsd:annotation>
            <xsd:documentation>
                If available and configured, this will hold location's longitude.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:double"/>
        </xsd:simpleType>
    </xsd:element> <!-- END Longitude Element -->

    <xsd:element name="GeoCodes">
        <xsd:annotation>
            <xsd:documentation>
                A list of geo code objects
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="GeoCode" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END GeoCodes Element -->

    <xsd:element name="GeoCode">
        <xsd:annotation>
            <xsd:documentation>
                The source is one of the following:
                * owned by the partner, so the partner's name
                * owned or licensed for distribution by TripAdvisor, so "tripadvisor"
                * some other source that has a specific agreement with the partner already
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="GeoCodeSource" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Latitude" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="Longitude" minOccurs="0" maxOccurs="1"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END GeoCode Element -->

    <xsd:element name="GeoCodeSource">
        <xsd:annotation>
            <xsd:documentation>
                Source for a GeoCode, in most cases "tripadvisor"
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element> <!-- END GeoCodeSource Element -->

    <xsd:element name="AverageRating">
        <xsd:annotation>
            <xsd:documentation>
                Average rating on TripAdvisor
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:double"/>
        </xsd:simpleType>
    </xsd:element> <!-- END AverageRating Element -->

    <xsd:element name="RawRating">
        <xsd:annotation>
            <xsd:documentation>
                The raw rating used on TripAdvisor to determine ranking
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:double"/>
        </xsd:simpleType>
    </xsd:element> <!-- END RawRating Element -->

    <xsd:element name="RatingImageURL">
        <xsd:annotation>
            <xsd:documentation>
                The rating image usable in search results
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:anyURI"/>
        </xsd:simpleType>
    </xsd:element> <!-- END RatingImageURL Element -->

    <xsd:element name="ReviewCount">
        <xsd:annotation>
            <xsd:documentation>
                Number of reviews on TripAdvisor
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:integer"/>
        </xsd:simpleType>
    </xsd:element> <!-- END ReviewCount Element -->

    <xsd:element name="RankingData">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="RankingGeo"/>
                <xsd:element ref="RankingGeoId"/>
                <xsd:element ref="RankingPosition"/>
                <xsd:element ref="RankingDenominator"/>
                <xsd:element ref="Ranking"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="RankingGeo" type="xsd:string"/>
    <xsd:element name="RankingGeoId" type="xsd:integer"/>
    <xsd:element name="RankingPosition" type="xsd:integer"/>
    <xsd:element name="RankingDenominator" type="xsd:integer"/>
    <xsd:element name="Ranking" type="xsd:string"/>

    <xsd:element name="Popularity">
        <xsd:annotation>
            <xsd:documentation>
                Popularity element to hold popularity information
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="PopularityIndex" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="PopularityOutOf" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="PopularitySubtypeCategory" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="PopularitySubtype" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
                <xsd:element name="PopularitySubtypeOutOf" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END Popularity Element -->

    <xsd:element name="PhotoCount">
        <xsd:annotation>
            <xsd:documentation>
                Number of photos on TripAdvisor
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:integer"/>
        </xsd:simpleType>
    </xsd:element> <!-- END PhotoCount Element -->

    <xsd:element name="UserReviewRatings">
        <xsd:annotation>
            <xsd:documentation>
                Property subratings element
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="UserReviewRating" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END UserReviewRatings Element -->

    <xsd:element name="UserReviewRating">
        <xsd:annotation>
            <xsd:documentation>
                Property rating
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:attribute name="name" type="xsd:string" use="required"/>
            <xsd:attribute name="score" type="xsd:string" use="required"/>
            <xsd:attribute name="total" type="xsd:string" use="required"/>
        </xsd:complexType>
    </xsd:element> <!-- END UserReviewRating Element -->


    <xsd:element name="RatingBreakdown">
        <xsd:annotation>
            <xsd:documentation>
                Rating breakdown by number of reviews and rating
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="RatingDetail" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END RatingBreakdown Element -->

    <xsd:element name="RatingDetail">
        <xsd:annotation>
            <xsd:documentation>
                Rating breakdown
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:attribute name="name" type="xsd:string" use="required"/>
            <xsd:attribute name="numReviews" type="xsd:string" use="required"/>
            <xsd:attribute name="score" type="xsd:string" use="required"/>
        </xsd:complexType>
    </xsd:element> <!-- END RatingDetail Element -->

    <xsd:element name="Brand">
        <xsd:annotation>
            <xsd:documentation>
                Brand information, if available, hotels only
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element> <!-- END Brand Element -->

    <xsd:element name="Chain">
        <xsd:annotation>
            <xsd:documentation>
                Chain information, if available, hotels only
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element> <!-- END Chain Element -->

    <xsd:element name="Price">
        <xsd:annotation>
            <xsd:documentation>
                Price information
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:attribute name="minrate" type="xsd:string" use="required"/>
            <xsd:attribute name="maxrate" type="xsd:string" use="required"/>
            <xsd:attribute name="currency" type="xsd:string" use="required"/>
        </xsd:complexType>
    </xsd:element> <!-- END Price Element -->

    <xsd:element name="PriceLevel" type="xsd:string"/>

    <xsd:element name="TripTypeBreakdown">
        <xsd:annotation>
            <xsd:documentation>
                TripType breakdown by number of reviews and rating
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="TripTypeDetail" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END TripTypeBreakdown Element -->

    <xsd:element name="TripTypeDetail">
        <xsd:annotation>
            <xsd:documentation>
                TripType breakdown
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:attribute name="name" type="xsd:string" use="required"/>
            <xsd:attribute name="numReviews" type="xsd:string" use="required"/>
        </xsd:complexType>
    </xsd:element> <!-- END TripTypeDetail Element -->

    <xsd:element name="Amenities">
        <xsd:annotation>
            <xsd:documentation>
                Amenities offered by hotel
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="Amenity" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END Amenities Element -->

    <xsd:element name="Amenity">
        <xsd:annotation>
            <xsd:documentation>
                Amenity name offered by hotel
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:attribute name="name" type="xsd:string" use="required"/>
        </xsd:complexType>
    </xsd:element> <!-- END Amenity Element -->

    <xsd:element name="Awards">
        <xsd:annotation>
            <xsd:documentation>
                Awards for this location
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="Award" minOccurs="1" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END Awards Element -->

    <xsd:element name="Award">
        <xsd:annotation>
            <xsd:documentation>
                Award element, type is always currently set to TravelersChoice
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element minOccurs="0" name="Name" type="xsd:string"/>
                <xsd:sequence minOccurs="0">
                    <xsd:element ref="Categories"/>
                    <xsd:element ref="TinyImageURL"/>
                </xsd:sequence>
                <xsd:element minOccurs="0" ref="SmallImageURL"/>
                <xsd:element minOccurs="0" ref="LargeImageURL"/>
            </xsd:sequence>
            <xsd:attribute name="type" type="xsd:string" use="required"/>
            <xsd:attribute name="year" type="xsd:integer" use="required"/>
        </xsd:complexType>
    </xsd:element> <!-- END Award Element -->

    <xsd:element name="Categories">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="Category" minOccurs="1" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="TinyImageURL" type="xsd:anyURI"/>
    <xsd:element name="SmallImageURL" type="xsd:anyURI"/>
    <xsd:element name="LargeImageURL" type="xsd:anyURI"/>

    <xsd:element name="OpenHours">
        <xsd:annotation>
            <xsd:documentation>
                Open hours information, if available, for restaurants only
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element> <!-- END OpenHours Element -->

    <xsd:element name="Hours">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" ref="Day"/>
                <xsd:element ref="TimeZone"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Day">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="DayName"/>
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="Time"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="DayName" type="xsd:NCName"/>
    <xsd:element name="Time">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="OpenTime"/>
                <xsd:element ref="CloseTime"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="OpenTime" type="xsd:NMTOKEN"/>
    <xsd:element name="CloseTime" type="xsd:NMTOKEN"/>
    <xsd:element name="TimeZone" type="xsd:string"/>

    <xsd:element name="Neighborhoods">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="Neighborhood" minOccurs="1" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Neighborhood">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="LocationId" type="xsd:integer"/>
                <xsd:element maxOccurs="unbounded" name="Name" type="NeighborhoodName"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="NeighborhoodName">
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute name="lang" type="xsd:NCName" use="required"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

    <xsd:element name="NearestMetroStations">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="NearestMetroStation" minOccurs="1" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="NearestMetroStation">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" name="Name" type="NearestMetroStationName"/>
                <xsd:element name="Distance" type="xsd:string" maxOccurs="1"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="NearestMetroStationName">
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute name="lang" type="xsd:NCName" use="required"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

    <xsd:element name="GoodFor">
        <xsd:annotation>
            <xsd:documentation>
                Good for romance, doing business, local cuisine, etc, for restaurants only
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="GoodForCategory" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END GoodFor Element -->

    <xsd:element name="SpecialDiet">
        <xsd:annotation>
            <xsd:documentation>
                Special diets provided by this restaurant
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="Diet" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END SpecialDiet Element -->

    <xsd:element name="Diet">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" name="Name" type="DietName"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

    <xsd:complexType name="DietName" mixed="true">
        <xsd:attribute name="lang" type="xsd:NCName"/>
    </xsd:complexType> <!-- END Diet Element -->

    <xsd:element name="Meals">
        <xsd:annotation>
            <xsd:documentation>
                Meals provided by this restaurant
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="Meal" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END Meals Element -->

    <xsd:element name="Meal">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" name="Name" type="MealName"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

    <xsd:complexType name="MealName" mixed="true">
        <xsd:attribute name="lang" type="xsd:NCName"/>
    </xsd:complexType> <!-- END Meal Element -->

    <xsd:element name="SubRatings">
        <xsd:annotation>
            <xsd:documentation>
                The subratings for this property
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="Rating" minOccurs="1" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="Rating">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="Value" type="xsd:double" minOccurs="1" maxOccurs="1"/>
                <xsd:element ref="Name" minOccurs="1" maxOccurs="unbounded"/>
                <xsd:element ref="ImageURL" minOccurs="1" maxOccurs="1"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>


    <xsd:element name="ImageURL" type="xsd:anyURI"/>

    <xsd:element name="AttractionTypes">
        <xsd:annotation>
            <xsd:documentation>The attractions type classification, only for attractions</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="AttractionType"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="AttractionType">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" ref="Name"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="Ancestors">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="Ancestor" minOccurs="1" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="Ancestor">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" name="Name" type="AncestorName"/>
            </xsd:sequence>
            <xsd:attribute name="id" type="xsd:integer" use="required"/>
            <xsd:attribute name="level" type="xsd:string"/>
        </xsd:complexType>
    </xsd:element>

    <xsd:complexType name="AncestorName">
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute name="lang" type="xsd:NCName" use="required"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

    <xsd:element name="LocationString">
        <xsd:annotation>
            <xsd:documentation>
                The location string for this property
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType mixed="true">
            <xsd:attribute name="lang" use="required" type="xsd:NCName"/>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="Summarization">
        <xsd:annotation>
            <xsd:documentation>
                List of summarization words and phrases, hotel only
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="SummarizationPhrase" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END Summarization Element -->

    <xsd:element name="AlsoViewed">
        <xsd:annotation>
            <xsd:documentation>
                Top also viewed properties
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="AlsoViewedProperty" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END AlsoViewed Element -->

    <xsd:element name="TravelSafeData">
        <xsd:annotation>
            <xsd:documentation>
                The travel safe data provided by the management of this property
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="Safety" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END TravelSafeData Element -->

    <xsd:element name="Safety">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" name="Name" type="SafetyName"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

    <xsd:complexType name="SafetyName" mixed="true">
        <xsd:attribute name="lang" type="xsd:NCName"/>
    </xsd:complexType> <!-- END Safety Element -->

    <xsd:element name="QuestionsAndAnswers">
        <xsd:annotation>
            <xsd:documentation>
                Questions and Answers for this property
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="QuestionAndAnswers" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="QuestionAndAnswers">
        <xsd:annotation>
            <xsd:documentation>
                One of the question and its answers of the property
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="DatePublished" type="xsd:string"/>
                <xsd:element name="Question" type="xsd:string"/>
                <xsd:element name="Author" type="QuestionAndAnswersAuthor" minOccurs="0"/>
                <xsd:element name="Answers" type="QuestionAndAnswersAnswers"/>
                <xsd:element name="AllAnswersToQuestionURL" type="xsd:string" minOccurs="0"/>
            </xsd:sequence>
            <xsd:attribute name="lang" type="xsd:NCName"/>
        </xsd:complexType>
    </xsd:element>

    <xsd:complexType name="QuestionAndAnswersAuthor">
        <xsd:sequence>
            <xsd:element name="AuthorName" type="xsd:string" minOccurs="0"/>
            <xsd:element name="Location" type="xsd:string" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="QuestionAndAnswersAnswers">
        <xsd:sequence>
            <xsd:element name="Answer" type="QuestionAndAnswersAnswer" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="QuestionAndAnswersAnswer">
        <xsd:sequence>
            <xsd:element name="Answer" type="xsd:string" minOccurs="0"/>
            <xsd:element name="Author" type="QuestionAndAnswersAuthor"/>
            <xsd:element name="DatePublished" type="xsd:string" minOccurs="0"/>
        </xsd:sequence>
        <xsd:attribute name="lang" type="xsd:NCName"/>
    </xsd:complexType>

    <xsd:element name="AlsoViewedProperty">
        <xsd:annotation>
            <xsd:documentation>
                Rating breakdown
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:attribute name="id" type="xsd:integer" use="required"/>
        </xsd:complexType>
    </xsd:element> <!-- END AlsoViewedProperty Element -->

    <xsd:element name="Features">
        <xsd:annotation>
            <xsd:documentation>
                The features of this property
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" ref="Feature"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="Feature">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" ref="Name"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>


    <xsd:element name="SubCategories">
        <xsd:annotation>
            <xsd:documentation>
                The subcategories of this property
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" ref="SubCategory"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="SubCategory">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" ref="Name"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="RecommendedVisitLength">
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="lang" type="xsd:NCName" use="required"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="Cuisine">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" ref="Item"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Item">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" name="Name" type="CuisineName"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="CuisineName" mixed="true">
        <xsd:attribute name="lang" type="xsd:NCName"/>
    </xsd:complexType>

    <xsd:element name="LanguageReviewCounts">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="LanguageReviewCount" minOccurs="1" maxOccurs="unbounded" />
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="LanguageReviewCount">
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="lang" type="xsd:NCName" use="required"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="AlsoKnownAs">
        <xsd:annotation>
            <xsd:documentation>
                List of AKA, or aliases
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="AlsoKnownAsAlias" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END AlsoKnownAlias Element -->

    <xsd:element name="Closed" type="xsd:boolean">
        <xsd:annotation>
            <xsd:documentation>
                Whether the property is closed, presence means this property is closed
            </xsd:documentation>
        </xsd:annotation>
    </xsd:element> <!-- END Closed Element -->

    <xsd:element name="ListingStatus">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="Status" type="xsd:string"/>
                <xsd:element name="ClosedDate" type="xsd:string" minOccurs="0"/>
                <xsd:element name="ReopenDate" type="xsd:string" minOccurs="0"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element> <!-- END ListingStatus Element -->

</xsd:schema>
