<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://services.mobile.de/schema/common/seller-2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:seller="http://services.mobile.de/schema/common/seller-2.0" elementFormDefault="qualified">

    <xs:element name="seller">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="location-contact" type="seller:contact" minOccurs="0" maxOccurs="1"/>
                <xs:element name="support-contact" type="seller:contact" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>deprecated</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element ref="seller:legal" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>deprecated</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element ref="seller:settings" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="seller:billing-forecast" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="seller:picture-provider" minOccurs="0" maxOccurs="1"/>
            </xs:sequence>
            <xs:attribute name="key" use="optional" type="xs:string"/>
            <xs:attribute name="type" use="required">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="DEALER"/>
                        <xs:enumeration value="FOR_SALE_BY_OWNER"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="site-id" use="optional" type="seller:site-id-type"/>
            <xs:attribute name="customerNumber" use="optional" type="xs:string"/>
            <xs:attribute name="name-invisible" use="optional" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>When set to 'true' the customers name won't be displayed in its ads.
                    </xs:documentation>
                </xs:annotation>
            </xs:attribute>
            <xs:attribute name="phone-number-invisible" use="optional" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>When set to 'true' the customers phone number won't be shown in its ads.
                    </xs:documentation>
                </xs:annotation>
            </xs:attribute>
            <xs:attribute name="commercial" use="optional" type="xs:boolean"/>
            <xs:attribute name="mobile-seller-since" use="optional" type="xs:date">
                <xs:annotation>
                    <xs:documentation>deprecated</xs:documentation>
                </xs:annotation>
            </xs:attribute>
            <xs:attribute name="ident-level" use="optional" type="seller:ident-level">
                <xs:annotation>
                    <xs:documentation>deprecated</xs:documentation>
                </xs:annotation>
            </xs:attribute>
            <xs:attribute name="in-trial" use="optional" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>mobile.de internal use</xs:documentation>
                </xs:annotation>
            </xs:attribute>
            <xs:attribute name="status" use="optional" type="xs:string">
                <xs:annotation>
                    <xs:documentation>deprecated</xs:documentation>
                </xs:annotation>
            </xs:attribute>
            <xs:attribute name="readonly" use="optional" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>When set to 'true' the vehicle-data of this seller is readonly for the current
                        API-User.</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        </xs:complexType>
    </xs:element>

    <xs:simpleType name="site-id-type">
        <xs:union memberTypes="seller:site-id-enum xs:token"/>
    </xs:simpleType>

    <xs:simpleType name="site-id-enum">
        <xs:restriction base="xs:token">
            <xs:enumeration value="GERMANY">
                <xs:annotation>
                    <xs:documentation>The german platform.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="contact">
        <xs:sequence>
            <xs:element ref="seller:address" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>deprecated</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element ref="seller:phone" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>deprecated</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="salutation">
            <xs:annotation>
                <xs:documentation>deprecated</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="FEMALE"/>
                    <xs:enumeration value="MALE"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="first-name" use="optional" type="xs:string">
            <xs:annotation>
                <xs:documentation>deprecated</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="last-name" use="optional" type="xs:string">
            <xs:annotation>
                <xs:documentation>deprecated</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="company-name" use="optional" type="xs:string">
            <xs:annotation>
                <xs:documentation>the name of the company</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="email" use="optional" type="xs:string">
            <xs:annotation>
                <xs:documentation>deprecated</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="homepage" use="optional" type="xs:anyURI">
            <xs:annotation>
                <xs:documentation>deprecated</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    <xs:element name="address">
        <xs:annotation>
            <xs:documentation>deprecated</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:attribute name="country-code" use="required" type="seller:country-type"/>
            <xs:attribute name="zip-code" use="required" type="xs:string"/>
            <xs:attribute name="city" use="required" type="xs:string"/>
            <xs:attribute name="street" use="optional" type="xs:string"/>
            <xs:attribute name="house-number" use="optional" type="xs:string"/>
        </xs:complexType>
    </xs:element>

    <xs:simpleType name="country-type">
        <xs:union memberTypes="seller:country-enum xs:token"/>
    </xs:simpleType>
    <xs:simpleType name="country-enum">
        <xs:restriction base="xs:token">
            <xs:enumeration value="DE">
                <xs:annotation>
                    <xs:documentation>GERMANY</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:element name="phone">
        <xs:complexType>
            <xs:attribute name="type">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="FIXED">
                            <xs:annotation>
                                <xs:documentation>Fix net phone.</xs:documentation>
                            </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="CELL">
                            <xs:annotation>
                                <xs:documentation>Cell phone.</xs:documentation>
                            </xs:annotation>
                        </xs:enumeration>
                        <xs:enumeration value="FAX">
                            <xs:annotation>
                                <xs:documentation>Fax.</xs:documentation>
                            </xs:annotation>
                        </xs:enumeration>
                    </xs:restriction>
                </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="country-calling-code" use="required" type="xs:short">
                <xs:annotation>
                    <xs:documentation>The international prefix (see http://www.itu.int/publ/T-SP-E.164D-2007/en).
                    </xs:documentation>
                </xs:annotation>
            </xs:attribute>
            <xs:attribute name="area-code" use="optional" type="xs:string"/>
            <xs:attribute name="number" use="required" type="xs:string"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="legal">
        <xs:annotation>
            <xs:documentation>deprecated</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="contact" type="seller:contact" minOccurs="1" maxOccurs="1"/>
            </xs:sequence>
            <xs:attribute name="vat-registration-number" use="optional" type="xs:string"/>
            <xs:attribute name="national-tax-number" use="optional" type="xs:string"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="picture-provider">
        <xs:annotation>
            <xs:documentation>Indicates if seller has a picture provider.
            </xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:attribute name="autopanorama" type="xs:boolean"/>
            <xs:attribute name="images" type="xs:boolean"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="settings">
        <xs:annotation>
            <xs:documentation>Represents a sellers settings corresponding to their account type.
            </xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="max-images" type="seller:seller-setting" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>The maximum number of images the seller is allowed to upload for an ad.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="used-car-seals" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>The used car seals the seller can use.
                        </xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="used-car-seal" type="seller:seller-setting" minOccurs="0" maxOccurs="unbounded" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="automated-exports" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>The settings for automated exports of advertisements to other marketplaces.
                        </xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="automated-export" type="seller:automated-export" minOccurs="0" maxOccurs="unbounded" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="video-url" type="seller:seller-setting" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>The permission to upload a video url.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="max-highlights" type="seller:seller-setting" minOccurs="0" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>The maximum number of highlights the seller is allowed to upload for an ad.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>



    <xs:complexType name="seller-setting">
        <xs:annotation>
            <xs:documentation>Represents a single attribute of seller settings
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="value" />
    </xs:complexType>

    <xs:complexType name="automated-export">
        <xs:annotation>
            <xs:documentation>TODO
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="marketplace" type="xs:string"/>
        <xs:attribute name="eligible" type="xs:boolean"/>
        <xs:attribute name="active" type="xs:boolean"/>
    </xs:complexType>

    <xs:simpleType name="ident-level">
        <xs:annotation>
            <xs:documentation>deprecated</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="NONE"></xs:enumeration>
            <xs:enumeration value="LOW"></xs:enumeration>
            <xs:enumeration value="MIDDLE"></xs:enumeration>
            <xs:enumeration value="HIGH"></xs:enumeration>
            <xs:enumeration value="HIGHEST"></xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:element name="billing-forecast">
        <xs:annotation>
            <xs:documentation>The billing forecast for recent month.
            </xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="invoice-items" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="invoice-item"  minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:attribute name="descriptor"  type="xs:string"/>
                                    <xs:attribute name="account-type"  type="xs:string"/>
                                    <xs:attribute name="from-date"  type="xs:string"/>
                                    <xs:attribute name="to-date"  type="xs:string"/>
                                    <xs:attribute name="unit-price"  type="xs:string"/>
                                    <xs:attribute name="total-price"  type="xs:string"/>
                                    <xs:attribute name="article-count"  type="xs:string"/>
                                    <xs:attribute name="quantity-amount"  type="xs:string"/>
                                    <xs:attribute name="quantity-unit"  type="xs:string"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="free-contingents" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="free-contingent"  minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:attribute name="descriptor"  type="xs:string"/>
                                    <xs:attribute name="description"  type="xs:string"/>
                                    <xs:attribute name="available"  type="xs:string"/>
                                    <xs:attribute name="contingent-unlimited"  type="xs:boolean"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="special-conditions" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="special-condition"  minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:attribute name="descriptor"  type="xs:string"/>
                                    <xs:attribute name="account-type"  type="xs:string"/>
                                    <xs:attribute name="description"  type="xs:string"/>
                                    <xs:attribute name="free-left"  type="xs:string"/>
                                    <xs:attribute name="free-per-month"  type="xs:string"/>
                                    <xs:attribute name="from-date"  type="xs:string"/>
                                    <xs:attribute name="to-date"  type="xs:string"/>
                                    <xs:attribute name="total-used"  type="xs:string"/>
                                    <xs:attribute name="unlimited"  type="xs:boolean"/>
                                    <xs:attribute name="used-within-month"  type="xs:string"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="billing-period"  type="xs:string"/>
            <xs:attribute name="calculation-date"  type="xs:string"/>
            <xs:attribute name="invoice-language"  type="xs:string"/>
            <xs:attribute name="currency"  type="xs:string"/>
        </xs:complexType>
    </xs:element>



</xs:schema>