Plans schema

The Plans schema defines elements that are used to describe a subscriber's data plan on a Mobile Network Operator (MNO). All of the elements are in the namespace http://www.microsoft.com/networking/CarrierControl/Plans/v1. Not all elements are in every profile, as some elements are optional.

The following table lists all of the elements in this schema, sorted alphabetically by name.

Element Description
BillingCycle

Defines the plan's starting date and time, its duration, and what happens at the end of the billing cycle. UWP apps can retrieve this information using the DataPlanStatus class.

DataLimitInMegabytes

Defines a value representing the data limit in MB for a capped plan. Must be a value from 0 to 232nd. UWP apps can retrieve this information using the DataPlanStatus class.

DataUsageInMobileOperatorNotificationEnabled

Indicates whether the NetworkOperatorNotificationTrigger should include data usage notifications. If true, Windows raises this trigger when the data usage threshold is met.

Description

Defines plan information that specifies the subscriber's Mobile Network Operator (MNO) connection type.

InboundBandwidthInKbps

Defines a value representing the effective link speed of the subscriber’s inbound connection specified in Kbps. Must be a value from 0 to 232nd. UWP apps can retrieve this information using the DataPlanStatus class.

MaxTransferSizeInMegabytes

Defines the size of an individual download in MB which a compliant application should permit over a metered connection without explicit user approval of the connection being used. Must be a value from 0 to 232nd. UWP apps can retrieve this information using the DataPlanStatus class.

OutboundBandwidthInKbps

Defines a value representing the effective link speed of the subscriber’s outbound connection specified in Kbps. Must be a value from 0 to 232nd. UWP apps can retrieve this information using the DataPlanStatus class.

Plan

Defines a set of plan information that specifies the data usage options and state of a subscriber's connection to a Mobile Network Operator (MNO). Plan is the unique root element for plan information

SecurityUpdatesExempt

If true, the MNO advises Windows Update (WU) that security updates are exempt from being counted as data usage against the subscriber’s plan and WU will download all security patches when on a metered network. Otherwise, WU will only download zero-day patches and not all security updates when false.

Usage

Defines the state of a subscriber's data usage on a connection to a Mobile Network Operator (MNO). UWP apps can retrieve this information using the DataPlanStatus class.

UserSMSEnabled

Indicates whether the subscriber's service includes user-to-user SMS which must be delivered in near real-time. If true, Windows will employ less aggressive power management on the Mobile Broadband interface to allow SMS messages to arrive more quickly. If false, the mobile broadband radio may be turned off during periods of inactivity. SMS messages will arrive when the PC is next active.

 

The full Plans schema is below:

<?xml version="1.0" encoding="utf-8"?>  
<xs:schema targetNamespace="http://www.microsoft.com/networking/CarrierControl/Plans/v1"  
    elementFormDefault="qualified"  
    xmlns="http://www.microsoft.com/networking/CarrierControl/Plans/v1"  
    xmlns:xs="http://www.w3.org/2001/XMLSchema"  
    xmlns:base="http://www.microsoft.com/networking/CarrierControl/Base/v1">  
  
  <xs:import namespace="http://www.microsoft.com/networking/CarrierControl/Base/v1"/>  
   
  <xs:complexType name="BillingCycleType">  
    <xs:attribute name="StartDate" type="xs:dateTime" use="required"/>  
    <xs:attribute name="Duration" use="required">  
      <xs:simpleType>  
        <xs:restriction base="xs:duration">  
          <xs:minExclusive value="PT0S"/>  
        </xs:restriction>  
      </xs:simpleType>  
    </xs:attribute>  
    <xs:attribute name="Resets" type="xs:boolean" default="true"/>  
  </xs:complexType>  
  
  <xs:simpleType name="PlanType">  
    <xs:annotation>  
      <xs:documentation>  
        PlanType expresses the incremental cost of a plan:  
          - Unrestricted:  There is no incremental cost for consumption on this plan  
          - Fixed:  Consumption goes against a quota which the user has purchased / agreed to purchase  
          - Variable:  The user will be billed for incremental usage on this plan  
      </xs:documentation>  
    </xs:annotation>  
    <xs:restriction base="xs:string">  
      <xs:enumeration value="Unrestricted"/>  
      <xs:enumeration value="Fixed"/>  
      <xs:enumeration value="Variable"/>  
    </xs:restriction>  
  </xs:simpleType>  
  
  <xs:element name="Plan">  
    <xs:complexType>  
      <xs:choice>  
        <xs:sequence>  
          <xs:element ref="Description"/>  
          <xs:element ref="Usage" minOccurs="0"/>  
        </xs:sequence>  
        <xs:sequence>  
          <xs:element ref="Usage"/>  
        </xs:sequence>  
      </xs:choice>  
      <xs:attribute type="xs:string" name="Name" use="required"/>  
    </xs:complexType>  
  </xs:element>   
  
  <xs:element name="Description" type="DescriptionBaseType"/>  
  <xs:complexType name="DescriptionBaseType">  
    <xs:sequence>  
      <xs:element name="BillingCycle" type="BillingCycleType" minOccurs="0"/>  
      <xs:element name="DataLimitInMegabytes" type="xs:positiveInteger" minOccurs="0"/>  
      <xs:element name="InboundBandwidthInKbps" type="xs:nonNegativeInteger" minOccurs="0"/>  
      <xs:element name="OutboundBandwidthInKbps" type="xs:nonNegativeInteger" minOccurs="0"/>  
      <xs:element name="MaxTransferSizeInMegabytes" type="xs:positiveInteger" minOccurs="0"/>  
      <xs:element name="SecurityUpdatesExempt" type="xs:boolean" default="false" minOccurs="0"/>  
      <xs:element name="DataUsageInMobileOperatorNotificationEnabled" type="xs:boolean" default="false" minOccurs="0"/>  
      <xs:element name="UserSMSEnabled" type="xs:boolean" default="true" minOccurs="0"/>  
    </xs:sequence>  
    <xs:attribute type="PlanType" name="PlanType" use="required"/>  
  </xs:complexType>  
  
  <xs:element name="Usage" type="PlanUsageType"/>  
  <xs:complexType name="PlanUsageType">  
    <xs:attribute name="OverLimit" type="xs:boolean"/>  
    <xs:attribute name="Congested" type="xs:boolean"/>  
    <xs:attribute name="CurrentUsage" type="xs:nonNegativeInteger" use="required"/>  
    <xs:attribute name="UsageTimestamp" type="xs:dateTime" use="required"/>  
  </xs:complexType>  
</xs:schema>