<?xml version="1.0" encoding="UTF-8"?>

<!--

BCAST PR Order Queries Schema - BCAST Service Provisioning Order Queries
   version - 1.2
   date    - 14 Jan 2014

FILE INFORMATION

  OMA Permanent Document
    File: OMA-SUP-XSD_bcast_pr_orderqueries-V1_2-20140114-C
    Type: Text - Schema Description

  Public Reachable Information
    Path: http://www.openmobilealliance.org/tech/profiles
    Name: bcast_pr_orderqueries-v1_2.xsd

NORMATIVE INFORMATION

  Information about this file can be found in the latest revision of

    OMA-TS-BCAST_Services-V1_2 

  This is available at http://www.openmobilealliance.org/

  Send comments to technical-comments@mail.openmobilealliance.org

LEGAL DISCLAIMER

  Use of this document is subject to all of the terms and conditions
  of the Use Agreement located at
  http://www.openmobilealliance.org/UseAgreement.html,
  provided, however, that section (d) under "Documents - Terms 
  of Use" which states, "no modifications are made to such 
  Documents" does not apply to your use.

  The Open Mobile Alliance authorizes you to copy this document, 
  provided that you retain all copyright and other proprietary  
  notices contained in the original materials on any copies of the 
  materials and  that you comply strictly with these terms. This 
  copyright permission does not constitute an endorsement of the 
  products or services. The Open Mobile Alliance assumes no 
  responsibility for errors or omissions in this document.


  Each Open Mobile Alliance member has agreed to use reasonable
  endeavors to inform the Open Mobile Alliance in a timely manner of
  Essential IPR as it becomes aware that the Essential IPR is related
  to the prepared or published specification.  However, the members
  do not have an obligation to conduct IPR searches.  The declared
  Essential IPR is publicly available to members and non-members of
  the Open Mobile Alliance and may be found on the "OMA IPR
  Declarations" list at http://www.openmobilealliance.org/ipr.html.
  The Open Mobile Alliance has not conducted an independent IPR review
  of this document and the information contained herein, and makes no
  representations or warranties regarding third party IPR, including
  without limitation patents, copyrights or trade secret rights.  This
  document may contain inventions for which you must obtain licenses
  from third parties before making, using or selling the inventions.
  Defined terms above are set forth in the schedule to the Open Mobile
  Alliance Application Form.

  NO REPRESENTATIONS OR WARRANTIES (WHETHER EXPRESS OR IMPLIED) ARE
  MADE BY THE OPEN MOBILE ALLIANCE OR ANY OPEN MOBILE ALLIANCE MEMBER
  OR ITS AFFILIATES REGARDING ANY OF THE IPR'S REPRESENTED ON THE "OMA
  IPR DECLARATIONS" LIST, INCLUDING, BUT NOT LIMITED TO THE ACCURACY,
  COMPLETENESS, VALIDITY OR RELEVANCE OF THE INFORMATION OR WHETHER OR
  NOT SUCH RIGHTS ARE ESSENTIAL OR NON-ESSENTIAL.

  THE OPEN MOBILE ALLIANCE IS NOT LIABLE FOR AND HEREBY DISCLAIMS ANY
  DIRECT, INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR
  EXEMPLARY DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE OF
  DOCUMENTS AND THE INFORMATION CONTAINED IN THE DOCUMENTS.

  Copyright 2014 Open Mobile Alliance Ltd.  All Rights Reserved.
  Used with the permission of the Open Mobile Alliance Ltd. under the
  terms set forth above.
-->
<!--
	CHANGE HISTORY

	19082013	* File created from OMA-SUP-XSD_bcast_pr_orderqueries-V1_1-20110128-D.xsd:
				  - embedded file information header aligned with
				    http://member.openmobilealliance.org/ftp/rel/gen_info/Procs/SupportFiles_XSD-v1_0.shtml
				  - minor version of target namespace increased to 1.2
				* Import of bcast_sg_sgdd-v1_2 (instead of bcast_sg_sgdd-v1_1)
				* Import of bcast_sg_fragments-v1_2 (instead of bcast_sg_fragments-v1_1)
	20122013	* The consistency review has modified the drm_roap_xbs-v2_1.xsd file to a new version drm_roap_xbs-v2_1_1.xsd
					This implies a modification of the namespace and schema location of this XML file that is imported in OMA-SUP-XSD_bcast_pr_orderqueries 
	14012014 Status changed to Candidate by TP, TP Ref # OMA-TP-2014-0002-INP_BCAST_NGH_V1_2_ERP_and_ETR_for_Candidate_approval				
	
-->
<xs:schema targetNamespace="urn:oma:xml:bcast:pr:orderqueries:1.2"
	xmlns="urn:oma:xml:bcast:pr:orderqueries:1.2"
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:roap="urn:oma:xml:bcast:xbs:roap:2.1"
	xmlns:sg="urn:oma:xml:bcast:sg:fragments:1.2"
	xmlns:sgdd="urn:oma:xml:bcast:sg:sgdd:1.2"
	elementFormDefault="qualified" attributeFormDefault="unqualified">
	<!-- Importing xml default declarations (like xml:lang and xml:space) -->
	<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
	<!-- Importing referenced BCAST namespaces -->
	<xs:import namespace="urn:oma:xml:bcast:sg:fragments:1.2" schemaLocation="http://www.openmobilealliance.org/tech/profiles/bcast_sg_fragments-v1_2.xsd"/>
	<xs:import namespace="urn:oma:xml:bcast:sg:sgdd:1.2" schemaLocation="http://www.openmobilealliance.org/tech/profiles/bcast_sg_sgdd-v1_2.xsd"/>
	<xs:import namespace="urn:oma:xml:bcast:xbs:roap:2.1.1" schemaLocation="http://www.openmobilealliance.org/tech/profiles/drm_roap_xbs-v2_1_1.xsd"/>
	<!--
	==========================
	PricingInfoRequest
	==========================
	-->
	<xs:element name="PricingInfoRequest" type="PricingInfoRequestType"/>
	<xs:complexType name="PricingInfoRequestType">
		<xs:sequence>
			<xs:element name="UserID" type="UserIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="DeviceID" type="DeviceIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PurchaseItem" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PurchaseDataReference" type="IDRefType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="globalIDRef" type="xs:anyURI" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="BroadcastRoamingSpecificPart" type="BroadcastRoamingSpecificPartType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
	==========================
	PricingInfoResponse
	==========================
	-->
	<xs:element name="PricingInfoResponse" type="PricingInfoResponseType"/>
	<xs:complexType name="PricingInfoResponseType">
		<xs:sequence>
			<xs:element name="PurchaseItem" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PurchaseItemFragment" type="sg:PurchaseItemType"/>
						<xs:element name="PurchaseDataReference" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Price" type="ValidPriceType" maxOccurs="unbounded"/>
									<xs:element name="SubscriptionPeriod" type="StartPeriodType" minOccurs="0"/>
									<xs:element name="SubscriptionType" type="SubscriptionTypeRangeType"/>
									<xs:element name="TermsOfUse" type="sg:TermsOfUseType" minOccurs="0" maxOccurs="unbounded"/>
								</xs:sequence>
								<xs:attribute name="idRef" type="xs:anyURI" use="required"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="globalIDRef" type="xs:anyURI" use="required"/>
					<xs:attribute name="itemwiseStatusCode" type="GlobalStatusCodeType" use="optional"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="globalStatusCode" type="GlobalStatusCodeType" use="optional"/>
	</xs:complexType>
	<!--
	==========================
	ServiceRequest
	==========================
	-->
	<xs:element name="ServiceRequest" type="ServiceRequestType"/>
	<xs:complexType name="ServiceRequestType">
		<xs:sequence>
			<xs:element name="UserID" type="UserIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="DeviceID" type="DeviceIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="ServiceEncryptionProtocol" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PurchaseItem" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PurchaseDataReference" type="PurchaseDataReferenceType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="UserConsentAnswer" type="UserConsentAnswerType" minOccurs="0"/>
						<xs:element name="Service" type="ServiceType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="CouponID" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="Coupon" type="CouponType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="globalIDRef" type="xs:anyURI" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="DrmProfileSpecificPart" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="BroadcastMode" type="xs:boolean" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="rightsIssuerURI" type="xs:anyURI" use="optional"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="BroadcastRoamingSpecificPart" type="BroadcastRoamingSpecificPartType" minOccurs="0"/>
			<xs:element name="ParentalControl" type="ParentalControlType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
	==========================
	ServiceResponse
	==========================
	-->
	<xs:element name="ServiceResponse" type="ServiceResponseType"/>
	<xs:complexType name="ServiceResponseType">
		<xs:sequence>
			<xs:element name="PurchaseItem" type="PurchaseItemWithStatusAndTimesType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="DrmProfileSpecificPart" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="roap:roapTrigger" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="rightsValidityEndTime" type="xs:unsignedInt" use="optional"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="SmartcardProfileSpecificPart" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="LTKM" minOccurs="0" maxOccurs="unbounded" type="xs:base64Binary"/>
						<xs:element name="Challenge" minOccurs="0" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="BonusCoupon" type="CouponType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="globalStatusCode" type="GlobalStatusCodeType" use="optional"/>
		<xs:attribute name="adaptationMode" type="xs:boolean" use="optional"/>
		<xs:attribute name="KeyMaterialAvailableFrom" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
	==========================
	ServiceCompletion
	==========================
	-->
	<xs:element name="ServiceCompletion" type="ServiceCompletionType"/>
	<xs:complexType name="ServiceCompletionType">
		<xs:sequence>
			<xs:element name="LTKMessageID" type="xs:string" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
	==========================
	LTKM Renewal Request
	==========================
	-->
	<xs:element name="LTKMRenewalRequest" type="LTKMRenewalRequestType"/>
	<xs:complexType name="LTKMRenewalRequestType">
		<xs:sequence>
			<xs:element name="UserID" type="UserIDType" maxOccurs="unbounded"/>
			<xs:element name="DeviceID" type="DeviceIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PurchaseItem" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="globalIDRef" type="xs:anyURI" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
	==========================
	LTKM Renewal Response
	==========================
	-->
	<xs:element name="LTKMRenewalResponse" type="LTKMRenewalResponseType"/>
	<xs:complexType name="LTKMRenewalResponseType">
		<xs:sequence>
			<xs:element name="PurchaseItem" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="SubscriptionWindow" type="SubscriptionWindowType"/>
						<xs:element name="PurchaseDataReference" type="PurchaseDataReferenceType" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="globalIDRef" type="xs:anyURI" use="required"/>
					<xs:attribute name="ltkValidityEndTime" type="xs:unsignedInt" use="optional"/>
					<xs:attribute name="itemwiseStatusCode" type="GlobalStatusCodeType" use="optional"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="DrmProfileSpecificPart" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Trigger" type="roap:RoapTrigger" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="globalStatusCode" type="GlobalStatusCodeType" use="optional"/>
	</xs:complexType>
	<!--
	==========================
	LTKM Renewal Completion
	==========================
	-->
	<xs:element name="LTKMRenewalCompletion" type="LTKMRenewalCompletionType"/>
	<xs:complexType name="LTKMRenewalCompletionType">
		<xs:sequence>
			<xs:element name="LongTermKeyID" type="xs:string" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
	==========================
	Unsubscribe Request
	==========================
	-->
	<xs:element name="UnsubscribeRequest" type="UnsubscribeRequestType"/>
	<xs:complexType name="UnsubscribeRequestType">
		<xs:sequence>
			<xs:element name="UserID" type="UserIDType" maxOccurs="unbounded"/>
			<xs:element name="DeviceID" type="DeviceIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PurchaseItem" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Service" type="ServiceType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="globalIDRef" type="xs:anyURI" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="keepSubscription" type="xs:boolean" use="optional"/>
	</xs:complexType>
	<!--
	==========================
	Unsubscribe Response
	==========================
	-->
	<xs:element name="UnsubscribeResponse" type="UnsubscribeResponseType"/>
	<xs:complexType name="UnsubscribeResponseType">
		<xs:sequence>
			<xs:element name="PurchaseItem" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="globalIDRef" type="xs:anyURI" use="required"/>
					<xs:attribute name="itemwiseStatusCode" type="GlobalStatusCodeType" use="optional"/>
					<xs:attribute name="subscribedUntil" type="xs:unsignedInt" use="optional"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="SmartcardProfileSpecificPart" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="LTKM" minOccurs="0" maxOccurs="unbounded" type="xs:base64Binary"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="globalStatusCode" type="GlobalStatusCodeType" use="optional"/>
	</xs:complexType>
	<!--
	==========================
	Token Purchase Request
	==========================
	-->
	<xs:element name="TokenPurchaseRequest" type="TokenPurchaseRequestType"/>
	<xs:complexType name="TokenPurchaseRequestType">
		<xs:sequence>
			<xs:element name="UserID" type="UserIDType" maxOccurs="unbounded"/>
			<xs:element name="DeviceID" type="DeviceIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PermissionsIssuerURI" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:anyURI">
							<xs:attribute name="type" type="xs:boolean" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="TokensRequested" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PurchaseItem" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="CouponID" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
									<xs:element name="Coupon" type="CouponType" minOccurs="0" maxOccurs="unbounded"/>
								</xs:sequence>
								<xs:attribute name="globalIDRef" type="xs:anyURI" use="required"/>
								<xs:attribute name="purchaseDataIDRef" type="xs:anyURI" use="optional"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="type" type="TokensTypeType" use="required"/>
					<xs:attribute name="amount" type="xs:unsignedInt" use="required"/>
					<xs:attribute name="chargingType" type="ChargingTypeType" use="optional" default="0"/>
					<xs:attribute name="purchaseUnitNum" type="xs:unsignedShort" use="optional" default="1"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="SmartcardProfileSpecificPart" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="ProtectionKeyID" minOccurs="0" type="xs:base64Binary"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="BroadcastRoamingSpecificPart" type="BroadcastRoamingSpecificPartType" minOccurs="0"/>
			<xs:element name="ParentalControl" type="ParentalControlType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
	==========================
	Token Purchase Response
	==========================
	-->
	<xs:element name="TokenPurchaseResponse" type="TokenPurchaseResponseType"/>
	<xs:complexType name="TokenPurchaseResponseType">
		<xs:sequence>
			<xs:element name="TokensGranted" minOccurs="0">
				<xs:complexType>
					<xs:attribute name="type" type="TokensTypeType" use="required"/>
					<xs:attribute name="amount" type="xs:unsignedInt" use="required"/>
					<xs:attribute name="chargingType" type="ChargingTypeType" use="optional" default="0"/>
				</xs:complexType>
			</xs:element>
			<xs:choice>
				<xs:element name="DrmProfileSpecificPart">
					<xs:complexType>
						<xs:sequence>
							<xs:element ref="roap:roapTrigger" minOccurs="0"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="SmartcardProfileSpecificPart">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="LTKM" minOccurs="0" maxOccurs="unbounded" type="xs:base64Binary"/>
							<xs:element name="Challenge" minOccurs="0" type="xs:string"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:choice>
			<xs:element name="BonusCoupon" type="CouponType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="globalStatusCode" type="GlobalStatusCodeType" use="required"/>
	</xs:complexType>
	<!--
	==============================================
	Token Purchase Completion
	==============================================
	-->
	<xs:element name="TokenPurchaseCompletion" type="TokenPurchaseCompletionType"/>
	<xs:complexType name="TokenPurchaseCompletionType">
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
	==============================================
	Account Inquiry Request
	==============================================
	-->
	<xs:element name="AccountRequest" type="AccountRequestType"/>
	<xs:complexType name="AccountRequestType">
		<xs:sequence>
			<xs:element name="UserID" type="UserIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="DeviceID" type="DeviceIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="AccountInquiry" type="AccountInquiryRangeType" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
	==============================================
	Account Inquiry Response
	==============================================
	-->
	<xs:element name="AccountResponse" type="AccountResponseType"/>
	<xs:complexType name="AccountResponseType">
		<xs:sequence>
			<xs:element name="BillingInformation" type="LanguageString" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PurchaseItem" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Description" type="LanguageString" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="PurchaseItemFragment" type="sg:PurchaseItemType" minOccurs="0"/>
						<xs:element name="PurchaseData" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="PurchaseDataFragment" type="sg:PurchaseDataType" minOccurs="0"/>
								</xs:sequence>
								<xs:attribute name="idRef" type="xs:anyURI" use="required"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="globalIDRef" type="xs:anyURI" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="globalStatusCode" type="GlobalStatusCodeType" use="required"/>
	</xs:complexType>
	<!--
	==============================================
	User Defined Bundle Request
	==============================================
	-->
	<xs:element name="UDBRequest" type="UDBRequestType"/>
	<xs:complexType name="UDBRequestType">
		<xs:sequence>
			<xs:element name="UserID" type="UserIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="DeviceID" type="DeviceIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="BroadcastRoamingSpecificPart" type="BroadcastRoamingSpecificPartType" minOccurs="0"/>
			<xs:element name="UserDefinedBundle" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="UDBService" type="UDBServiceType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="UDBContent" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="PurchaseItem" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="UDBSchedule" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
	==============================================
	User Defined Bundle Response
	==============================================
	-->
	<xs:element name="UDBResponse" type="UDBResponseType"/>
	<xs:complexType name="UDBResponseType">
		<xs:sequence>
			<xs:element name="UserDefinedBundle" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PurchaseItemFragment" type="sg:PurchaseItemType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="PurchaseDataFragment" type="sg:PurchaseDataType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="globalStatusCode" type="GlobalStatusCodeType" use="optional"/>
	</xs:complexType>
	<!--
	==============================================
	Price Offering Request
	==============================================
	-->
	<xs:element name="PriceOfferingRequest" type="PriceOfferingRequestType"/>
	<xs:complexType name="PriceOfferingRequestType">
		<xs:sequence>
			<xs:element name="UDBPrice" type="UDBPriceType" maxOccurs="unbounded"/>
			<xs:element name="SubscriptionPeriod" type="xs:duration"/>
			<xs:element name="TermsOfUse" type="sg:TermsOfUseType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
	==============================================
	Price Offering Response
	==============================================
	-->
	<xs:element name="PriceOfferingResponse" type="PriceOfferingResponseType"/>
	<xs:complexType name="PriceOfferingResponseType">
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="subscribe" type="xs:boolean" use="required"/>
		<xs:attribute name="userConsent" type="xs:boolean" use="optional"/>
	</xs:complexType>

	<!--
	==========================
	Subscription Pause Request
	==========================
	-->
	<xs:element name="SubscriptionPause" type="SubscriptionPauseType"/>
	<xs:complexType name="SubscriptionPauseType">
		<xs:sequence>
			<xs:element name="UserID" type="UserIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="DeviceID" type="DeviceIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PurchaseItem" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PausePeriod" type="PeriodType" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="globalIDRef" type="xs:anyURI" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
	==============================================
	Subscription Pause Response
	==============================================
	-->
	<xs:element name="SubscriptionPauseResponse" type="SubscriptionPauseResponseType"/>
	<xs:complexType name="SubscriptionPauseResponseType">
		<xs:sequence>
			<xs:element name="PurchaseItem" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Trigger" type="xs:anyType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="LTKM" type="xs:base64Binary" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="PossiblePeriod" type="PeriodType" minOccurs="0"/>
					</xs:sequence>
					<xs:attribute name="globalIDRef" type="xs:anyURI" use="required"/>
					<xs:attribute name="itemwiseStatusCode" type="GlobalStatusCodeType" use="optional"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="globalStatusCode" type="GlobalStatusCodeType" use="optional"/>
	</xs:complexType>
	<!--
	==========================
	Subscription Resume Request
	==========================
	-->
	<xs:element name="SubscriptionResume" type="SubscriptionResumeType"/>
	<xs:complexType name="SubscriptionResumeType">
		<xs:sequence>
			<xs:element name="UserID" type="UserIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="DeviceID" type="DeviceIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PurchaseItem" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="globalIDRef" type="xs:anyURI" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
	==============================================
	Subscription Resume Response
	==============================================
	-->
	<xs:element name="SubscriptionResumeResponse" type="SubscriptionResumeResponseType"/>
	<xs:complexType name="SubscriptionResumeResponseType">
		<xs:sequence>
			<xs:element name="PurchaseItem" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PurchaseDataReference">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Price" type="PriceType" minOccurs="0" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="PossiblePeriod" type="PeriodType" minOccurs="0"/>
						<xs:element name="Trigger" type="xs:anyType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="LTKM" type="xs:base64Binary" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="globalIDRef" type="xs:anyURI" use="required"/>
					<xs:attribute name="ltkValidityEndTime" type="xs:unsignedInt" use="optional"/>
					<xs:attribute name="itemwiseStatusCode" type="GlobalStatusCodeType" use="optional"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="globalStatusCode" type="GlobalStatusCodeType" use="optional"/>
	</xs:complexType>
	<!--
	==========================
	Related Contents Request
	==========================
	-->
	<xs:element name="RelatedContentsRequest" type="RelatedContentsRequestType"/>
	<xs:complexType name="RelatedContentsRequestType">
		<xs:sequence>
			<xs:element name="UserID" type="UserIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="DeviceID" type="DeviceIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="BroadcastRoamingSpecificPart" type="BroadcastRoamingSpecificPartType" minOccurs="0"/>
			<xs:element name="GlobalContentID" type="xs:anyURI"/>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
	==============================================
	Related Contents Response
	==============================================
	-->
	<xs:element name="RelatedContentsResponse" type="RelatedContentsResponseType"/>
	<xs:complexType name="RelatedContentsResponseType">
		<xs:sequence>
			<xs:element name="PurchaseItem" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PurchaseItemFragment" type="sg:PurchaseItemType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="PurchaseDataReference">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Price" type="ValidCurrencyPriceType" maxOccurs="unbounded"/>
									<xs:element name="SubscriptionPeriod" type="StartPeriodType" minOccurs="0"/>
									<xs:element name="SubscriptionType" type="SubscriptionTypeRangeType"/>
									<xs:element name="TermsOfUse" type="sg:TermsOfUseType" minOccurs="0" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="PurchaseDataFragment" type="sg:PurchaseDataType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="PuchaseChannelFragment" type="sg:PurchaseChannelType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="idRef" type="xs:anyURI" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="requestID" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="globalStatusCode" type="GlobalStatusCodeType" use="optional"/>
		<xs:attribute name="expirationTime" type="xs:unsignedInt" use="required"/>
	</xs:complexType>
	<!--
	==============================================
	Provisioning message extensions
	==============================================
	-->
	<!-- Subscription Duration Signalling -->
	<xs:complexType name="SubscriptionWindowType">
		<xs:attribute name="startTime" type="xs:unsignedInt" use="required"/>
		<xs:attribute name="endTime" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<xs:complexType name="StartPeriodType">
		<xs:simpleContent>
			<xs:extension base="xs:duration">
				<xs:attribute name="startTime" type="xs:unsignedInt" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- LTKM delivery capability signalling -->
	<!--
		Types of LTKM Delivery:
		0 - UDP
		1 - HTTP as per section 5.1.6.10.3
		2-127 reserved for future use
		128-255 reserved for proprietary use
	-->
	<xs:simpleType name="LTKMDeliveryTypeType">
		<xs:union memberTypes="LTKMDeliveryLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="LTKMDeliveryLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
		Types of Trigger Delivery:
		0 - UDP
		1 - SMS as per section 5.1.6.10.2
		2-127 reserved for future use
		128-255 reserved for proprietary use
	-->
	<xs:simpleType name="LTKMDeliveryTriggerType">
		<xs:union memberTypes="LTKMDeliveryTriggerLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="LTKMDeliveryTriggerLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="LTKMDeliveryType">
		<xs:sequence>
			<xs:element name="Trigger" type="LTKMDeliveryTriggerType" maxOccurs="unbounded"/>
			<xs:element name="Type" type="LTKMDeliveryTypeType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- elements to be referenced from extended MBMS messages -->
	<!-- RegistrationRequestExtension -->
	<xs:element name="RegistrationRequestExtension" type="RegistrationRequestExtensionType"/>
	<xs:complexType name="RegistrationRequestExtensionType">
		<xs:sequence>
			<xs:element name="LTKMDelivery" type="LTKMDeliveryType" minOccurs="0"/>
			<xs:element name="PDPContextLifetime" minOccurs="0" type="xs:unsignedInt"/>
		</xs:sequence>
		<xs:attribute name="version" type="xs:unsignedByte" use="required"/>
	</xs:complexType>
	<!-- RegistrationResponseExtension -->
	<xs:element name="RegistrationResponseExtension" type="RegistrationResponseExtensionType"/>
	<xs:complexType name="RegistrationResponseExtensionType">
		<xs:sequence>
			<xs:element name="LTKMDelivery" type="LTKMDeliveryType" minOccurs="0"/>
			<xs:element name="ParentalControlMessage" type="xs:base64Binary" minOccurs="0"/>
			<xs:element name="PDPContextLifetime" minOccurs="0" type="xs:unsignedInt"/>
		</xs:sequence>
		<xs:attribute name="version" type="xs:unsignedByte" use="required"/>
	</xs:complexType>
	<!-- RegistrationResponseServiceExtension -->
	<xs:element name="RegistrationResponseServiceExtension" type="RegistrationResponseServiceExtensionType"/>
	<xs:complexType name="RegistrationResponseServiceExtensionType">
		<xs:sequence>
			<xs:element name="LTKM" type="xs:base64Binary" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="SubscriptionWindow" type="SubscriptionWindowType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="version" type="xs:unsignedByte" use="required"/>
	</xs:complexType>
	<!-- LTKMResponseMSKExtension -->
	<xs:element name="LTKMResponseMSKExtension" type="LTKMResponseMSKExtensionType"/>
	<xs:complexType name="LTKMResponseMSKExtensionType">
		<xs:sequence>
			<xs:element name="LTKM" type="xs:base64Binary" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="version" type="xs:unsignedByte" use="required"/>
	</xs:complexType>
	<!-- DeregistrationResponseServiceExtension -->
	<xs:element name="DeregistrationResponseServiceExtension" type="DeregistrationResponseServiceExtensionType"/>
	<xs:complexType name="DeregistrationResponseServiceExtensionType">
		<xs:sequence>
			<xs:element name="LTKM" type="xs:base64Binary" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="version" type="xs:unsignedByte" use="required"/>
	</xs:complexType>
	<!--
	==============================================
	Coupon document
	==============================================
	-->
	<xs:complexType name="CouponType">
		<xs:sequence>
			<xs:element name="GlobalPurchaseItemID" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="GlobalPurchaseDataID" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="GlobalPurchaseChannelID" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Description" type="LanguageString" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Provider" type="CouponProviderType"/>
			<xs:element name="MultiUserWeight" type="xs:decimal" minOccurs="0"/>
			<xs:element name="ReuseDelay" type="xs:decimal" minOccurs="0"/>
			<xs:element name="PriceInfo">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="SubscriptionType" type="xs:unsignedByte" maxOccurs="unbounded"/>
						<xs:element name="MonetaryPrice" type="PriceType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="CouponImage" type="xs:anyURI"/>
			<xs:element name="AuthorityURI" type="xs:anyURI"/>
			<xs:element name="UserID" type="UserIDType"/>
			<xs:element name="AuthoritySignature" type="xs:base64Binary"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:anyURI" use="required"/>
		<xs:attribute name="version" type="xs:unsignedInt" use="required"/>
		<xs:attribute name="validFrom" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="validTo" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="mustVerify" type="xs:boolean" use="optional"/>
	</xs:complexType>
	<!--
	==============================================
	Referenced types
	==============================================
	-->
	<!-- The user ID type, used in most request messages -->
	<xs:complexType name="UserIDType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="type" type="UserIDTypeType" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!--
	Type of User ID:
	0 – username defined in [RFC 2865]
	1 – IMSI
	2 – URI
	3 – IMPI
	4 – MSISDN
	5 – MIN
	6-127 reserved for future use
	128-255 reserved for proprietary use
	-->
	<xs:simpleType name="UserIDTypeType">
		<xs:union memberTypes="UserIDLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="UserIDLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="5"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- The device ID type, used in most request messages -->
	<xs:complexType name="DeviceIDType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="type" type="DeviceIDTypeType" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!--
	Type of Device ID.
	0 – reserved for future use
	1 – IMEI [3GPP TS 23.003]
	2 – MEID [3GPP2 C.S0072-O]
	3-127 reserved for future use
	128-255 reserved for proprietary use
	-->
	<xs:simpleType name="DeviceIDTypeType">
		<xs:union memberTypes="DeviceIDLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="DeviceIDLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="1"/>
			<xs:maxInclusive value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- Range of SubscriptionType
	0 - one-time subscription
	1 - open-ended subscription
	2 - free trial subscription
	3 - (not applicable)
	4-127 Reserved for future use
	128-255 Reserved for proprietary use
	-->
	<xs:simpleType name="SubscriptionTypeRangeType">
		<xs:union memberTypes="SubscriptionTypeLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="SubscriptionTypeLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="2"/>
		</xs:restriction>
	</xs:simpleType>

	<!-- IDRef -->
	<xs:complexType name="IDRefType">
		<xs:attribute name="idRef" type="xs:anyURI" use="required"/>
	</xs:complexType>
	<!-- The price type, expressing a price with optional currency indication -->
	<xs:complexType name="PriceType">
		<xs:simpleContent>
			<xs:extension base="xs:decimal">
				<xs:attribute name="currency" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- Price with validity time -->
	<xs:complexType name="ValidPriceType">
		<xs:simpleContent>
			<xs:extension base="xs:decimal">
				<xs:attribute name="currency" type="xs:string" use="optional"/>
				<xs:attribute name="validTo" type="xs:unsignedInt" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- Price with validity time and currency required -->
	<xs:complexType name="ValidCurrencyPriceType">
		<xs:simpleContent>
			<xs:extension base="xs:decimal">
				<xs:attribute name="currency" type="xs:string" use="required"/>
				<xs:attribute name="validTo" type="xs:unsignedInt" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- Purchase data reference -->
	<xs:complexType name="PurchaseDataReferenceType">
		<xs:sequence>
			<xs:element name="Price" type="PriceType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="idRef" type="xs:anyURI" use="required"/>
	</xs:complexType>
	<!-- User consent answer -->
	<xs:complexType name="UserConsentAnswerType">
		<xs:simpleContent>
			<xs:extension base="xs:boolean">
				<xs:attribute name="id" type="xs:anyURI" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- Service reference to subscribe/unsubscribe service-specific notifications -->
	<xs:complexType name="ServiceType">
		<xs:attribute name="globalIDRef" type="xs:anyURI" use="required"/>
		<xs:attribute name="notification" type="xs:boolean" use="required"/>
	</xs:complexType>
	<!-- PurchaseItem type -->
	<xs:complexType name="PurchaseItemWithStatusAndTimesType">
		<xs:sequence>
			<xs:element name="SubscriptionWindow" type="SubscriptionWindowType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="globalIDRef" type="xs:anyURI" use="required"/>
		<xs:attribute name="itemwiseStatusCode" type="GlobalStatusCodeType" use="optional"/>
	</xs:complexType>
	<!-- String with xml:lang attribute -->
	<xs:complexType name="LanguageString">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute ref="xml:lang" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!--  BroadcastRoamingSpecificPart -->
	<xs:complexType name="BroadcastRoamingSpecificPartType" >
		<xs:sequence>
			<xs:element name="HomeBSM" minOccurs="0" type="sgdd:BSMFilterCodeType"/>
			<xs:element name="VisitedBSM" minOccurs="0" type="sgdd:BSMFilterCodeType"/>
		</xs:sequence>
	</xs:complexType>
	<!-- UDBService -->
	<xs:complexType name="UDBServiceType">
		<xs:simpleContent>
			<xs:extension base="xs:anyURI">
				<xs:attribute name="UDBnotification" type="xs:boolean" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- UDBPrice -->
	<xs:complexType name="UDBPriceType">
		<xs:simpleContent>
			<xs:extension base="xs:decimal">
				<xs:attribute name="validTo" type="xs:unsignedInt" use="optional"/>
				<xs:attribute name="currency" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- Period -->
	<xs:complexType name="PeriodType">
		<xs:attribute name="startDate" type="xs:dateTime" use="optional"/>
		<xs:attribute name="endDate" type="xs:dateTime" use="optional"/>
	</xs:complexType>
	<!-- ParentalControl -->
	<xs:complexType name="ParentalControlType">
		<xs:choice>
			<xs:element name="ParentalControlPinCode" type="xs:string" minOccurs="0"/>
			<xs:element name="MAC" type="xs:string" minOccurs="0"/>
		</xs:choice>
	</xs:complexType>
	<!--
	==============================================
	Enumeration types
	==============================================
	-->
	<!--
		Global status codes
			0 - 40    defined in OMA-TS-BCAST_Services-V1_1
			41 -127  reserved for future use
			128 - 255 reserved for proprietary use
	-->
	<xs:simpleType name="GlobalStatusCodeType">
		<xs:union memberTypes="GlobalStatusCodeLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="GlobalStatusCodeLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="40"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ReservedProprietaryExtByteRangeType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="128"/>
			<xs:maxInclusive value="255"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
		Type of Charging
			0 – undefined
			1 – prepaid
			2 – postpaid
			3-127 – reserved for future use
			128-255 – reserved for proprietary use
	-->
	<xs:simpleType name="ChargingTypeType">
		<xs:union memberTypes="ChargingLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="ChargingLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
	Type of tokens requested
	0 - reserved
	1 – tokens for the DRM Profile
	2 – service tokens for the Smartcard Profile, added to the live_ppt_purse of the specified SEK/PEK key group
	3 – service tokens for the Smartcard Profile, to the playback_ppt_purse of the specified SEK/PEK key group
	4 – user tokens for the Smartcard Profile added to the user purse associated to the BSM ID
	5-127 reserved for future use
	128-255 reserved for proprietary use
	-->
	<xs:simpleType name="TokensTypeType">
		<xs:union memberTypes="TokensLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="TokensLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="4"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
		Specifies the type of AccountInquiry. Allowed values are:
			0 - undefined
			1 - PurchaseItem list
			2 - PurchaseItem list with a copy of the applicable PurchaseItem fragments
			3 - Billing Information
			4 - PurchaseItem and PurchaseData list
			5 - PurchaseItem and PurchaseData list with a copy of the applicable fragments
			6 -127  reserved for future use
			128-255 reserved for proprietary use
	-->
	<xs:simpleType name="AccountInquiryRangeType">
		<xs:union memberTypes="AccountInquiryLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="AccountInquiryLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="5"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
		Specifies the type of ProtectionKey. Allowed values are:
			0 - ProtectionKeyID
			1 -127  reserved for future use
			128-255 reserved for proprietary use
	-->
	<xs:simpleType name="ProtectionKeyIDTypeType">
		<xs:union memberTypes="ProtectionKeyIDLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="ProtectionKeyIDLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:enumeration value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
		Specifies the type of Coupon Provider. Allowed values are:
		0 - coupon from a content originator (i.e. manufacturer or rights owner.)
		1 - coupon from the service provider (i.e. retailer or system operator.)
		2-127 – reserved
		128-255 – reserved for proprietary use
	-->
	<xs:simpleType name="CouponProviderType">
		<xs:union memberTypes="CouponProviderLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="CouponProviderLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="1"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
