Documentation for BillingData

Table of Contents

top

Schema Document Properties

Target Namespace http://4psa.com/BillingData.xsd/2.0.0
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.
Schema Composition
  • This schema imports schema(s) from the following namespace(s):

Declared Namespaces

Prefix Namespace
Default namespace http://4psa.com/BillingData.xsd/2.0.0
xml http://www.w3.org/XML/1998/namespace
mstns http://4psa.com/BillingData.xsd/2.0.0
xs http://www.w3.org/2001/XMLSchema
common http://4psa.com/Common.xsd/2.0.0
Schema Component Representation
<xs:schema targetNamespace="http://4psa.com/BillingData.xsd/2.0.0" elementFormDefault="qualified" id="BillingData">
<xs:import namespace="http://4psa.com/Common.xsd/2.0.0" schemaLocation="../Common.xsd"/>
...
</xs:schema>
top

Global Definitions

Complex Type: ChargingPackage

Super-types: None
Sub-types: None
Name ChargingPackage
Abstract no
Documentation Free minutes package
XML Instance Representation
<...>
<mstns:name> common:string </mstns:name> [0..1]

'Package name'

<mstns:minutes> common:integer </mstns:minutes> [0..1]

'Included minutes'

</...>
Schema Component Representation
<xs:complexType name="ChargingPackage">
<xs:sequence>
<xs:element name="name" type=" common:string " minOccurs="0"/>
<xs:element name="minutes" type=" common:integer " minOccurs="0"/>
</xs:sequence>
</xs:complexType>
top

Complex Type: ChargingPackageList

Super-types: None
Sub-types: None
Name ChargingPackageList
Abstract no
Documentation Free minutes packages list
XML Instance Representation
<...>
<mstns:chargingPlanID> common:positiveInteger </mstns:chargingPlanID> [1]

'Charging plan ID'

<mstns:package> [0..*]

'Free minutes package list'


<mstns:ID> common:positiveInteger </mstns:ID> [1]

'Free minutes package ID'

<mstns:name> common:string </mstns:name> [0..1]

'Package name'

<mstns:minutes> common:integer </mstns:minutes> [0..1]

'Included minutes'

</mstns:package>
</...>
Schema Component Representation
<xs:complexType name="ChargingPackageList">
<xs:sequence>
<xs:element name="chargingPlanID" type=" common:positiveInteger "/>
<xs:element name="package" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type=" common:positiveInteger "/>
<xs:element name="name" type=" common:string " minOccurs="0"/>
<xs:element name="minutes" type=" common:integer " minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
top

Complex Type: ChargingPlanInfo

Super-types: None
Sub-types: None
Name ChargingPlanInfo
Abstract no
Documentation Charging plan data
XML Instance Representation
<...>
<mstns:name> common:string </mstns:name> [1]

'Charging plan name'

<mstns:default> common:boolean </mstns:default> [0..1]

'Set default charging plan'

<mstns:channelRuleID> common:positiveInteger </mstns:channelRuleID> [0..1]

'Outgoing routing rule'

<mstns:allowIn> common:boolean </mstns:allowIn> [0..1]

'Allow incoming calls. Default value: 0 on add operation'

<mstns:allowOut> common:boolean </mstns:allowOut> [0..1]

'Allow outgoing external calls. Default value: 0 on add operation'

<mstns:allowExtended> common:boolean </mstns:allowExtended> [0..1]

'Allow outgoing extended local calls. Default value: 0 on add operation'

<mstns:planType> common:string </mstns:planType> [0..1]

'Charging plan type: prepaid or postpaid. Default prepaid.'

<mstns:includedCreditOut> common:unlimitedUFloat </mstns:includedCreditOut> [0..1]

'Limit for external outgoing calls'

<mstns:includedCreditIn> common:unlimitedUFloat </mstns:includedCreditIn> [0..1]

'Limit for external incoming calls'

<mstns:externalUsageRule> [0..1]

'External outgoing over usage: {mulFactor} x {externalMin} included outgoing minutes + {addFactor} minutes'


<mstns:mulFactor> common:integer </mstns:mulFactor> [1]
<mstns:addFactor> common:integer </mstns:addFactor> [1]
</mstns:externalUsageRule>
<mstns:externalMin> [0..*]

'Available outgoing external minutes: {minutes} in time interval {intervalID}'


<mstns:minutes> common:integer </mstns:minutes> [1]
<mstns:intervalID> common:positiveInteger </mstns:intervalID> [1]
</mstns:externalMin>
<mstns:initialCreditOut> common:unlimitedUFloat </mstns:initialCreditOut> [0..1]

'Initial outgoing credit'

<mstns:initialCreditIn> common:unlimitedUFloat </mstns:initialCreditIn> [0..1]

'Initial incoming credit'

<mstns:chargeOut> common:integer </mstns:chargeOut> [0..1]

'Charge outgoing indivisible for the first {chargeOut} seconds. Default: 60 seconds.'

<mstns:thenChargeOut> common:integer </mstns:thenChargeOut> [0..1]

'Then charge every {thenChargeOut} seconds. Default: 10 seconds.'

<mstns:chargeIn> common:integer </mstns:chargeIn> [0..1]

'Charge external incoming indivisible for the first {chargeIn} seconds. Default: 60 seconds.'

<mstns:thenChargeIn> common:integer </mstns:thenChargeIn> [0..1]

'Then charge every {thenChargeIn} seconds. Default: 10 seconds.'

<mstns:chargeMethod> xs:string (value comes from list: {'fixed'|'inherit'}) </mstns:chargeMethod> [0..1]

'Charge method. Default value: fixed.'

Start Choice [1]

'Either of'


<mstns:fixedCharge> [0..1]

'Fixed prices charge method. Send only if {chargeMethod} value is fixed'


<mstns:directCalls> xs:float </mstns:directCalls> [0..1]

'Charge direct calls'

<mstns:external> [0..*]

'Charge external outgoing calls : {charge} /second in time interval {intervalId}'


<mstns:charge> xs:float </mstns:charge> [1]
<mstns:intervalID> common:positiveInteger </mstns:intervalID> [1]
</mstns:external>
<mstns:externalIncoming> xs:float </mstns:externalIncoming> [0..1]

'Charge external incoming calls'

<mstns:outsideInterval> xs:float </mstns:outsideInterval> [0..1]

'External charge outside time intervals'

</mstns:fixedCharge>
<mstns:inheritedCharge> [0..1]

'Relative to call cost charge method. Send only if {chargeMethod} value is inherited'


<mstns:directCalls> [0..1]

'Charge direct calls: {mulFactor} x call cost + {adjustment} /second'


<mstns:mulFactor> xs:float </mstns:mulFactor> [1]
<mstns:adjustment> xs:float </mstns:adjustment> [1]
</mstns:directCalls>
<mstns:external> [0..1]

'Charge external outgoing calls: {mulFactor} x call cost + {adjustment} /second'


<mstns:mulFactor> xs:float </mstns:mulFactor> [1]
<mstns:adjustment> xs:float </mstns:adjustment> [1]
</mstns:external>
<mstns:externalIncoming> [0..1]

'Charge external incoming calls: {mulFactor} x call cost + {adjustment} /second'


<mstns:mulFactor> xs:float </mstns:mulFactor> [1]
<mstns:adjustment> xs:float </mstns:adjustment> [1]
</mstns:externalIncoming>
</mstns:inheritedCharge>
End Choice
<mstns:soundID> common:positiveInteger </mstns:soundID> [0..1]

'Custom sound file played when outgoing access is blocked'

</...>
Schema Component Representation
<xs:complexType name="ChargingPlanInfo">
<xs:sequence>
<xs:element name="name" type=" common:string "/>
<xs:element name="default" type=" common:boolean " minOccurs="0"/>
<xs:element name="channelRuleID" type=" common:positiveInteger " minOccurs="0"/>
<xs:sequence>
<xs:element name="allowIn" type=" common:boolean " default="0" minOccurs="0"/>
<xs:element name="allowOut" type=" common:boolean " default="0" minOccurs="0"/>
<xs:element name="allowExtended" type=" common:boolean " default="0" minOccurs="0"/>
</xs:sequence>
<xs:element name="planType" type=" common:string " default="prepaid" minOccurs="0"/>
<xs:sequence>
<xs:element name="includedCreditOut" type=" common:unlimitedUFloat " minOccurs="0"/>
<xs:element name="includedCreditIn" type=" common:unlimitedUFloat " minOccurs="0"/>
<xs:element name="externalUsageRule" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="mulFactor" type=" common:integer "/>
<xs:element name="addFactor" type=" common:integer "/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="externalMin" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="minutes" type=" common:integer "/>
<xs:element name="intervalID" type=" common:positiveInteger "/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:element name="initialCreditOut" type=" common:unlimitedUFloat " minOccurs="0"/>
<xs:element name="initialCreditIn" type=" common:unlimitedUFloat " minOccurs="0"/>
</xs:sequence>
<xs:sequence>
<xs:element name="chargeOut" type=" common:integer " default="60" minOccurs="0"/>
<xs:element name="thenChargeOut" type=" common:integer " default="10" minOccurs="0"/>
<xs:element name="chargeIn" type=" common:integer " default="60" minOccurs="0"/>
<xs:element name="thenChargeIn" type=" common:integer " default="10" minOccurs="0"/>
</xs:sequence>
<xs:element name="chargeMethod" default="fixed" minOccurs="0">
<xs:simpleType>
<xs:restriction base=" xs:string ">
<xs:enumeration value="fixed"/>
<xs:enumeration value="inherit"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:choice>
<xs:element name="fixedCharge" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="directCalls" type=" xs:float " minOccurs="0"/>
<xs:element name="external" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="charge" type=" xs:float "/>
<xs:element name="intervalID" type=" common:positiveInteger "/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="externalIncoming" type=" xs:float " minOccurs="0"/>
<xs:element name="outsideInterval" type=" xs:float " minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="inheritedCharge" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="directCalls" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="mulFactor" type=" xs:float "/>
<xs:element name="adjustment" type=" xs:float "/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="external" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="mulFactor" type=" xs:float "/>
<xs:element name="adjustment" type=" xs:float "/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="externalIncoming" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="mulFactor" type=" xs:float "/>
<xs:element name="adjustment" type=" xs:float "/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element name="soundID" type=" common:positiveInteger " minOccurs="0"/>
</xs:sequence>
</xs:complexType>
top

Complex Type: ChargingPlanList

Super-types: None
Sub-types: None
Name ChargingPlanList
Abstract no
Documentation Charging plan list data
XML Instance Representation
<...>
<mstns:ID> common:positiveInteger </mstns:ID> [0..1]

'Charging plan ID'

<mstns:identifier> common:string </mstns:identifier> [0..1]

'Charging plan identifier'

<mstns:status> common:boolean </mstns:status> [0..1]

'Charging plan status'

<mstns:name> common:string </mstns:name> [0..1]

'Charging plan name'

<mstns:planType> common:string </mstns:planType> [0..1]

'Charging plan type: prepaid or postpaid.'

<mstns:default> common:boolean </mstns:default> [0..1]

'Default charging plan'

<mstns:userID> common:positiveInteger </mstns:userID> [0..1]

'Charging plan owner ID'

<mstns:userName> common:string </mstns:userName> [0..1]

'Charging plan owner name'

<mstns:scope> common:string </mstns:scope> [0..1]

'Scope identifier for the enrollment server. Scope:automation is reserved for VoipNow Automation'

</...>
Schema Component Representation
<xs:complexType name="ChargingPlanList">
<xs:sequence>
<xs:element name="ID" type=" common:positiveInteger " minOccurs="0"/>
<xs:element name="identifier" type=" common:string " minOccurs="0"/>
<xs:element name="status" type=" common:boolean " minOccurs="0"/>
<xs:element name="name" type=" common:string " minOccurs="0"/>
<xs:element name="planType" type=" common:string " default="prepaid" minOccurs="0"/>
<xs:element name="default" type=" common:boolean " minOccurs="0"/>
<xs:element name="userID" type=" common:positiveInteger " minOccurs="0"/>
<xs:element name="userName" type=" common:string " minOccurs="0"/>
<xs:element name="scope" type=" common:string " minOccurs="0"/>
</xs:sequence>
</xs:complexType>
top

Complex Type: Credits

Super-types: None
Sub-types:
Name Credits
Abstract no
Documentation Charging credits definition: prepaid charging plan
XML Instance Representation
<...>
<mstns:creditIn> common:string </mstns:creditIn> [0..1]

'Outgoing calls credit'

<mstns:creditOut> common:string </mstns:creditOut> [0..1]

'Incoming calls credit'

<mstns:orderNo> common:string </mstns:orderNo> [0..1]

'Order number'

</...>
Schema Component Representation
<xs:complexType name="Credits">
<xs:sequence>
<xs:element name="creditIn" type=" common:string " nillable="true" minOccurs="0"/>
<xs:element name="creditOut" type=" common:string " minOccurs="0"/>
<xs:element name="orderNo" type=" common:string " minOccurs="0"/>
</xs:sequence>
</xs:complexType>
top

Complex Type: CreditsList

Super-types: Credits < CreditsList (by extension)
Sub-types: None
Name CreditsList
Abstract no
Documentation Charging plan recharge credits data
XML Instance Representation
<...>
<mstns:creditIn> common:string </mstns:creditIn> [0..1]

'Outgoing calls credit'

<mstns:creditOut> common:string </mstns:creditOut> [0..1]

'Incoming calls credit'

<mstns:orderNo> common:string </mstns:orderNo> [0..1]

'Order number'

<mstns:creditID> common:positiveInteger </mstns:creditID> [1]

'Billling plan credit ID'

<mstns:crDate> xs:dateTime </mstns:crDate> [0..1]

'Creation date'

</...>
Schema Component Representation
<xs:complexType name="CreditsList">
<xs:complexContent>
<xs:extension base=" Credits ">
<xs:sequence>
<xs:element name="creditID" type=" common:positiveInteger "/>
<xs:element name="crDate" type=" xs:dateTime " minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: DestinationException

Super-types: None
Sub-types: None
Name DestinationException
Abstract no
Documentation Destination exception charge
XML Instance Representation
<...>
<mstns:areaCode> common:string </mstns:areaCode> [0..1]

'Area code'

<mstns:description> common:string </mstns:description> [0..1]
<mstns:charge> [0..1]
<mstns:initialAmount> xs:float </mstns:initialAmount> [0..1]

'For fixed charging plans ONLY'

<mstns:initialInterval> common:integer </mstns:initialInterval> [0..1]

'For fixed charging plans ONLY'

<mstns:amount> xs:float </mstns:amount> [0..1]
<mstns:interval> common:integer </mstns:interval> [0..1]
<mstns:setupAmount> xs:float </mstns:setupAmount> [0..1]

'For inherited charging plans ONLY'

</mstns:charge>
<mstns:chargingPackageID> common:positiveInteger </mstns:chargingPackageID> [0..1]

'Free minutes package ID'

</...>
Schema Component Representation
<xs:complexType name="DestinationException">
<xs:sequence>
<xs:element name="areaCode" type=" common:string " minOccurs="0"/>
<xs:element name="description" type=" common:string " minOccurs="0"/>
<xs:element name="charge" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="initialAmount" type=" xs:float " minOccurs="0"/>
<xs:element name="initialInterval" type=" common:integer " minOccurs="0"/>
<xs:element name="amount" type=" xs:float " minOccurs="0"/>
<xs:element name="interval" type=" common:integer " minOccurs="0"/>
<xs:element name="setupAmount" type=" xs:float " minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="chargingPackageID" type=" common:positiveInteger " minOccurs="0"/>
</xs:sequence>
</xs:complexType>
top

Complex Type: DestinationExceptionList

Super-types: None
Sub-types: None
Name DestinationExceptionList
Abstract no
Documentation Destination exception charges list
XML Instance Representation
<...>
<mstns:chargingPlanID> common:positiveInteger </mstns:chargingPlanID> [1]

'Charging plan ID'

<mstns:exception> [0..*]

'Destination exception charge'


<mstns:ID> common:positiveInteger </mstns:ID> [1]

'Destination exception charge ID'

<mstns:areaCode> common:string </mstns:areaCode> [1]

'Area code'

<mstns:minutes> common:integer </mstns:minutes> [0..1]

'Included free minutes'

<mstns:description> common:string </mstns:description> [0..1]
<mstns:initialAmount> xs:float </mstns:initialAmount> [0..1]
<mstns:initialInterval> common:integer </mstns:initialInterval> [0..1]
<mstns:amount> xs:float </mstns:amount> [0..1]
<mstns:interval> common:integer </mstns:interval> [0..1]
<mstns:chargingPackageID> common:positiveInteger </mstns:chargingPackageID> [0..1]

'Free minutes package ID'

<mstns:chargingPackage> common:string </mstns:chargingPackage> [0..1]

'Free minutes package name'

</mstns:exception>
<mstns:notice> common:notice </mstns:notice> [0..*]
</...>
Schema Component Representation
<xs:complexType name="DestinationExceptionList">
<xs:sequence>
<xs:element name="chargingPlanID" type=" common:positiveInteger "/>
<xs:element name="exception" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type=" common:positiveInteger "/>
<xs:element name="areaCode" type=" common:string "/>
<xs:element name="minutes" type=" common:integer " minOccurs="0"/>
<xs:element name="description" type=" common:string " minOccurs="0"/>
<xs:element name="initialAmount" type=" xs:float " minOccurs="0"/>
<xs:element name="initialInterval" type=" common:integer " minOccurs="0"/>
<xs:element name="amount" type=" xs:float " minOccurs="0"/>
<xs:element name="interval" type=" common:integer " minOccurs="0"/>
<xs:element name="chargingPackageID" type=" common:positiveInteger " minOccurs="0"/>
<xs:element name="chargingPackage" type=" common:string " minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="notice" type=" common:notice " minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
top

Complex Type: Limits

Super-types: None
Sub-types:
Name Limits
Abstract no
Documentation Charging limits definition: postpaid charging plan
XML Instance Representation
<...>
<mstns:limitIn> common:string </mstns:limitIn> [0..1]

'Outgoing money limit'

<mstns:limitOut> common:string </mstns:limitOut> [0..1]

'Incoming money limit'

<mstns:overusage> common:string </mstns:overusage> [0..1]

'Overusage minutes'

<mstns:orderNo> common:string </mstns:orderNo> [0..1]

'Order number'

<mstns:monthly> common:boolean </mstns:monthly> [0..1]

'These limits should be added every month'

</...>
Schema Component Representation
<xs:complexType name="Limits">
<xs:sequence>
<xs:element name="limitIn" type=" common:string " nillable="true" minOccurs="0"/>
<xs:element name="limitOut" type=" common:string " minOccurs="0"/>
<xs:element name="overusage" type=" common:string " minOccurs="0"/>
<xs:element name="orderNo" type=" common:string " minOccurs="0"/>
<xs:element name="monthly" type=" common:boolean " minOccurs="0"/>
</xs:sequence>
</xs:complexType>
top

Complex Type: LimitsList

Super-types: Limits < LimitsList (by extension)
Sub-types: None
Name LimitsList
Abstract no
Documentation Charging plan recharge limits data
XML Instance Representation
<...>
<mstns:limitIn> common:string </mstns:limitIn> [0..1]

'Outgoing money limit'

<mstns:limitOut> common:string </mstns:limitOut> [0..1]

'Incoming money limit'

<mstns:overusage> common:string </mstns:overusage> [0..1]

'Overusage minutes'

<mstns:orderNo> common:string </mstns:orderNo> [0..1]

'Order number'

<mstns:monthly> common:boolean </mstns:monthly> [0..1]

'These limits should be added every month'

<mstns:limitID> common:positiveInteger </mstns:limitID> [1]

'Charging plan limit ID'

<mstns:crDate> xs:dateTime </mstns:crDate> [0..1]

'Creation date'

</...>
Schema Component Representation
<xs:complexType name="LimitsList">
<xs:complexContent>
<xs:extension base=" Limits ">
<xs:sequence>
<xs:element name="limitID" type=" common:positiveInteger "/>
<xs:element name="crDate" type=" xs:dateTime " minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top