<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 list of Property elements.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="Property"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Property">
        <xsd:annotation>
            <xsd:documentation>
                A Property represents a property on TripAdvisor.
                * "id" is the TA ID.
                * "type" is currently always "hotel".
                * "rating" is the overall property rating on TA.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element minOccurs="0" maxOccurs="1" ref="Name"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="RatingImageURL"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="AverageRating"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="ReviewCount"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="SubRatings"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="Reviews"/>
            </xsd:sequence>
            <xsd:attribute name="id" type="xsd:integer" use="required"/>
            <xsd:attribute name="cityId" type="xsd:integer"/>
            <xsd:attribute name="countryId" type="xsd:integer"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Name">
        <xsd:annotation>
            <xsd:documentation>Name of the property as listed on TA.</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd: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="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="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="SubRatings">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" ref="SubRating"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="SubRating" type="ReviewSubRatingType"/>
    <xsd:element name="Reviews">
        <xsd:annotation>
            <xsd:documentation>
                List of recently added or modified reviews for this property submitted via the review collection platform.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="Review"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Review">
        <xsd:annotation>
            <xsd:documentation>
                A review submitted for this property via the review collection platform.
                * "id" is the ID of the review on TA.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element minOccurs="0" maxOccurs="1" ref="ModerationStatus"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="DatePublished"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="ReviewURL"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="MoreReviewsURL"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="Rating"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="RatingImageURL"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="Language"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="MachineTranslated"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="Title"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="Text"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="Author"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="TripType"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="ReviewSubRatings"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="ReviewDetails"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="ManagementResponse"/>
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="Photo"/>
            </xsd:sequence>
            <xsd:attribute name="id" type="xsd:integer" use="required"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="ModerationStatus">
        <xsd:annotation>
            <xsd:documentation>Current moderation status of the review.</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string">
                <xsd:enumeration value="New"/>
                <xsd:enumeration value="Published"/>
                <xsd:enumeration value="Removed"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="DatePublished">
        <xsd:annotation>
            <xsd:documentation>
                The date and time the review was published on the site. Format "yyyy-MM-dd'T'HH:mm:ss.SSSZ" (i.e., 2001-07-04T12:08:56.235-0700).
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="ReviewURL">
        <xsd:annotation>
            <xsd:documentation>The URL for the review on TripAdvisor</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="MoreReviewsURL">
        <xsd:annotation>
            <xsd:documentation>
                The URL for the more reviews for this property on TripAdvisor
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="Rating">
        <xsd:annotation>
            <xsd:documentation>The overall rating of the review.</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:integer"/>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="Language">
        <xsd:annotation>
            <xsd:documentation>The language of the review.</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="MachineTranslated" type="xsd:boolean"/>
    <xsd:element name="Title">
        <xsd:annotation>
            <xsd:documentation>The title of the review.</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="Text">
        <xsd:annotation>
            <xsd:documentation>The review text.</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="Author">
        <xsd:annotation>
            <xsd:documentation>Information about the author of the review.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:all>
                <xsd:element minOccurs="0" maxOccurs="1" ref="AuthorName"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="Location"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="SmallAvatarURL"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="LargeAvatarURL"/>
            </xsd:all>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Photo">
        <xsd:complexType>
            <xsd:all>
                <xsd:element ref="ThumbnailURL" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="LargeThumbnailURL" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="FullSizeURL" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="StandardSizeURL" minOccurs="0" maxOccurs="1"/>
                <xsd:element ref="OriginalSizeURL" minOccurs="0" maxOccurs="1"/>
            </xsd:all>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="Caption">
        <xsd:annotation>
            <xsd:documentation>Caption text</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="ThumbnailURL">
        <xsd:annotation>
            <xsd:documentation>
                URL to the thumbnail size for this image, will always be 50x50
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="height" type="xsd:integer" use="required"/>
                    <xsd:attribute name="width" type="xsd:integer" use="required"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <!--  END ThumbnailURL Element  -->
    <xsd:element name="LargeThumbnailURL">
        <xsd:annotation>
            <xsd:documentation>
                URL to the large thumbnail size for this image, will always be 150x150
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="height" type="xsd:integer" use="required"/>
                    <xsd:attribute name="width" type="xsd:integer" use="required"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <!--  END LargeThumbnailURL Element  -->
    <xsd:element name="FullSizeURL">
        <xsd:annotation>
            <xsd:documentation>URL to the full size for this image</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="height" type="xsd:integer" use="required"/>
                    <xsd:attribute name="width" type="xsd:integer" use="required"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <!--  END FullSizeURL Element  -->
    <xsd:element name="StandardSizeURL">
        <xsd:annotation>
            <xsd:documentation>URL to the standard size for this image</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="height" type="xsd:integer" use="required"/>
                    <xsd:attribute name="width" type="xsd:integer" use="required"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <!--  END StandardSizeURL Element  -->
    <xsd:element name="OriginalSizeURL">
        <xsd:annotation>
            <xsd:documentation>URL to the original size for this image</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="height" type="xsd:integer" use="required"/>
                    <xsd:attribute name="width" type="xsd:integer" use="required"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <!--  END OriginalSizeURL Element  -->
    <xsd:element name="ViewerURL">
        <xsd:annotation>
            <xsd:documentation>URL to the photo viewer that will have this photo</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd: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="ThumbsUpCount">
        <xsd:annotation>
            <xsd:documentation>Number of thumbs up for this photo</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:integer"/>
        </xsd:simpleType>
    </xsd:element>
    <!--  END ThumbsUpCount Element  -->
    <xsd:element name="ThumbsDownCount">
        <xsd:annotation>
            <xsd:documentation>Number of thumbs up for this photo</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:integer"/>
        </xsd:simpleType>
    </xsd:element>
    <!--  END ThumbsDownCount Element  -->
    <xsd:element name="AuthorName">
        <xsd:annotation>
            <xsd:documentation>
                The displayable name of the review author. May be either first name and last initial, or screen name.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="Location">
        <xsd:annotation>
            <xsd:documentation>The location of the review author.</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="SmallAvatarURL">
        <xsd:annotation>
            <xsd:documentation>The 50x50 avatar url for the author.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="height" type="xsd:integer" use="required"/>
                    <xsd:attribute name="width" type="xsd:integer" use="required"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="LargeAvatarURL">
        <xsd:annotation>
            <xsd:documentation>The 205x205 avatar url for the author.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="height" type="xsd:integer" use="required"/>
                    <xsd:attribute name="width" type="xsd:integer" use="required"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="TripType">
        <xsd:annotation>
            <xsd:documentation>The type of trip</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
            <xsd:restriction base="xsd:string"/>
        </xsd:simpleType>
    </xsd:element>
    <xsd:element name="ReviewSubRatings">
        <xsd:annotation>
            <xsd:documentation>
                Review subratings. Sequence of ReviewSubRating elements.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="ReviewSubRating"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="ReviewSubRating" type="ReviewSubRatingType"/>
    <xsd:complexType name="ReviewSubRatingType">
        <xsd:annotation>
            <xsd:documentation>
                An individual subrating for the review. * "name" is the name of the subrating. Current subrating names are: Value, Rooms, Location, Cleanliness, Service, SleepQuality.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute name="name" type="xsd:string" use="required"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--  END ReviewSubRating Element  -->
    <xsd:element name="Value">
        <xsd:annotation>
            <xsd:documentation>
                Value of a subrating, additional field or custom question.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="id" type="xsd:string"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="ReviewDetails">
        <xsd:annotation>
            <xsd:documentation>
                Detailed information fields for the review. Sequence of ReviewDetail elements.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="ReviewDetail"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="ReviewDetail">
        <xsd:annotation>
            <xsd:documentation>
                An individual detail field for the review. These include date of stay, purpose of trip, traveled with, and recommend. * "name" is the name of the detail field. Current detail fields are: DateOfVisit, PurposeOfTrip, TraveledWith, Recommend.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="xsd:string">
                    <xsd:attribute name="name" type="xsd:string" use="required"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>
    <!--  END ReviewDetail Element  -->
    <xsd:element name="ManagementResponse">
        <xsd:annotation>
            <xsd:documentation>
                Management response for the review. * "id" is the TA ID of the management response.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:all>
                <xsd:element minOccurs="0" maxOccurs="1" ref="ModerationStatus"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="DatePublished"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="Language"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="Text"/>
                <xsd:element minOccurs="0" maxOccurs="1" ref="Author"/>
            </xsd:all>
            <xsd:attribute name="id" type="xsd:string" use="required"/>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>