<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 (http://www.altova.com) by Administrator (Nagravision 
  SA) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="nes.cex.sp.ml.nagra.com" targetNamespace="nes.cex.sp.ml.nagra.com" elementFormDefault="qualified">
  <xs:include schemaLocation="Nagravision-Common-Types-Export-Specification-v5.x.xsd"/>
  <xs:complexType name="ProductType">
    <xs:complexContent>
      <xs:extension base="BaseResourceTypeWithMetadata">
        <xs:sequence>
          <xs:element name="period" type="PeriodType" minOccurs="0">
            <xs:annotation>
              <xs:documentation>This period allow to specify the start
                and end date of the product</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="nominalPrice" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The nominal price of the product
                including a currency and an amount of money express in
                that currency. The nominal price is optional, but if
                present both currency and amount are required.
              </xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:attribute name="amount" type="xs:decimal" use="required">
                <xs:annotation>
                  <xs:documentation>The base amount of money to pay to
                    get access to the content sold by this product.
                  </xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="currency" type="xs:string" use="required">
                <xs:annotation>
                  <xs:documentation>The currency in which the price is
                    defined for this product. It is a free string but it
                    is recommended to use the ISO 4217 currency code.
                  </xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="purchasablePeriod" type="PeriodType" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The period of time during which the
                product can be purchased by the end-user. If the
                purchase period is not provided, the system will assume
                the product can be purchased without time restriction.If
                the purchase start is not provided, the system will
                assume the product can be purchased without start time
                restriction.If the purchase end is not provided, the
                system will assume the product can be purchased without
                end time restriction.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="rights" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The rights that could apply to consume
                this offer</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:attribute name="impulsive" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>If true the product can be purchased
                    by the end-user through the client application or
                    can be entitled by the operator. If false the
                    product can only be entitled by the opertor. If the
                    value is not provided, every system will assume the
                    value as false.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="rentalDuration" type="xs:duration">
                <xs:annotation>
                  <xs:documentation>The amount of time during which the
                    content sold by this product can be accessed after
                    the start of the license (the start can be at
                    purchase time in absolute mode or at first viewing
                    time in relative mode). This applies only for
                    transactional products. The format is based on ISO
                    8601 with restricted allowed pattern: PnDTnHnMnS.
                    Must be positive.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="consumptionWindow" type="xs:duration">
                <xs:annotation>
                  <xs:documentation>The amount of time after purchase during which initial access to the content
                    sold by this product can be attempted, then the rentalDuration applies. When set this indicates
                    Relative Mode usage rule calculations should apply. The field value indicates the range within
                    which a relative Product viewing can commence. A license calculation agent determines the final
                    end time of Product viewing based on rental duration and its own configuration. When this value
                    is omitted it means absolute mode. This applies only for transactional products. The format is
                    based on ISO 8601 with restricted allowed pattern: PnDTnHnMnS. Must be positive.
                  </xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="storageAllowed" type="xs:boolean" use="optional">
                  <xs:annotation>
                      <xs:documentation>Allow a client to download the Content
                      </xs:documentation>
                  </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="billingModel" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The billing model that applies for
                subscription products. This element is ignored for other
                types.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:attribute name="billingPeriod" type="xs:duration">
                <xs:annotation>
                  <xs:documentation>The amount of time between two
                    billing. The format is based on ISO 8601 with
                    restricted allowed pattern: PnY or PnM or PnD (but
                    not a mix). Must be positive.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="freemium" minOccurs="0">
            <xs:annotation>
                <xs:documentation>The freemium contains the range of date during which the product can be availed for free and when availed the duration for which it can be used for free per account.
                    The freemium should be present when isFreemium is 'true', both start and end dates and validity period are required.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
                <xs:sequence>
                    <xs:element name="validityPeriod" type="xs:duration">
                        <xs:annotation>
                            <xs:documentation>The amount of time its free for account. The format is based on ISO 8601 with restricted allowed pattern: PnY or PnM or PnW or PnD (but not a mix). Must be
                                positive.
                            </xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
                <xs:attribute name="start" type="gmtdatetime">
                    <xs:annotation>
                        <xs:documentation>The start of the period of time from which the product can be availed for free. This attribute is mandatory. ISO 8601 format up to the second and using the "Z" GMT
                            time zone indicator. Example: 2012-05-31T06:10:30Z.</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="end" type="gmtdatetime">
                    <xs:annotation>
                        <xs:documentation>The end of the period of time till which the product can be availed for free. ISO 8601 format up to the second and using the "Z" GMT time zone indicator. Example:
                            2012-05-31T06:10:30Z.</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="type" type="ProductEnumType" use="required">
          <xs:annotation>
            <xs:documentation>The type of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="isFreemium" type="xs:boolean">
          <xs:annotation>
              <xs:documentation>Freemium boolean flag for the product. When this flag is 'true' freemium object should be present. This attribute is optional when used for creation. It can be updated.
              </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="isShared" type="xs:boolean" default="false">
          <xs:annotation>
            <xs:documentation>Shareable is boolean flag for transactional product.which enhanced to support a mode where any Content associated with a Product can be retailed individually using the terms of a single Product definition</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="isDeleted" type="xs:boolean" use="optional">
      		<xs:annotation>
        		<xs:documentation>isDeleted flag for product</xs:documentation>
     		</xs:annotation>
    	</xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ProductEnumType">
    <xs:annotation>
      <xs:documentation>enumeration characterizing a product type
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="transactional"/>
      <xs:enumeration value="subscription"/>
      <xs:enumeration value="ppv"></xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
