<?xml version="1.0" ?> | |
<!-- | |
1st Draft release (27/10/2005) | |
1. Removed all Meter and Revenue specific objects. | |
2. Renamed all "ED" to "Meter". | |
3. Moved <DayLastPurchase> element from <CustDetail> complex type to a new complex type <CustVendDetail>. <CustVendDetail> extends <CustDetail>. | |
4. Added generic STS business rule exceptions. | |
5. Removed <header> enumeration. | |
6. Created abstract <DeviceID> and <EANDeviceID> as a extension. | |
7. Replaced <Token> with <CreditTokenTx> for <VerifyResp>. | |
8. <ClientStatus> now associated with <BaseVendResp>. | |
9.<CustVendDetail> now associated with <BaseVendResp> | |
10. Removed <CreditUpdate> from <ClientStatus>. | |
11. Login and Logout message pairs removed. | |
28/10/2005 | |
12. <CreditStatus> removed, <availCredit> element added to <ClientStatus>. | |
13. <ean> changed to an attribute. | |
14. <terminalID> <id> changed to attribute. | |
15. <msgID> changed to attribute. | |
16. <MsgIDUniqueNumber> datatype change"postiveInteger" | |
7/11/2005 | |
17. <header> renamed to <dispHeader> and made optional.' | |
18. corrected naming convention for <Currency>. | |
10/11/2005 | |
19. Added <respDateTime> to <BaseResp>. | |
20. Renamed <CustomerIdentifier> to <CustIdentifier>. | |
21. Rename <customerMsg> to <custMsg> | |
22. <TAX>, <amt> made mandatory. | |
23. <XMLVendFault> renamed to <XMLVendFaultEx>. | |
24. <LastestKRNEx> corrected to <LatestKRNEx> | |
16/11/2005 | |
25. Added <desc> to <MeterSpecificTokenIssue> complex type. | |
26. Added the following <CreditVendTokenIssue> specialisations, <SaleTokenIssue>, <FBETokenIssue>, <MCTTokenIssue> and <FreeToKenIssue>. This enables more than one type of token to be returned. | |
27. Updated <KCTokenIssue> to be a specialisation of <MeterSpecificEngTokenIssue> and not <MeterSpecificTokenIssue>. | |
28. <Currency>, <value> changed to an attribute. | |
29. <UtilityDetail>, all sub elements made attributes. | |
30. <VendorDetail>, all sub elements made attributes. | |
31. Created <Units> complex type, update <CreditTokenIssue> with it. | |
32. <CustDetail>, all sub elements made attributes. | |
33. <CustVendDetail> sub elements made attributes. | |
34. <MeterDetail>, <ExtMeterDetail>, <MeterType>, sub element made attributes. | |
35. <track2Data> made "required" in <ExtMeterDetail> complex type. | |
36. <KCTData>, sub elements made attributes. | |
22/11/2005 | |
37. <MSNO> regular expression updated to (\S){3,13} | |
--> | |
<schema xmlns="http://www.w3.org/2001/XMLSchema" | |
targetNamespace="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema" | |
xmlns:i0="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema" elementFormDefault="qualified" | |
attributeFormDefault="unqualified"> | |
<annotation> | |
<documentation> Hand coded XML Schema for NRS Prepaid Utility Vending Service defining base | |
(common) library for the Vending Markup Language (XMLVend) for SOAP request and response | |
messages [*** WS-I Compliant *** see http://www.ws-i.org] Version Number Date Namespace | |
2.0 October 2005 | |
http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema/2005/10</documentation> | |
</annotation> | |
<element name="adviceReq" type="i0:AdviceReq"> | |
<annotation> | |
<documentation> System generated client request message to advise the server of the | |
outcome of a use case on the client. </documentation> | |
</annotation> | |
</element> | |
<complexType name="AdviceReq" abstract="true"> | |
<annotation> | |
<documentation> Request must be extended to advise the server to take an appropriate | |
action based on the outcome of previous use case on the client. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:BaseReq"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="adviceReqMsgID" type="i0:MsgID"> | |
<annotation> | |
<documentation> The original request MsgID that is being advised. | |
</documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<element name="adviceResp" type="i0:AdviceResp"> | |
<annotation> | |
<documentation> Server response message to a advice request message. </documentation> | |
</annotation> | |
</element> | |
<complexType name="AdviceResp" abstract="true"> | |
<annotation> | |
<documentation> Response to advice request. Confirming that the advice has been | |
processed by the server. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:BaseResp"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="adviceReqMsgID" type="i0:MsgID"> | |
<annotation> | |
<documentation> The original request MsgID that has been advised. | |
</documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<element name="xmlvendFaultResp" type="i0:XMLVendFaultResp"> | |
<annotation> | |
<documentation> Response to a XMLVend exception, business rule exception or a system | |
exception that occurs on the server when processing any other request. | |
</documentation> | |
</annotation> | |
</element> | |
<complexType name="XMLVendFaultResp"> | |
<annotation> | |
<documentation> Response to a XMLVend exception or business rule exception that occurs | |
on the server when processing any other request. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:BaseResp"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="fault" type="i0:Fault"/> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<!-- Message Definitions Ends--> | |
<!-- Complex Element Definitions Starts --> | |
<!--Advice Req Specialisations --> | |
<complexType name="ConfirmationAdviceReq"> | |
<annotation> | |
<documentation> Advice specialisation, used to by the client to confirm that a previous | |
used case has been completed successfully. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:AdviceReq"> | |
<sequence> | |
<element minOccurs="0" maxOccurs="1" name="payType" type="i0:PayType"> | |
<annotation> | |
<documentation> Used to advise the server of the pay type that was used | |
in the transaction. That is, the pay type may not have been | |
available in the original request. </documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="ReversalAdviceReq"> | |
<annotation> | |
<documentation> Advise specialisation, used to advise the server that the previous | |
transaction was not successfully completed on the client and the server should | |
reverse the transaction. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:AdviceReq"/> | |
</complexContent> | |
</complexType> | |
<complexType name="LastRespAdviceReq"> | |
<annotation> | |
<documentation> Advise specialisation, used to advise the server the server to resend | |
the last response to the last client request, as the transaction was not | |
successfully completed on the client. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:AdviceReq"/> | |
</complexContent> | |
</complexType> | |
<!--Advice Req Specialisations Ends--> | |
<!--Advice Response Specialisations --> | |
<complexType name="ConfirmationAdviceResp"> | |
<annotation> | |
<documentation> Response to confirmation advice. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:AdviceResp"> | |
<attribute use="required" name="txConfirmed" type="boolean"> | |
<annotation> | |
<documentation> true - transaction confirmed, false - transaction could not | |
be confirmed. </documentation> | |
</annotation> | |
</attribute> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="ReversalAdviceResp"> | |
<complexContent> | |
<extension base="i0:AdviceResp"> | |
<attribute use="required" name="txReversed" type="boolean"> | |
<annotation> | |
<documentation> true - transaction reverse on server, false - transaction | |
could not be reversed on server. </documentation> | |
</annotation> | |
</attribute> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="LastRespAdviceResp"> | |
<annotation> | |
<documentation> Response to lastResponse advice request, contains the complete last | |
response message sent by the server to this client. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:AdviceResp"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="lastResponse" type="i0:BaseResp"> | |
<annotation> | |
<documentation> The complete last response message that was requested. | |
</documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<!--Advice Response Specialisations Ends--> | |
<complexType name="AuthCred"> | |
<annotation> | |
<documentation> Provides operator authentication data to the server from the client. | |
</documentation> | |
</annotation> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="opName" type="i0:OpName"/> | |
<element minOccurs="0" maxOccurs="1" name="password" type="i0:Password"/> | |
<element minOccurs="0" maxOccurs="1" name="newPassword" type="i0:Password"> | |
<annotation> | |
<documentation> A new pass phrase that will replace the one specified in the | |
"password" field. </documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</complexType> | |
<complexType name="BaseResp"> | |
<annotation> | |
<documentation> Returned in every response and defines the response message context. | |
</documentation> | |
</annotation> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="clientID" type="i0:DeviceID"> | |
<annotation> | |
<documentation> This identifier is used to uniquely identify the vending client | |
that initiated a use case. If client side X509 certificates are used, then | |
the identifier must match the subject field specified in the certificate. | |
This identifier is usually mapped to a specific vendor account registered on | |
the vending server. The clientID may also be mapped to CDU ID for legacy | |
purposes. </documentation> | |
</annotation> | |
</element> | |
<element minOccurs="1" maxOccurs="1" name="serverID" type="i0:DeviceID"> | |
<annotation> | |
<documentation> This identifier is used to uniquely identify the vending server. | |
If server side X509 certificates are used, then the identifier must match | |
the subject field specified in the certificate. </documentation> | |
</annotation> | |
</element> | |
<element minOccurs="1" maxOccurs="1" name="terminalID" type="i0:DeviceID"> | |
<annotation> | |
<documentation> This identifier is used to identify the vending terminal that | |
initiated the use case. If the vending client also is a terminal then the | |
terminalID must default to "1". </documentation> | |
</annotation> | |
</element> | |
<element minOccurs="1" maxOccurs="1" name="reqMsgID" type="i0:MsgID"> | |
<annotation> | |
<documentation> This field contains the "msgID" that was created in the | |
corresponding request message. </documentation> | |
</annotation> | |
</element> | |
<element minOccurs="1" maxOccurs="1" name="respDateTime" type="dateTime"> | |
<annotation> | |
<documentation> The date time stamp of when the response was | |
created.</documentation> | |
</annotation> | |
</element> | |
<element minOccurs="0" maxOccurs="1" name="dispHeader" type="i0:Msg"> | |
<annotation> | |
<documentation> A message targeted at the operator e.g. "Vendor credit limit is | |
about to be reached". </documentation> | |
</annotation> | |
</element> | |
<element minOccurs="0" maxOccurs="1" name="operatorMsg" type="i0:Msg"> | |
<annotation> | |
<documentation> A message targeted at the operator e.g. "Vendor credit limit is | |
about to be reached". </documentation> | |
</annotation> | |
</element> | |
<element minOccurs="0" maxOccurs="1" name="custMsg" type="i0:Msg"> | |
<annotation> | |
<documentation> A message targeted at the customer e.g. "Your FBE token for | |
the current month has not been claimed." </documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</complexType> | |
<complexType name="BaseReq"> | |
<annotation> | |
<documentation> Present in all requests, defines the request message context. | |
</documentation> | |
</annotation> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="clientID" type="i0:DeviceID"/> | |
<element minOccurs="1" maxOccurs="1" name="terminalID" type="i0:DeviceID"/> | |
<element minOccurs="1" maxOccurs="1" name="msgID" type="i0:MsgID"> | |
<annotation> | |
<documentation> This is a identify for the request message. It is should be | |
unique across the system, when combined with the clientID. </documentation> | |
</annotation> | |
</element> | |
<element minOccurs="0" maxOccurs="1" name="authCred" type="i0:AuthCred"/> | |
</sequence> | |
</complexType> | |
<complexType name="BaseVendReq"> | |
<complexContent mixed="false"> | |
<extension base="i0:BaseReq"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="resource" type="i0:Resource"/> | |
<element minOccurs="1" maxOccurs="1" name="idMethod" type="i0:VendIDMethod"/> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="BaseVendResp"> | |
<complexContent> | |
<extension base="i0:BaseResp"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="clientStatus" type="i0:ClientStatus"/> | |
<element minOccurs="1" maxOccurs="1" name="utility" type="i0:UtilityDetail"/> | |
<element minOccurs="0" maxOccurs="1" name="vendor" type="i0:VendorDetail"/> | |
<element minOccurs="0" maxOccurs="1" name="custVendDetail" | |
type="i0:CustVendDetail"> | |
<annotation> | |
<documentation> Details about the customer that "owns" the meter. | |
</documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<!--Batch Specialisations --> | |
<!--Batch Specialisations Ends--> | |
<complexType name="BatchStatus"> | |
<annotation> | |
<documentation> Reports the status (open / closed) of the all the batches. | |
</documentation> | |
</annotation> | |
<attribute use="required" name="banking" type="i0:BatchStatusType"/> | |
<attribute use="required" name="sales" type="i0:BatchStatusType"/> | |
<attribute use="required" name="shift" type="i0:BatchStatusType"/> | |
</complexType> | |
<complexType name="ClientStatus"> | |
<annotation> | |
<documentation> The server state in terms of the client's credit and batch statuses. | |
</documentation> | |
</annotation> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="availCredit" type="i0:Currency"> | |
<annotation> | |
<documentation> The current vendor credit that is available for further | |
transactions. </documentation> | |
</annotation> | |
</element> | |
<element minOccurs="0" maxOccurs="1" name="batchStatus" type="i0:BatchStatus"/> | |
</sequence> | |
</complexType> | |
<!--CustIdentifier Specialisation --> | |
<complexType name="CustIdentifier" abstract="true"/> | |
<complexType name="CustName"> | |
<annotation> | |
<documentation> Contains the name of the customer - used as a search string. | |
</documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:CustIdentifier"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="name" type="i0:PersonName"/> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="CustAddress"> | |
<annotation> | |
<documentation> Contains the address of the customer - used as a search string. | |
</documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:CustIdentifier"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="address" type="i0:Address"/> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="CustAccountNo"> | |
<annotation> | |
<documentation> Contains the account number of the customer with a specific | |
organisation, usually the Utility - used as a search string. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:CustIdentifier"> | |
<sequence> | |
<element minOccurs="0" maxOccurs="1" name="organisation" | |
type="i0:OrganisationName"/> | |
</sequence> | |
<attribute use="required" name="accNo" type="i0:AccountNo"/> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="CustIDNumber"> | |
<annotation> | |
<documentation> Contains the government issued identity number of the customer - used as | |
a search string. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:CustIdentifier"> | |
<attribute use="required" name="idNo" type="i0:IDNo"/> | |
</extension> | |
</complexContent> | |
</complexType> | |
<!--CustIdentifier Specialisation Ends--> | |
<complexType name="CustDetail"> | |
<annotation> | |
<documentation> Contains the details of customer. </documentation> | |
</annotation> | |
<attribute use="required" name="name" type="i0:PersonName"/> | |
<attribute use="required" name="address" type="i0:Address"/> | |
<attribute use="optional" name="contactNo" type="i0:ContactNo"/> | |
<attribute use="optional" name="accNo" type="i0:AccountNo"/> | |
<attribute use="optional" name="locRef" type="i0:LocRef"> | |
<annotation> | |
<documentation> Contains an alternative reference to the customer location, such | |
as a Erf number. </documentation> | |
</annotation> | |
</attribute> | |
</complexType> | |
<complexType name="CustVendDetail"> | |
<complexContent> | |
<extension base="i0:CustDetail"> | |
<attribute use="optional" name="daysLastPurchase" type="integer"> | |
<annotation> | |
<documentation> The number of days since the customer last purchased a | |
token. Typically used to calculate the service charge applicable. | |
</documentation> | |
</annotation> | |
</attribute> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="Currency"> | |
<annotation> | |
<documentation> Contains the amount and currency symbol. </documentation> | |
</annotation> | |
<attribute use="required" name="value" type="decimal"/> | |
<attribute use="required" name="symbol" type="i0:CurrencySymbol"> | |
<annotation> | |
<documentation> The symbol of the currency used, as per ISO 4217. </documentation> | |
</annotation> | |
</attribute> | |
</complexType> | |
<complexType name="DeviceID" abstract="true"> | |
<annotation> | |
<documentation> Abstract identifier for the client, server or terminal. </documentation> | |
</annotation> | |
</complexType> | |
<complexType name="EANDeviceID"> | |
<annotation> | |
<documentation> The EAN is simply a 13-digit number used to uniquely identify the | |
client, server or terminal. Its basic components are: An EAN.UCC Company Prefix, a | |
Location Reference and a Check Digit. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:DeviceID"> | |
<attribute use="required" name="ean" type="i0:EAN"/> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="GenericDeviceID"> | |
<annotation> | |
<documentation> This is a generic identifier, that may be used to identifier a client, | |
server or terminal. It is however recommended that it be used for terminals only and | |
EAN's used for clients and servers. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:DeviceID"> | |
<attribute use="required" name="id" type="i0:Msg"/> | |
</extension> | |
</complexContent> | |
</complexType> | |
<!--MeterSpecificTokenIssue Specialiations--> | |
<complexType name="MeterSpecificTokenIssue" abstract="true"> | |
<annotation> | |
<documentation>Token information for a specific meter. </documentation> | |
</annotation> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="desc" type="i0:Msg"> | |
<annotation> | |
<documentation> | |
Description of the meter specific token issue, eg. Prepayment Sale, Key Change | |
</documentation> | |
</annotation> | |
</element> | |
<element minOccurs="1" maxOccurs="1" name="meterDetail" type="i0:MeterDetail"> | |
<annotation> | |
<documentation> Details about the meter where the token will be entered. In the | |
case of KCTokenIssue, it will be contain the updated (To) meter key data. | |
</documentation> | |
</annotation> | |
</element> | |
<element minOccurs="1" maxOccurs="1" name="token" type="i0:Token"> | |
<annotation> | |
<documentation> The cipher that will be entered into the meter as per the AT of | |
the meter. </documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</complexType> | |
<complexType name="CreditTokenIssue"> | |
<annotation> | |
<documentation> Information that is returned with all credit tokens that are vended by | |
the server. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:MeterSpecificTokenIssue"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="units" type="i0:Units"/> | |
<element minOccurs="1" maxOccurs="1" name="resource" type="i0:Resource"> | |
<annotation> | |
<documentation> The type of resource being vended, e.g. Electricity, | |
water... </documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<!-- Credit Token Issue Specialisations --> | |
<complexType name="SaleCredTokenIssue"> | |
<annotation> | |
<documentation> | |
Credit Token issue returned for a normal prepayment sale token. Maps to transaction type, 000 - Prepayment Sale, NRS009-3. | |
</documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:CreditTokenIssue"/> | |
</complexContent> | |
</complexType> | |
<complexType name="FBECredTokenIssue"> | |
<annotation> | |
<documentation> | |
Credit Token issue returned for a free basic electricity token. Maps to transaction type, 010 - FBE token, NRS009-3. | |
</documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:CreditTokenIssue"/> | |
</complexContent> | |
</complexType> | |
<complexType name="FreeCredTokenIssue"> | |
<annotation> | |
<documentation> | |
Credit Token issue returned for a free token. Maps to transaction type, 005 - Free Issue, NRS009-3. | |
</documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:CreditTokenIssue"/> | |
</complexContent> | |
</complexType> | |
<complexType name="MCTCredTokenIssue"> | |
<annotation> | |
<documentation> | |
Credit Token issue returned for a meter credit transfer token. Maps to transaction type, 003 - Replacement, NRS009-3. | |
</documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:CreditTokenIssue"/> | |
</complexContent> | |
</complexType> | |
<complexType name="MeterSpecificEngTokenIssue" abstract="true"> | |
<annotation> | |
<documentation> Generic Meter specific engineering token issue. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:MeterSpecificTokenIssue"/> | |
</complexContent> | |
</complexType> | |
<!--MeterSpecificEngTokenIssue Specialiations--> | |
<complexType name="KCTokenIssue"> | |
<annotation> | |
<documentation> Information returned with all Key Change Token issues. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:MeterSpecificEngTokenIssue"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="kctData" type="i0:KCTData"> | |
<annotation> | |
<documentation> The FROM and TO meter key data. </documentation> | |
</annotation> | |
</element> | |
<element minOccurs="0" maxOccurs="1" name="pwrLmtToken" | |
type="i0:PwrLmtTokenIssue"> | |
<annotation> | |
<documentation> A power limit token that matches the specific tariff | |
index that is being updated. </documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="PwrLmtTokenIssue"> | |
<annotation> | |
<documentation> Details of the power limit token being issued. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:MeterSpecificEngTokenIssue"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="pwrLmt" type="i0:PwrLmt"> | |
<annotation> | |
<documentation> The power limit value that the meter will be set to. | |
</documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="PhUnbalTokenIssue"> | |
<complexContent> | |
<extension base="i0:MeterSpecificEngTokenIssue"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="pwrLmt" type="i0:PwrLmt"/> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="ClearCreditTokenIssue"> | |
<complexContent> | |
<extension base="i0:MeterSpecificEngTokenIssue"/> | |
</complexContent> | |
</complexType> | |
<complexType name="ClearTamperTokenIssue"> | |
<complexContent> | |
<extension base="i0:MeterSpecificEngTokenIssue"/> | |
</complexContent> | |
</complexType> | |
<complexType name="WaterFactorTokenIssue"> | |
<complexContent> | |
<extension base="i0:MeterSpecificEngTokenIssue"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="waterFactor" type="i0:WaterFactor"/> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<!--MeterSpecificEngTokenIssue Specialisations Ends--> | |
<!--IDMethod Specialisation --> | |
<complexType name="IDMethod" abstract="true"/> | |
<complexType name="CustIDMethod"> | |
<annotation> | |
<documentation> Identifier used to identify the customer. </documentation> | |
</annotation> | |
<complexContent mixed="false"> | |
<extension base="i0:IDMethod"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="custIdentifier" | |
type="i0:CustIdentifier"/> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="VendIDMethod"> | |
<annotation> | |
<documentation> This identifier is typically used to identfiy the meter where the | |
requested token will be entered. </documentation> | |
</annotation> | |
<complexContent mixed="false"> | |
<extension base="i0:IDMethod"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="meterIdentifier" | |
type="i0:MeterIdentifier"> | |
<annotation> | |
<documentation> Identifier that identify the specific meter where the | |
token will be entered. </documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<!--IDMethod Specialisation Ends --> | |
<complexType name="KCTData"> | |
<annotation> | |
<documentation> The FROM and TO meter key data. </documentation> | |
</annotation> | |
<attribute use="required" name="fromSGC" type="i0:STSSupplyGroupCode"> | |
<annotation> | |
<documentation> The current meter supply group code(SGC). </documentation> | |
</annotation> | |
</attribute> | |
<attribute use="required" name="fromKRN" type="i0:STSKeyRevNo"> | |
<annotation> | |
<documentation> The current meter key revision number (KRN) for the SGC. | |
</documentation> | |
</annotation> | |
</attribute> | |
<attribute use="required" name="fromTI" type="i0:STSTariffIndex"> | |
<annotation> | |
<documentation> The current meter tariff index (TI). </documentation> | |
</annotation> | |
</attribute> | |
<attribute use="required" name="toSGC" type="i0:STSSupplyGroupCode"> | |
<annotation> | |
<documentation> The new SGC. </documentation> | |
</annotation> | |
</attribute> | |
<attribute use="required" name="toKRN" type="i0:STSKeyRevNo"> | |
<annotation> | |
<documentation> The new KRN. </documentation> | |
</annotation> | |
</attribute> | |
<attribute use="required" name="toTI" type="i0:STSTariffIndex"> | |
<annotation> | |
<documentation> The new TI. </documentation> | |
</annotation> | |
</attribute> | |
</complexType> | |
<complexType name="MeterType"> | |
<attribute use="required" name="at" type="i0:STSAT"/> | |
<attribute use="required" name="tt" type="i0:STSTT"/> | |
</complexType> | |
<!--MeterIdentifier Specialisation --> | |
<complexType name="MeterIdentifier" abstract="true"/> | |
<complexType name="MeterNumber"> | |
<complexContent mixed="false"> | |
<extension base="i0:MeterIdentifier"> | |
<attribute use="required" name="msno" type="i0:MSNO"/> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="MeterConfig" abstract="true"> | |
<annotation> | |
<documentation> Contains all information that describes the configuration of the meter. | |
</documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:MeterIdentifier"/> | |
</complexContent> | |
</complexType> | |
<complexType name="MeterCard"> | |
<annotation> | |
<documentation> The meter configuration information as obtained from the meter card, as | |
per NRS009-4-1. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:MeterConfig"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="track2Data" type="i0:NRSTrack2Data"/> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="MeterDetail"> | |
<annotation> | |
<documentation> The meter configuration information as obtained from a meter card or old | |
token or some other source where all the meter configuration data is available. | |
</documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:MeterConfig"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="meterType" type="i0:MeterType"/> | |
</sequence> | |
<attribute use="required" name="msno" type="i0:MSNO"/> | |
<attribute use="required" name="sgc" type="i0:STSSupplyGroupCode"/> | |
<attribute use="required" name="krn" type="i0:STSKeyRevNo"/> | |
<attribute use="required" name="ti" type="i0:STSTariffIndex"/> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="ExtMeterDetail"> | |
<annotation> | |
<documentation> Extension of the meter detail, to include further information about the | |
meter. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:MeterDetail"> | |
<attribute use="optional" name="useSTT" type="boolean"> | |
<annotation> | |
<documentation> Token generated with a Standard Token Translator (STT). | |
</documentation> | |
</annotation> | |
</attribute> | |
<attribute use="required" name="track2Data" type="i0:NRSTrack2Data"> | |
<annotation> | |
<documentation> Containing the meter cards track 2 data, as per | |
NRS009-4-1. </documentation> | |
</annotation> | |
</attribute> | |
</extension> | |
</complexContent> | |
</complexType> | |
<!--MeterIdentifier Specialisation Ends --> | |
<complexType name="MsgID"> | |
<annotation> | |
<documentation> Sequential identifier that allows each client request message to be | |
uniquely identified. </documentation> | |
</annotation> | |
<attribute use="required" name="dateTime" type="i0:MsgIDDateTime"/> | |
<attribute use="required" name="uniqueNumber" type="i0:MsgIDUniqueNumber"/> | |
</complexType> | |
<!--Pay Type Specialisations --> | |
<complexType name="PayType" abstract="true"> | |
<annotation> | |
<documentation> Indicates the mechanism used to pay. It is extended to allow for | |
different types of payment mechanisms. </documentation> | |
</annotation> | |
</complexType> | |
<complexType name="Cash"> | |
<complexContent> | |
<extension base="i0:PayType"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="tenderAmt" type="i0:Currency"> | |
<annotation> | |
<documentation> The cash amount tendered. </documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="Cheque"> | |
<complexContent> | |
<extension base="i0:PayType"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="cheqAmt" type="i0:Currency"/> | |
<element minOccurs="1" maxOccurs="1" name="accHolderName" type="i0:PersonName"/> | |
<element minOccurs="1" maxOccurs="1" name="AccHolderIDNo" type="i0:IDNo"/> | |
<element minOccurs="1" maxOccurs="1" name="accNo" type="i0:AccountNo"/> | |
<element minOccurs="1" maxOccurs="1" name="bankName" type="i0:OrganisationName"/> | |
<element minOccurs="1" maxOccurs="1" name="branchCode" type="i0:BranchCode"/> | |
<element minOccurs="1" maxOccurs="1" name="cheqNo" type="i0:ChequeNo"/> | |
<element minOccurs="1" maxOccurs="1" name="cheqType" type="i0:ChequeType"/> | |
<element minOccurs="0" maxOccurs="1" name="micr" type="i0:MICR"/> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="Card" abstract="true"> | |
<complexContent> | |
<extension base="i0:PayType"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="cardAmt" type="i0:Currency"/> | |
<element minOccurs="1" maxOccurs="1" name="accHolderName" type="i0:PersonName"/> | |
<element minOccurs="1" maxOccurs="1" name="pan" type="i0:AccountNo"> | |
<annotation> | |
<documentation> The primary account number. </documentation> | |
</annotation> | |
</element> | |
<element minOccurs="1" maxOccurs="1" name="expDate" type="i0:BankCardExpiry"/> | |
<element minOccurs="1" maxOccurs="1" name="cvNum" type="i0:BankCardCVNum"/> | |
<element minOccurs="1" maxOccurs="1" name="clearingHouse" | |
type="i0:OrganisationName"> | |
<annotation> | |
<documentation> The name of the card association, e.g. VISA, MasterCard, | |
etc </documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="CreditCard"> | |
<complexContent> | |
<extension base="i0:Card"/> | |
</complexContent> | |
</complexType> | |
<complexType name="DebitCard"> | |
<complexContent> | |
<extension base="i0:Card"/> | |
</complexContent> | |
</complexType> | |
<complexType name="Unknown"> | |
<annotation> | |
<documentation> Refers to a payment type that may not be known at the time of the | |
request. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:PayType"/> | |
</complexContent> | |
</complexType> | |
<!--Resource Specialisations--> | |
<complexType name="Resource" abstract="true"> | |
<annotation> | |
<documentation> The type of prepaid resource being requested. </documentation> | |
</annotation> | |
</complexType> | |
<complexType name="Electricity"> | |
<complexContent> | |
<extension base="i0:Resource"/> | |
</complexContent> | |
</complexType> | |
<complexType name="Water"> | |
<complexContent> | |
<extension base="i0:Resource"/> | |
</complexContent> | |
</complexType> | |
<complexType name="Gas"> | |
<complexContent> | |
<extension base="i0:Resource"/> | |
</complexContent> | |
</complexType> | |
<complexType name="ConnectionTime"> | |
<complexContent> | |
<extension base="i0:Resource"/> | |
</complexContent> | |
</complexType> | |
<complexType name="CurrencyResource"> | |
<complexContent> | |
<extension base="i0:Resource"/> | |
</complexContent> | |
</complexType> | |
<!--Resource Specialisations Ends--> | |
<complexType name="Tariff"> | |
<annotation> | |
<documentation> Contains information about the tariff that was used to process the | |
transaction. </documentation> | |
</annotation> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="name" type="i0:Msg"> | |
<annotation> | |
<documentation> Name of the tariff. e.g. Home Light 1 </documentation> | |
</annotation> | |
</element> | |
<element minOccurs="0" maxOccurs="1" name="desc" type="i0:Msg"> | |
<annotation> | |
<documentation>Optional description of the tariff. </documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</complexType> | |
<!--Tax specialisations --> | |
<complexType name="Tax" abstract="true"> | |
<annotation> | |
<documentation> TAX that is applicable to a transaction. </documentation> | |
</annotation> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="amt" type="i0:Currency"> | |
<annotation> | |
<documentation> The TAX amount of a transaction. </documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</complexType> | |
<complexType name="VAT"> | |
<annotation> | |
<documentation> A instance of TAX, referred to Value Added Tax and expressed as a | |
percentage. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:Tax"> | |
<attribute use="required" name="rate" type="i0:Percentage"> | |
<annotation> | |
<documentation> The percentage rate of VAT, as applied to the transaction | |
value. </documentation> | |
</annotation> | |
</attribute> | |
</extension> | |
</complexContent> | |
</complexType> | |
<!--Tax specialisations --> | |
<!--Token Specialisations--> | |
<complexType name="Token" abstract="true"> | |
<annotation> | |
<documentation> Generic prepaid token that is generated by the server. </documentation> | |
</annotation> | |
</complexType> | |
<complexType name="KCToken"> | |
<annotation> | |
<documentation> A key change token, that consists of two STS tokens. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:Token"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="set1stMeterKey" type="i0:STS1Token"> | |
<annotation> | |
<documentation> First 20 digit STS token. </documentation> | |
</annotation> | |
</element> | |
<element minOccurs="1" maxOccurs="1" name="set2ndMeterKey" type="i0:STS1Token"> | |
<annotation> | |
<documentation> Second 20 digit STS token. </documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="STS1Token"> | |
<annotation> | |
<documentation> The 20 digit STS 1 token as defined in the STS 1 specifications. For the | |
TrialCredit Vend request the STS1Token value will dfault to "0000000000000000". | |
</documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:Token"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="stsCipher" type="i0:STSCipherText"/> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<!--Token Specialisations Ends--> | |
<!--Token Info Specialisations --> | |
<complexType name="TokenInfo" abstract="true"> | |
<annotation> | |
<documentation> Information about the prepaid token generated. </documentation> | |
</annotation> | |
</complexType> | |
<complexType name="STS1TokenInfo"> | |
<annotation> | |
<documentation> Token information for STS1 tokens. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:TokenInfo"> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="tokenID" type="decimal"> | |
<annotation> | |
<documentation> As defined by STS. </documentation> | |
</annotation> | |
</element> | |
<element minOccurs="1" maxOccurs="1" name="transferAmt" type="decimal"> | |
<annotation> | |
<documentation> As defined by STS. </documentation> | |
</annotation> | |
</element> | |
<element minOccurs="1" maxOccurs="1" name="tokenClass" | |
type="i0:TokenSubClassType"> | |
<annotation> | |
<documentation> As defined by STS. </documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</extension> | |
</complexContent> | |
</complexType> | |
<complexType name="TokenSubClassType"> | |
<annotation> | |
<documentation> Potential token sub class types, as per STS. </documentation> | |
</annotation> | |
<sequence> | |
<choice maxOccurs="1" minOccurs="1"> | |
<element name="credit" type="i0:CreditTokenSubClassType"/> | |
<element name="nonMeterManagement" type="i0:NonMeterSpecificEng"/> | |
<element name="meterManagement" type="i0:MeterSpecificEng"/> | |
</choice> | |
</sequence> | |
</complexType> | |
<complexType name="VendorDetail"> | |
<annotation> | |
<documentation> Organisation who is contracted with the utility to provide prepaid | |
token's to it customers. </documentation> | |
</annotation> | |
<attribute use="required" name="name" type="i0:OrganisationName"> | |
<annotation> | |
<documentation> Name of the vendor, e.g. Foo Bank </documentation> | |
</annotation> | |
</attribute> | |
<attribute use="required" name="address" type="i0:Address"> | |
<annotation> | |
<documentation> Address of the vendor. </documentation> | |
</annotation> | |
</attribute> | |
</complexType> | |
<complexType name="UtilityDetail"> | |
<annotation> | |
<documentation> Details of the utility that is supply authority for the prepaid | |
resource. </documentation> | |
</annotation> | |
<attribute use="required" name="name" type="i0:OrganisationName"/> | |
<attribute use="required" name="address" type="i0:Address"/> | |
<attribute use="required" name="taxRef" type="i0:TaxRef"> | |
<annotation> | |
<documentation> Tax reference number of the utility. </documentation> | |
</annotation> | |
</attribute> | |
</complexType> | |
<!-- Issue Fault and XMLvend Fault Specialisations --> | |
<complexType name="Fault" abstract="true"> | |
<annotation> | |
<documentation> A generic fault returned by the server to an exception scenario. | |
</documentation> | |
</annotation> | |
<sequence> | |
<element minOccurs="1" maxOccurs="1" name="desc" type="i0:Msg"> | |
<annotation> | |
<documentation> Description of the fault scenario. </documentation> | |
</annotation> | |
</element> | |
</sequence> | |
</complexType> | |
<complexType name="SystemEx"> | |
<annotation> | |
<documentation> A system error has occurred while processing the request and therefore | |
the normal response message cannot be returned. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:Fault"/> | |
</complexContent> | |
</complexType> | |
<complexType name="BusinessRuleEx"> | |
<annotation> | |
<documentation> A business rule exception has occurred while processing the request | |
message, the server is therefore unable to continue with the happy path. | |
</documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:Fault"/> | |
</complexContent> | |
</complexType> | |
<complexType name="RequestAuthorisationEx"> | |
<annotation> | |
<documentation> The vendor is not authorised to perform the requested operation. | |
</documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:BusinessRuleEx"/> | |
</complexContent> | |
</complexType> | |
<complexType name="MSNOCheckDigitEx"> | |
<annotation> | |
<documentation> The check digit of the supplied MSNO can not be verified. | |
</documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:BusinessRuleEx"/> | |
</complexContent> | |
</complexType> | |
<complexType name="SGCAuthorisationEx"> | |
<annotation> | |
<documentation> The vendor is not authorised to produce tokens for meters on the | |
supplied SGC. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:BusinessRuleEx"/> | |
</complexContent> | |
</complexType> | |
<complexType name="LatestKRNEx"> | |
<annotation> | |
<documentation> The supplied KRN for the supplied SGC has expired. An update meter key | |
operation is required. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:BusinessRuleEx"/> | |
</complexContent> | |
</complexType> | |
<complexType name="FBEEx"> | |
<annotation> | |
<documentation> The customer is not registered for FBE. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:BusinessRuleEx"/> | |
</complexContent> | |
</complexType> | |
<complexType name="BlockedMeterEx"> | |
<annotation> | |
<documentation> The meter has been blocked, no transactions are possible, the reason for | |
blocking will vary.. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:BusinessRuleEx"/> | |
</complexContent> | |
</complexType> | |
<complexType name="STSDataEx"> | |
<annotation> | |
<documentation> The supplied data for MSNO, SGC, KRN, TI, AT, TT are not valid. | |
</documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:BusinessRuleEx"/> | |
</complexContent> | |
</complexType> | |
<complexType name="VendorCreditEx"> | |
<annotation> | |
<documentation> Insufficient vendor credit to compete the requested operation. | |
</documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:BusinessRuleEx"/> | |
</complexContent> | |
</complexType> | |
<complexType name="XMLVendFaultEx" abstract="true"> | |
<annotation> | |
<documentation> A XMLVend protocol related fault has occurred. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:Fault"/> | |
</complexContent> | |
</complexType> | |
<complexType name="UseCaseSupportEx"> | |
<annotation> | |
<documentation> Specialisation of XMLVend protocol exception, indicating that the | |
requested use case is not supported by this XMLVend implementation. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:XMLVendFaultEx"/> | |
</complexContent> | |
</complexType> | |
<complexType name="ClientIDSSLEx"> | |
<annotation> | |
<documentation> Specialisation of XMLVend protocol exception, indicating that the | |
clientID supplied in the request does not match the X509 certificate clientID. | |
</documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:XMLVendFaultEx"/> | |
</complexContent> | |
</complexType> | |
<complexType name="XMLVendSchemaEx"> | |
<annotation> | |
<documentation> Specialisation of XMLVend protocol exception, indicating that the | |
request message does not conform to the XMLVend schema. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:XMLVendFaultEx"/> | |
</complexContent> | |
</complexType> | |
<complexType name="LastResponseEx"> | |
<annotation> | |
<documentation> Specialisation of XMLVend protocol exception, indicating that the | |
requested response message can not be returned as there is not transaction | |
associated with the requested MsgID. </documentation> | |
</annotation> | |
<complexContent> | |
<extension base="i0:XMLVendFaultEx"/> | |
</complexContent> | |
</complexType> | |
<complexType name="Units"> | |
<annotation> | |
<documentation> | |
Amount of a specfic resource, in terms of its siUnit. | |
</documentation> | |
</annotation> | |
<attribute use="required" name="value" type="decimal"/> | |
<attribute use="required" name="siUnit" type="i0:ResourceSIUnit"> | |
<annotation> | |
<documentation> | |
The SI Unit of measurement of the resource be vended, | |
eg. "kWh" for electricity. | |
</documentation> | |
</annotation> | |
</attribute> | |
</complexType> | |
<!-- Complex Element Definations Ends--> | |
<!-- Element Constraints Start --> | |
<!-- Define Simple / Base Restrictive & Enumerated TYPES: --> | |
<!-- Consumer Account Number Type [20] digits, chars, no white space --> | |
<simpleType name="AccountNo"> | |
<annotation> | |
<documentation> Generic account number, used in several contexts. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\S){0,20}"/> | |
</restriction> | |
</simpleType> | |
<!-- String with whitespace [0..80] any chars --> | |
<simpleType name="Address"> | |
<restriction base="string"> | |
<maxLength value="80"/> | |
</restriction> | |
</simpleType> | |
<simpleType name="BranchCode"> | |
<annotation> | |
<documentation> Contains the branch code of the bank. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\d){1,10}"/> | |
</restriction> | |
</simpleType> | |
<simpleType name="BankCardExpiry"> | |
<annotation> | |
<documentation> Expiry date of the bank card, in the format YYYYMM. [6] only digits no | |
whitespace. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\d){6}"/> | |
</restriction> | |
</simpleType> | |
<simpleType name="BankCardCVNum"> | |
<annotation> | |
<documentation> Contains the Card verification number (typically printed on the back of | |
the card, but not embossed on the front). [1..10] digits only, no whitespace. | |
</documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\d){1,10}"/> | |
</restriction> | |
</simpleType> | |
<!-- [1..20] digits only, no whitespace --> | |
<simpleType name="ChequeNo"> | |
<annotation> | |
<documentation> Account Holder’s next unused cheque number. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\d){1,20}"/> | |
</restriction> | |
</simpleType> | |
<!-- [1..20] alphanumneric, no whitespace --> | |
<simpleType name="RefNo"> | |
<annotation> | |
<documentation> Generic reference number, used in several contexts. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\S){1,20}"/> | |
</restriction> | |
</simpleType> | |
<!-- [7..12] chars and digits only, no whitespace --> | |
<simpleType name="ContactNo"> | |
<annotation> | |
<documentation> A telephone number. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\S){7,12}"/> | |
</restriction> | |
</simpleType> | |
<!-- [1..15] chars and digits only, no whitespace --> | |
<simpleType name="CurrencySymbol"> | |
<annotation> | |
<documentation> The currency symbol of the currency being used in a transaction, as per | |
ISO 4217. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\S){1,3}"/> | |
</restriction> | |
</simpleType> | |
<!-- [1..20] chars and digits only, no whitespace --> | |
<simpleType name="CustRef"> | |
<restriction base="string"> | |
<pattern value="(\S){1,20}"/> | |
</restriction> | |
</simpleType> | |
<!-- [13] digits only, no whitespace --> | |
<simpleType name="EAN"> | |
<annotation> | |
<documentation> Generic logical identifier, used for a client, server or terminal. | |
</documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\d){13}"/> | |
</restriction> | |
</simpleType> | |
<simpleType name="IDNo"> | |
<annotation> | |
<documentation> Government issued number for a citizen. Government Identity Number Type | |
[20] digits, chars, no white space. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\S){0,20}"/> | |
</restriction> | |
</simpleType> | |
<!-- Consumer Location Reference such as GiS data[20] digits, chars, no white space--> | |
<simpleType name="LocRef"> | |
<restriction base="string"> | |
<pattern value="(\S){0,20}"/> | |
</restriction> | |
</simpleType> | |
<!-- [1..40] digits only, no whitespace --> | |
<simpleType name="MICR"> | |
<annotation> | |
<documentation> The Magnetic Ink Cheque Reader (MICR) is the entire line of numbers at | |
the bottom of the cheque. Includes the transit number, account number, and cheque | |
number. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\d){1,40}"/> | |
</restriction> | |
</simpleType> | |
<!-- [1..6] digits only, no whitespace --> | |
<simpleType name="MsgIDUniqueNumber"> | |
<annotation> | |
<documentation> 6 digit sequential number forms part of the request message identifier. | |
</documentation> | |
</annotation> | |
<restriction base="positiveInteger"> | |
<totalDigits value="6"/> | |
</restriction> | |
</simpleType> | |
<!-- [14] only digits no whitespace --> | |
<simpleType name="MsgIDDateTime"> | |
<annotation> | |
<documentation> Date Time stamp in the following format, yyyymmddHHMMSS. Forms part of | |
the request message identifier. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\d){14}"/> | |
</restriction> | |
</simpleType> | |
<!-- String with whitespace [0..160] any chars --> | |
<simpleType name="Msg"> | |
<restriction base="string"> | |
<maxLength value="160"/> | |
</restriction> | |
</simpleType> | |
<!-- [3..13] chars & digits, no whitespace, no whitespace --> | |
<simpleType name="MSNO"> | |
<annotation> | |
<documentation> Meter serial number of the meter where the token will be entered. | |
</documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\S){3,13}"/> | |
</restriction> | |
</simpleType> | |
<simpleType name="NRSTrack2Data"> | |
<annotation> | |
<documentation> Magnetic Meter ID Card Track 2 Type (see NRS 009-4:1993) | |
</documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern | |
value="600727(\d){12}=(=|(([0-6][0-9]|7[0-9])(0[0-9]|1[0-2])))=([0-9][1-9])([0-9][1-9])(\d){6}([0-9][1-9])([0-9])" | |
/> | |
</restriction> | |
</simpleType> | |
<!-- String with whitespace [0..80] any chars --> | |
<simpleType name="OrganisationName"> | |
<restriction base="string"> | |
<maxLength value="80"/> | |
</restriction> | |
</simpleType> | |
<!-- [1..10] chars & digits, no whitespace --> | |
<simpleType name="OpName"> | |
<annotation> | |
<documentation> Name of the operator initiating the use case. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\S){1,10}"/> | |
</restriction> | |
</simpleType> | |
<!-- [6..15] chars & digits, no whitespace --> | |
<simpleType name="Password"> | |
<restriction base="string"> | |
<pattern value="(\S){6,15}"/> | |
</restriction> | |
</simpleType> | |
<!-- [1..40] Anything except digits --> | |
<simpleType name="PersonName"> | |
<restriction base="string"> | |
<pattern value="(\D){1,40}"/> | |
</restriction> | |
</simpleType> | |
<simpleType name="Percentage"> | |
<restriction base="decimal"> | |
<minInclusive value="0"/> | |
<maxInclusive value="100"/> | |
</restriction> | |
</simpleType> | |
<!-->>>>>>>>>>>>>>>>>>>>--> | |
<simpleType name="PwrLmt"> | |
<annotation> | |
<documentation> Power limit value. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\d){1,3}\.(\d){1}"/> | |
</restriction> | |
</simpleType> | |
<!-- String with whitespace [1..4] any chars --> | |
<simpleType name="ResourceSIUnit"> | |
<annotation> | |
<documentation> SI unit of the resource being vended. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\S){1,4}"/> | |
</restriction> | |
</simpleType> | |
<!-- [1] digit no whitespace --> | |
<simpleType name="STSKeyRevNo"> | |
<annotation> | |
<documentation> Key Revision number of a supply group, as specified by STS. | |
</documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\d){1}"/> | |
</restriction> | |
</simpleType> | |
<!-- [2] only digits no whitespace --> | |
<simpleType name="STSTT"> | |
<annotation> | |
<documentation> Token technology see NRS009-4-1:1994, for STS, MagCard(01) or | |
Numeric(02). </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\d){2}"/> | |
</restriction> | |
</simpleType> | |
<!-- [2] only digits no whitespace --> | |
<simpleType name="STSAT"> | |
<annotation> | |
<documentation> Algorithm Technology see NRS009-4-1:1994, for STS 1, (07). | |
</documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\d){2}"/> | |
</restriction> | |
</simpleType> | |
<!-- [6] only digits no whitespace --> | |
<simpleType name="STSSupplyGroupCode"> | |
<annotation> | |
<documentation> Supply Group Code (SGC) as defined by STS, generally refers to which | |
utility will receive the revenue. Group coded SGC must be avoided in Online Vending | |
systems as these can be abused for fraudulent purposes.</documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\d){6}"/> | |
</restriction> | |
</simpleType> | |
<!-- [2] only digits no whitespace --> | |
<simpleType name="STSTariffIndex"> | |
<annotation> | |
<documentation> Refers to the tariff index (TI) as defined by STS. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\d){2}"/> | |
</restriction> | |
</simpleType> | |
<!-- [1..20] digits only, no whitespace --> | |
<simpleType name="STSCipherText"> | |
<annotation> | |
<documentation> Encrypted text as specified by STS. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<pattern value="(\d){20}"/> | |
</restriction> | |
</simpleType> | |
<!-- Tax ref [10] digits no whitespace --> | |
<simpleType name="TaxRef"> | |
<restriction base="string"> | |
<pattern value="(\d){10}"/> | |
</restriction> | |
</simpleType> | |
<simpleType name="WaterFactor"> | |
<restriction base="string"> | |
<pattern value="(\d){1,6}"/> | |
</restriction> | |
</simpleType> | |
<!-- Element Constraints Ends--> | |
<!-- Non-Volitile Enumerated Types starts --> | |
<simpleType name="ChequeType"> | |
<restriction base="string"> | |
<enumeration value="Personal"/> | |
<enumeration value="Company"/> | |
<enumeration value="Government"/> | |
</restriction> | |
</simpleType> | |
<simpleType name="BatchStatusType"> | |
<annotation> | |
<documentation> Enumeration that is used to indicate a status of a batch, "open" or | |
"closed". </documentation> | |
</annotation> | |
<restriction base="string"> | |
<enumeration value="open"/> | |
<enumeration value="closed"/> | |
</restriction> | |
</simpleType> | |
<simpleType name="CreditTokenSubClassType"> | |
<annotation> | |
<documentation> Token sub-class types as specified by STS. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<enumeration value="Electricity Token"/> | |
<enumeration value="Water Token"/> | |
<enumeration value="Gas Token"/> | |
<enumeration value="Connection time Token"/> | |
<enumeration value="Currency Token"/> | |
</restriction> | |
</simpleType> | |
<simpleType name="NonMeterSpecificEng"> | |
<annotation> | |
<documentation> Shortened names for non-Meter specific engineering tokens as defined by | |
STS. </documentation> | |
</annotation> | |
<restriction base="string"> | |
<enumeration value="TestAll"/> | |
<enumeration value="TestBreaker"/> | |
<enumeration value="TestDisp"/> | |
<enumeration value="DispPwrLmt"/> | |
<enumeration value="DispTI"/> | |
<enumeration value="DispKRN"/> | |
<enumeration value="DispTamper"/> | |
<enumeration value="DispInstPwr"/> | |
<enumeration value="DispConsTot"/> | |
<enumeration value="DispUnbalance"/> | |
<enumeration value="DispVer"/> | |
</restriction> | |
</simpleType> | |
<simpleType name="MeterSpecificEng"> | |
<annotation> | |
<documentation> Shortened names for Meter specific engineering tokens as defined by STS. | |
</documentation> | |
</annotation> | |
<restriction base="string"> | |
<enumeration value="SetPwrLmt"/> | |
<enumeration value="SetPhUnbalance"/> | |
<enumeration value="AddDefaultCred"/> | |
<enumeration value="ClearCred"/> | |
<enumeration value="ClearTamper"/> | |
<enumeration value="EngKCT"/> | |
<enumeration value="SetWaterFact"/> | |
</restriction> | |
</simpleType> | |
</schema> |