B2BMessagingPull Open API Spec

openapi: 3.0.1

info:

title: B2BMessagingPull

description: "The B2BMessagingPull API is a B2B SMP API used to send and receive B2B messages between the participants in a Pull messaging pattern. The messages will be queued in the e-Hub and the receiving participant can poll the e-Hub, ‘pull’ and process the messages that are queued.\n\n\nFor details on how to get access and business rules for this API:\n\n<a href=\"/api-docs\"><img src=\"./files/ViewAPIDocsButton.png\" alt=\"View API Docs\" /></a>"

version: '1.0'

servers:

- url: https://api-dev.aemo.local/ws/B2BMessagingPull/1.0

paths:

/messages:

post:

tags:

- Messages

summary: Submit a B2B message

description: Submit a B2B message.

operationId: postMessages

parameters:

- name: messageContextID

in: header

description: "Message ID defined by the Participant. \nThe messageContextID is used in the following ways:\n1. To provide a contextID for the message exchange. The participant/e-Hub uses the contextID of the original request when delivering its corresponding MACK(s).\n2. If the Recipient is on FTP, the filename is set to <messageContextID>.zip.\n3. The name of the archive files is set to <messageContextID>.zip.\n4. To provide context to the failure messages to be returned where the incoming payload is unreadable such as, the payload is schema invalid.\n\nFormat of is: <b> [TransactionGroup 0-9_a-z]{1,4} + [Priority h|m|l] + \"_\" + [FromParticipantID]{1,10} + \"_\" + [0-9_a-z]{1,18} </b>"

required: true

schema:

type: string

- name: x-eHub-APIKey

in: header

description: 'When invoking e-Hub API resources, this parameter is the AEMO-supplied API Key. Note that an API Key is issued for each combination of API and ParticipantID. API Keys are sourced from the AEMO API Portal. Initial API Keys are allocated as part of the registration and accreditation process'

required: true

schema:

type: string

requestBody:

description: An example of a message is given below. For more xml payload examples; Download the Postman collection.

content:

application/xml:

schema:

$ref: '#/components/schemas/aseaseXML'

example: <aseaseXML> <xmlns_x003A_ase>urn:aseXML:r38</xmlns_x003A_ase> <xmlns_x003A_xsi>http://www.w3.org/2001/XMLSchema-instance</xmlns_x003A_xsi> <xsi_x003A_schemaLocation>urn:aseXML:r38 http://www.nemmco.com.au/aseXML/schemas/r38/aseXML_r38.xsd</xsi_x003A_schemaLocation> <Header> <From>ENERGYCO1</From> <To>INTEGP</To> <MessageID>hsmdh_hsm_20070216123200123</MessageID> <MessageDate>10/14/2005 3:02:35 PM</MessageDate> <TransactionGroup>CATS</TransactionGroup> <TransactionPriority>High</TransactionPriority> <SecurityContext>string</SecurityContext> <EnergyMarket>AATELEC</EnergyMarket> </Header> <Transactions> <Transaction initiatingTransactionID="string"> <transactionID>3453535315</transactionID> <transactionDate>10/15/2004 1:02:35 AM</transactionDate> <MeterDataNotification> <version>r25</version> <RecordCount>string</RecordCount> <CSVConsumptionData>string</CSVConsumptionData> <CSVIntervalData>string</CSVIntervalData> <MeterReadingGroup> <MeterReadingGroupType>NMI</MeterReadingGroupType> <MeterReadingGroupId>string</MeterReadingGroupId> </MeterReadingGroup> </MeterDataNotification> <ServiceOrderRequest> <version>r36</version> <ActionType>New</ActionType> <ServiceOrderHeader> <NMI checksum="0" /> <Address>string</Address> <ServiceOrderTypeBase /> <ServiceOrderNumber>string</ServiceOrderNumber> <ServiceProviderReference>string</ServiceProviderReference> </ServiceOrderHeader> <ServicePoint> <Address>string</Address> <AccessDetails>string</AccessDetails> <SiteHazard> <Code>string</Code> <Description>string</Description> </SiteHazard> <MelwayGridReference>string</MelwayGridReference> <GasMeterDogCode>Bluff</GasMeterDogCode> <GasMeterPosition>BA</GasMeterPosition> </ServicePoint> <ContactDetail> <ContactName>string</ContactName> <ContactNumber>string</ContactNumber> </ContactDetail> <CustomerDetail> <PersonName> <PersonNameType>LGL</PersonNameType> <NameTitle>string</NameTitle> <GivenName>string</GivenName> <FamilyName>string</FamilyName> <NameSuffix>string</NameSuffix> </PersonName> <BusinessName> <BusinessNameTypeCode>OTH</BusinessNameTypeCode> </BusinessName> <ContactName>string</ContactName> <PostalAddress>string</PostalAddress> <PhoneNumber>string</PhoneNumber> <EmailAddress>string</EmailAddress> </CustomerDetail> <Co-ordinatingContactDetail>string</Co-ordinatingContactDetail> <AppointmentDetail> <Reference>string</Reference> <ScheduledDate>string</ScheduledDate> <AppointmentDateTime> <Date>string</Date> <Time>string</Time> </AppointmentDateTime> </AppointmentDetail> <ServiceOrderRequestData> <SpecialInstructions>string</SpecialInstructions> <NMIStandingData>string</NMIStandingData> </ServiceOrderRequestData> <NotifiedParties> <PartyIdentifier description="string"> <context>ABN</context> </PartyIdentifier> </NotifiedParties> </ServiceOrderRequest> <ServiceOrderResponse> <version>r36</version> <ResponseType>Initial</ResponseType> <ServiceOrderHeader> <NMI checksum="0" /> <Address>string</Address> <ServiceOrderTypeBase /> <ServiceOrderNumber>string</ServiceOrderNumber> <ServiceProviderReference>string</ServiceProviderReference> </ServiceOrderHeader> <ContactDetail> <ContactName>string</ContactName> <ContactNumber>string</ContactNumber> </ContactDetail> <AppointmentDetail> <Reference>string</Reference> <ScheduledDate>string</ScheduledDate> <AppointmentDateTime> <Date>string</Date> <Time>string</Time> </AppointmentDateTime> </AppointmentDetail> <ServiceOrderNotificationData> <SpecialNotes>string</SpecialNotes> <NMIStandingData>string</NMIStandingData> </ServiceOrderNotificationData> <Event> <EventClass>Message</EventClass> <EventSeverity>Information</EventSeverity> <EventCode description="string" /> <KeyInfo>string</KeyInfo> <Context>string</Context> <Explanation>string</Explanation> <EventSupportedVersions> <Version>string</Version> </EventSupportedVersions> </Event> </ServiceOrderResponse> <CustomerDetailsRequest> <version>r32</version> <NMI checksum="0" /> <RequestReason>Returned Mail</RequestReason> <SpecialComments> <CommentLine>33433434</CommentLine> </SpecialComments> </CustomerDetailsRequest> <CustomerDetailsNotification> <version>r36</version> <CustomerData> <NMI checksum="0" /> <CustomerDetail> <PersonName> <PersonNameType>LGL</PersonNameType> <NameTitle>string</NameTitle> <GivenName>string</GivenName> <FamilyName>string</FamilyName> <NameSuffix>string</NameSuffix> </PersonName> <BusinessName> <BusinessNameTypeCode>OTH</BusinessNameTypeCode> </BusinessName> <ContactName>string</ContactName> <PostalAddress>string</PostalAddress> <PhoneNumber>string</PhoneNumber> <EmailAddress>string</EmailAddress> </CustomerDetail> <SensitiveLoadType>Life Support</SensitiveLoadType> <MovementType>Update</MovementType> <LastModifiedDateTime>string</LastModifiedDateTime> <ConcessionCard> <RebateType>Pension Card</RebateType> <Number>string</Number> <FromDate>string</FromDate> <ToDate>string</ToDate> </ConcessionCard> </CustomerData> </CustomerDetailsNotification> <AmendMeterRouteDetails> <version>r19</version> <AmendSiteAccessDetails>string</AmendSiteAccessDetails> <SiteAddressDetails> <NMI checksum="0" /> <Address>string</Address> <LastModifiedDateTime>string</LastModifiedDateTime> <CustomerType>Industrial</CustomerType> </SiteAddressDetails> <CSVAmendSiteAddressDetails>string</CSVAmendSiteAddressDetails> <CSVAmendScheduledReadingDay>string</CSVAmendScheduledReadingDay> </AmendMeterRouteDetails> <SiteAccessRequest> <version>r36</version> <NMI checksum="0" /> <Reason>string</Reason> <SpecialComments> <CommentLine>33433434</CommentLine> </SpecialComments> </SiteAccessRequest> <MeterDataVerifyRequest> <version>r9</version> <VerifyRequestData>string</VerifyRequestData> </MeterDataVerifyRequest> <MeterDataMissingNotification> <version>r14</version> <MissingMeterData>string</MissingMeterData> <CSVMissingMeterData>string</CSVMissingMeterData> </MeterDataMissingNotification> <RemoteServiceRequest> <version>r36</version> <RemoteServiceData> <RequestID>string</RequestID> <NMI checksum="0" /> <MeterSerialNumbers> <MeterSerialNumber>string</MeterSerialNumber> </MeterSerialNumbers> <ServiceType>string</ServiceType> <RequestCode>string</RequestCode> <ResponseFormat>string</ResponseFormat> <FromDateTime>string</FromDateTime> <ToDateTime>string</ToDateTime> <UserDefData> <UserDef1>string</UserDef1> <UserDef2>string</UserDef2> <UserDef3>string</UserDef3> <UserDef4>string</UserDef4> <UserDef5>string</UserDef5> <UserDef6>string</UserDef6> <UserDef7>string</UserDef7> <UserDef8>string</UserDef8> <UserDef9>string</UserDef9> <UserDef10>string</UserDef10> </UserDefData> </RemoteServiceData> </RemoteServiceRequest> <RemoteServiceResponse> <version>r36</version> <RemoteServiceData> <RequestID>string</RequestID> <NMI checksum="0" /> <MeterSerialNumbers> <MeterSerialNumber>string</MeterSerialNumber> </MeterSerialNumbers> <ServiceType>string</ServiceType> <RequestCode>string</RequestCode> <ResponseFormat>string</ResponseFormat> <FromDateTime>string</FromDateTime> <ToDateTime>string</ToDateTime> <UserDefData> <UserDef1>string</UserDef1> <UserDef2>string</UserDef2> <UserDef3>string</UserDef3> <UserDef4>string</UserDef4> <UserDef5>string</UserDef5> <UserDef6>string</UserDef6> <UserDef7>string</UserDef7> <UserDef8>string</UserDef8> <UserDef9>string</UserDef9> <UserDef10>string</UserDef10> </UserDefData> </RemoteServiceData> <RemoteServiceResponseData> <ResponsePayload> <RecordCount>string</RecordCount> <PayloadContent /> </ResponsePayload> <Event> <EventClass>Message</EventClass> <EventSeverity>Information</EventSeverity> <EventCode description="string" /> <KeyInfo>string</KeyInfo> <Context>string</Context> <Explanation>string</Explanation> <EventSupportedVersions> <Version>string</Version> </EventSupportedVersions> </Event> <Product>string</Product> </RemoteServiceResponseData> </RemoteServiceResponse> <OneWayNotification> <version>r25</version> <CSVNotificationDetail>string</CSVNotificationDetail> </OneWayNotification> <NoticeOfMeteringWorks> <version>r36</version> <NoticeOfWorksID>string</NoticeOfWorksID> <NMIStandingData>string</NMIStandingData> <GeographicCoordinate>string</GeographicCoordinate> <WorksDetail> <WorkType>string</WorkType> <FieldWorkCompleteDateTime>string</FieldWorkCompleteDateTime> <TotalInstalledMeters>0</TotalInstalledMeters> <TotalInstalledNetworkDevices>0</TotalInstalledNetworkDevices> <TotalInstalledControlEquipment>0</TotalInstalledControlEquipment> <TotalInstalledTransformers>0</TotalInstalledTransformers> <TotalRemovedMeters>0</TotalRemovedMeters> <TotalRemovedOther>0</TotalRemovedOther> <NewEquipment> <InstalledMeterEquipment>string</InstalledMeterEquipment> <InstalledNetworkDevices>string</InstalledNetworkDevices> <InstalledControlEquipment>string</InstalledControlEquipment> <InstalledTransformers>string</InstalledTransformers> </NewEquipment> <RemovedMeteringEquipments> <RemovedMeteringEquipment> <RemovedEquipmentType>string</RemovedEquipmentType> <MeteringEquipment>string</MeteringEquipment> </RemovedMeteringEquipment> </RemovedMeteringEquipments> </WorksDetail> <Notes>string</Notes> </NoticeOfMeteringWorks> <NotifiedParty> <version>r36</version> <ServiceOrderHeader> <NMI checksum="0" /> <Address>string</Address> <ServiceOrderTypeBase /> <ServiceOrderNumber>string</ServiceOrderNumber> <ServiceProviderReference>string</ServiceProviderReference> </ServiceOrderHeader> <ServiceRequestor>string</ServiceRequestor> <ServiceProvider>string</ServiceProvider> <ScheduledDate>string</ScheduledDate> <ActualDateTime>string</ActualDateTime> <NotificationStatus>SO Requested</NotificationStatus> <NotificationPayload> <TransactionNotified>string</TransactionNotified> <TransAckNotified>string</TransAckNotified> <MsgAckNotified>string</MsgAckNotified> </NotificationPayload> </NotifiedParty> <PlannedInterruptionNotification> <version>r36</version> <NMI checksum="0" /> <StartDate>string</StartDate> <StartTime>string</StartTime> <EndDate>string</EndDate> <Duration>string</Duration> <ReasonForInter>string</ReasonForInter> <Notes>string</Notes> </PlannedInterruptionNotification> <MeterFaultAndIssueNotification> <version>r36</version> <NMI checksum="0" /> <DateIdentified>string</DateIdentified> <StartDate>string</StartDate> <StartTime>string</StartTime> <EndDate>string</EndDate> <Duration>string</Duration> <SupplyOn>string</SupplyOn> <SupplyOff>string</SupplyOff> <MeterSerialNumbers> <MeterSerialNumber>string</MeterSerialNumber> </MeterSerialNumbers> <ReasonForNotice>string</ReasonForNotice> <Notes>string</Notes> </MeterFaultAndIssueNotification> <LifeSupportNotification> <version>r38</version> <LifeSupportData> <NMI>string</NMI> <SiteAddress>string</SiteAddress> <UpdateReason>Update</UpdateReason> <RegistrationOwner>string</RegistrationOwner> <LifeSupportStatus>Registered - No Medical Confirmation</LifeSupportStatus> <DateRequired>string</DateRequired> <LifeSupportEquipmentType>Oxygen Concentrator</LifeSupportEquipmentType> <CustomerDetail> <PersonName> <PersonNameType>LGL</PersonNameType> <NameTitle>string</NameTitle> <GivenName>string</GivenName> <FamilyName>string</FamilyName> <NameSuffix>string</NameSuffix> </PersonName> <BusinessName> <BusinessNameTypeCode>OTH</BusinessNameTypeCode> </BusinessName> <ContactName>string</ContactName> <PostalAddress>string</PostalAddress> <PhoneNumber>string</PhoneNumber> <EmailAddress>string</EmailAddress> </CustomerDetail> <ContactMethod>Postal Address</ContactMethod> <SpecialNotes>string</SpecialNotes> <LastModifiedDateTime>string</LastModifiedDateTime> </LifeSupportData> </LifeSupportNotification> <LifeSupportRequest> <version>r38</version> <NMI checksum="0" /> <LifeSupportRequestReason>Confirm Life Support</LifeSupportRequestReason> <SpecialComments> <CommentLine>33433434</CommentLine> </SpecialComments> </LifeSupportRequest> </Transaction> </Transactions> </aseaseXML>

responses:

'200':

description: aseXML hub Acknowledgement (status = ‘Accept’) will be sent

content:

application/xml:

schema:

example:

example: <_x0032_00APIResponseResponse-xml></_x0032_00APIResponseResponse-xml>

'400':

description: This response is provided when the submitted payload cannot be passed successfully.

'404':

description: This response is provided when the resource name missing from URL or is invalid.

'405':

description: This response is provided when the method is not POST

'429':

description: This response is provided when the throttling limits are reached.

'500':

description: 'This response is provided when any unforeseen error is encountered, such as; Certificate/key do not match or incorrect or e-Hub/API/downstream service is not available or Malformed payload.'

/messageAcknowledgements:

post:

tags:

- Messages

summary: Submit Message Acknowledgement

description: "Purpose - Acknowledge a received message. Detail - For every message, a message acknowledgment is generated (with the exception of messages containing message acknowledgements). A BusinessReceipt has two possible implementations -\n • MessageAcknowledgement.\n • Event, errors are reported via Event elements.\n \n \nIf a message is rejected, no receipt identifier is required with the acknowledgement.\n\nThis resource will be used when Participants are required to send Message Acknowledgement in the HTTP request. messageContextID should be set to the messageContextID of the original message that is to be acknowledged. \n\nIn order that the sender receive timely acknowledgement of message delivery, the receiver should respond immediately to each aseXML message with a message acknowledgement.\n\n<b> Note: If a Participant is required to send a transaction message or transaction acknowledgement message, ‘/messages’ resource is to be used. If a Participant is required to send ‘message acknowledgements’ in the request payload, then ‘/messageAcknowledgements’ resource is to be used.</b>"

operationId: postMessageAcknowledgement

parameters:

- name: messageContextID

in: header

description: "Message ID defined by the Participant. \nThe messageContextID is used in the following ways:\n1. To provide a contextID for the message exchange. The participant/e-Hub uses the contextID of the original request when delivering its corresponding MACK(s).\n2. If the Recipient is on FTP, the filename is set to <messageContextID>.zip.\n3. The name of the archive files is set to <messageContextID>.zip.\n4. To provide context to the failure messages to be returned where the incoming payload is unreadable such as, the payload is schema invalid.\n\nFormat of is: <b> [TransactionGroup 0-9_a-z]{1,4} + [Priority h|m|l] + \"_\" + [FromParticipantID]{1,10} + \"_\" + [0-9_a-z]{1,18} </b>"

required: true

schema:

type: string

- name: x-eHub-APIKey

in: header

description: 'When invoking e-Hub API resources, this parameter is the AEMO-supplied API Key. Note that an API Key is issued for each combination of API and ParticipantID. API Keys are sourced from the AEMO API Portal. Initial API Keys are allocated as part of the registration and accreditation process'

required: true

schema:

type: string

requestBody:

description: An example of a message acknowledgement is given below. For more xml payload examples; Download the Postman collection.

content:

application/xml:

schema:

$ref: '#/components/schemas/MessageAcknowledgement'

example: <MessageAcknowledgement> <initiatingMessageID>3453535315</initiatingMessageID> <receiptID>OR-REC-1234</receiptID> <receiptDate>10/15/2004 1:02:35 AM</receiptDate> <MessageStatus>Accept</MessageStatus> <duplicate>No</duplicate> <Event> <EventClass>Message</EventClass> <EventSeverity>Information</EventSeverity> <EventCode description="string" /> <KeyInfo>string</KeyInfo> <Context>string</Context> <Explanation>string</Explanation> <EventSupportedVersions> <Version>string</Version> </EventSupportedVersions> </Event> </MessageAcknowledgement>

responses:

'200':

description: aseXML hub Acknowledgement (status = ‘Accept’) will be sent

content:

application/xml:

schema:

example:

example: <_x0032_00APIResponseResponse-xml></_x0032_00APIResponseResponse-xml>

'400':

description: This response is provided when the submitted payload cannot be passed successfully.

'404':

description: This response is provided when the resource name missing from URL or is invalid.

'405':

description: This response is provided when the method is not POST

'429':

description: This response is provided when the throttling limits are reached.

'500':

description: 'This response is provided when any unforeseen error is encountered, such as; Certificate/key do not match or incorrect or e-Hub/API/downstream service is not available or Malformed payload.'

delete:

tags:

- Messages

summary: Delete Message Acknowledgement

description: Participants opting-in for Pull API are required to notify the e-Hub that the message acknowledgement was successfully received and processed. This notification will delete the message acknowledgement message in the e-Hub queue.

operationId: deleteMessageAcknowledgement

parameters:

- name: initiatingParticipantID

in: query

description: ParticipantID of the Participant invoking the API

#required: true

schema:

type: string

- name: messageContextID

in: query

description: This should be set to the messageContextID of the message acknowledgement (MACK) that is being requested to be deleted from the e-Hub queue.

#required: true

schema:

type: string

- name: x-eHub-APIKey

in: header

description: 'When invoking e-Hub API resources, this parameter is the AEMO-supplied API Key. Note that an API Key is issued for each combination of API and ParticipantID. API Keys are sourced from the AEMO API Portal. Initial API Keys are allocated as part of the registration and accreditation process'

required: true

schema:

type: string

responses:

'200':

description: aseXML hub Acknowledgement (status = ‘Accept’) will be sent

content:

application/xml:

schema:

example:

example: <_x0032_00APIResponseResponse-xml></_x0032_00APIResponseResponse-xml>

'400':

description: This response is provided when the submitted payload cannot be passed successfully.

'404':

description: This response is provided when the resource name missing from URL or is invalid.

'405':

description: This response is provided when the method is not POST

'429':

description: This response is provided when the throttling limits are reached.

'500':

description: 'This response is provided when any unforeseen error is encountered, such as; Certificate/key do not match or incorrect or e-Hub/API/downstream service is not available or Malformed payload.'

/queues:

get:

tags:

- Messages

summary: Returns the meta-data of messages in the e-Hub queue (or) the aseXML messages queued awaiting delivery to the Recipient (initiator of this API).

description: Returns meta-data of messages in e-Hub queue for the participant initiating the API request.

operationId: getQueues

parameters:

- name: messageContextID

in: query

description: "If maxResults and messageContextID are passed, the API will attempt to retrieve (pull) the message matching the messageContextID. \n\nIf only messageContextID is passed, the API will retrieve the meta data of the message(s) matching the messageContextID. \n\nNote- If an invalid messageContextID is passed, the e-Hub will send HTTP response code of 404 stating that the requested resource does not exist."

schema:

type: string

- name: transactionGroup

in: query

description: "If maxResults & transactionGroup are populated API will pull the message(s) matching the transactionGroup; providing the oldest message in the e-Hub queue (FIFO) \n\nIf only transactionGroup is passed (no maxResults) API will retrieve the meta data of the message(s) matching the transactionGroup \n\nNote- If an invalid transactionGroup is passed, the e-Hub will send HTTP response code of 500 stating that transaction group is invalid"

schema:

enum:

- MTRD

- MRSR

- SORD

- CUST

- SITE

- OWNP

- OWNX

- NPNX

- PTPE

type: string

- name: priority

in: query

description: 'If maxResults & priority are populated API will pull the message(s) matching the priority; providing the oldest message in the e-Hub queue (FIFO) If only priority is passed (no maxResults) API will retrieve the meta data of message(s) matching the priority Note- If an invalid priority is passed, the e-Hub will send HTTP response code of 500 stating that priority is invalid'

schema:

enum:

- Low

- Medium

- High

type: string

- name: maxResults

in: query

description: "The ‘/queues’ resource could be used in two ways\n- To identify the meta data of messages (list of messages) in the e-Hub queue (or)\n- To pull the messages from e-Hub queue If maxResults query string parameter is not passed, then the e-Hub will provide a list of messages in the e-Hub queue for the initiating Participant. \n\nIf maxResults is populated; the e-Hub will return messages in the e-Hub queue, providing the oldest message in the e-Hub queue (FIFO) if other parameters are not passed. The message that was pulled from the e-Hub queue will be deleted only when the Participant has successfully responded with a corresponding MACK.\n\nNote - If maxResults > 1; the e-Hub will default it to 1; i.e. the e-Hub will always retrieve only one message from the Hub queue. maxResults > 1 will be utilised in the future where Participants can specify the number of aseXML messages to pull from the e-Hub queue."

schema:

type: string

- name: initiatingParticipantID

in: query

description: ParticipantID of the Participant invoking the API

#required: true

schema:

type: string

- name: x-eHub-APIKey

in: header

description: 'When invoking e-Hub API resources, this parameter is the AEMO-supplied API Key. Note that an API Key is issued for each combination of API and ParticipantID. API Keys are sourced from the AEMO API Portal. Initial API Keys are allocated as part of the registration and accreditation process'

required: true

schema:

type: string

responses:

'200':

description: aseXML message listing the messages & its meta data in the e-Hub queue.

content:

application/xml: { }

'400':

description: This response is provided when the submitted payload cannot be passed successfully.

'404':

description: This response is provided when the resource name missing from URL or is invalid.

'405':

description: This response is provided when the method is not POST

'429':

description: This response is provided when the throttling limits are reached.

'500':

description: 'This response is provided when any unforeseen error is encountered, such as; Certificate/key do not match or incorrect or e-Hub/API/downstream service is not available or Malformed payload.'

components:

schemas:

aseaseXML:

required:

- Header

- Transactions

type: object

properties:

xmlns:ase:

type: string

xml:

attribute: true

example: urn:aseXML:r38

xmlns:xsi:

type: string

xml:

attribute: true

example: http://www.w3.org/2001/XMLSchema-instance

xsi:schemaLocation:

type: string

xml:

attribute: true

example: urn:aseXML:r38 http://www.nemmco.com.au/aseXML/schemas/r38/aseXML_r38.xsd

Header:

type: array

items:

$ref: '#/components/schemas/Header'

description: Header

Transactions:

type: array

items:

$ref: '#/components/schemas/Transactions'

description: Transaction details

MessageStatus:

title: MessageStatus

enum:

- Accept

- Reject

type: string

description: Purpose - Indicate the acceptance or rejection of the message.

xml:

name: MessageStatus

TransactionStatus:

title: TransactionStatus

enum:

- Accept

- Partial

- Reject

type: string

description: 'Purpose - Indicate the acceptance, partial acceptance or rejection of the transaction.'

xml:

name: TransactionStatus

MessageAcknowledgement:

title: MessageAcknowledgement

required:

- initiatingMessageID

- receiptDate

- status

type: object

properties:

initiatingMessageID:

type: string

description: The value of this attribute corresponds to the value of the <MessageID> element in the header of the message being acknowledged.

xml:

name: initiatingMessageID

attribute: true

example: '3453535315'

receiptID:

description: 'The receiptID is a unique identifier, assigned by the receiver of a message, to identify the processing they intend to perform as a result of receiving it. It does not need to be provided in the case where the message is rejected.'

xml:

name: receiptID

attribute: true

example: OR-REC-1234

receiptDate:

type: string

description: 'This attribute indicates the date and time at which the message was queued for processing. If the message is rejected, it indicates the date and time at which the rejection occurred.'

format: date-time

xml:

name: receiptDate

attribute: true

example: '2004-10-15T01:02:35.0000000+00:00'

status:

$ref: '#/components/schemas/MessageStatus'

duplicate:

type: string

description: 'There are two possible values for this attribute, “Yes” or “No”, the default being “No”. When this attribute is set to “Yes”, this indicates that the receiver believes it has already processed the message and returned an acknowledgement. It is not an error to receive a previously unseen acknowledgement that has this attribute set to “Yes”. The acknowledgment receiver may ignore the attribute. It is provided largely for logging and fault finding.'

xml:

name: duplicate

attribute: true

example: No

Event:

$ref: '#/components/schemas/Event'

description: "Purpose - Acknowledge a received message\r\nDetail - For every message, a message acknowledgment is generated (with the exception of messages containing message acknowledgements). \r\n\r\nAny errors are reported via Event elements.\r\n\r\nIf a message is rejected, no receipt identifier need be provided with the acknowledgement."

xml:

name: MessageAcknowledgement

TransactionAcknowledgement:

title: TransactionAcknowledgement

required:

- initiatingTransactionID

- receiptDate

- status

type: object

properties:

initiatingTransactionID:

type: string

xml:

name: initiatingTransactionID

attribute: true

example: TX-TXN-1234

receiptID:

type: string

xml:

name: receiptID

attribute: true

receiptDate:

type: string

format: date-time

xml:

name: receiptDate

attribute: true

status:

$ref: '#/components/schemas/TransactionStatus'

duplicate:

type: string

xml:

name: duplicate

attribute: true

example: No

acceptedCount:

type: integer

format: int32

xml:

name: acceptedCount

attribute: true

Event:

$ref: '#/components/schemas/Event'

description: "Purpose - Acknowledge a received transaction\nDetail - For every transaction, a transaction acknowledgment is generated.\n\n\nAny errors are reported via Event elements.\n\n\nIf a transaction is rejected, no receipt identifier need be provided with the acknowledgement."

xml:

name: TransactionAcknowledgement

Acknowledgements:

title: Acknowledgements

type: object

properties:

MessageAcknowledgement:

type: array

items:

$ref: '#/components/schemas/MessageAcknowledgement'

description: ''

xml: { }

TransactionAcknowledgement:

type: array

items:

$ref: '#/components/schemas/TransactionAcknowledgement'

description: ''

xml: { }

description: "Purpose - The payload used to carry acknowledgments\nDetail - The aseXML acknowledgement model calls for each message and transaction to be acknowledged, subject to certain rules. For further information, refer to the aseXMl guidelines."

xml:

name: Acknowledgements

AustralianStateOrTerritory:

title: AustralianStateOrTerritory

enum:

- AAT

- ACT

- NSW

- NT

- QLD

- SA

- TAS

- VIC

- WA

type: string

description: Purpose - Define Australian states and territories as per Australian Standard AS4590

xml:

name: AustralianStateOrTerritory

PersonNameType:

title: PersonNameType

enum:

- LGL

- MDN

- BTH

- TRB

- PRF

- AKA

- XFR

- STG

type: string

description: Purpose - Define the types of people's names as per Australian Standard AS4590

xml:

name: PersonNameType

AustralianTelephoneServiceType:

title: AustralianTelephoneServiceType

enum:

- Fixed Voice

- Mobile Voice

- Fax

- Modem

- Pager

type: string

description: "Purpose - Define Australian telephone service types\nDetail - AS4590 indicates that service types need to be agreed between exchnaging parties. It is anticipated this list will be extended as new services are defined."

xml:

name: AustralianTelephoneServiceType

FlatOrUnit:

title: FlatOrUnit

type: object

properties:

FlatOrUnitType:

type: string

nullable: true

xml:

name: FlatOrUnitType

FlatOrUnitNumber:

pattern: '[\p{L}\p{N}\p{P}\s]{1,7}'

type: string

nullable: true

xml:

name: FlatOrUnitNumber

description: ''

xml:

name: FlatOrUnit

FloorOrLevel:

title: FloorOrLevel

type: object

properties:

FloorOrLevelType:

type: string

nullable: true

xml:

name: FloorOrLevelType

FloorOrLevelNumber:

pattern: '[\p{L}\p{N}\p{P}\s]{1,5}'

type: string

nullable: true

xml:

name: FloorOrLevelNumber

description: ''

xml:

name: FloorOrLevel

House:

title: House

type: object

properties:

HouseNumber:

maximum: 99999.0

type: integer

format: int32

nullable: true

xml:

name: HouseNumber

HouseNumberSuffix:

pattern: '[\p{L}\p{N}]{1}'

type: string

nullable: true

xml:

name: HouseNumberSuffix

description: ''

xml:

name: House

Lot:

title: Lot

type: object

properties:

LotNumber:

pattern: '[\p{L}\p{N}\p{P}\s]{1,6}'

type: string

nullable: true

xml:

name: LotNumber

description: ''

xml:

name: Lot

Street:

title: Street

type: object

properties:

StreetName:

pattern: '[\p{L}\p{N}\s\-'']{1,30}'

type: string

nullable: true

xml:

name: StreetName

StreetType:

type: string

nullable: true

xml:

name: StreetType

StreetSuffix:

type: string

nullable: true

xml:

name: StreetSuffix

description: ''

xml:

name: Street

PostalDeliveryNumber:

title: PostalDeliveryNumber

type: object

properties:

PostalDeliveryNumberPrefix:

pattern: '[\p{Lu}]{1,3}'

type: string

xml:

name: PostalDeliveryNumberPrefix

PostalDeliveryNumberValue:

maximum: 99999.0

type: integer

format: int32

xml:

name: PostalDeliveryNumberValue

PostalDeliveryNumberSuffix:

pattern: '[\p{Lu}]{1,3}'

type: string

xml:

name: PostalDeliveryNumberSuffix

description: ''

xml:

name: PostalDeliveryNumber

PostalDelivery:

title: PostalDelivery

type: object

properties:

PostalDeliveryType:

type: string

nullable: true

xml:

name: PostalDeliveryType

PostalDeliveryNumber:

$ref: '#/components/schemas/PostalDeliveryNumber'

description: ''

xml:

name: PostalDelivery

AustralianStructuredAddressPartialComponents:

title: AustralianStructuredAddressPartialComponents

type: object

properties:

FlatOrUnit:

$ref: '#/components/schemas/FlatOrUnit'

FloorOrLevel:

$ref: '#/components/schemas/FloorOrLevel'

BuildingOrPropertyName:

type: array

items:

maxLength: 30

minLength: 1

type: string

xml:

name: BuildingOrPropertyName

description: ''

nullable: true

xml: { }

LocationDescriptor:

pattern: '[\p{L}\p{N}\p{P}\s]{1,30}'

type: string

nullable: true

xml:

name: LocationDescriptor

House:

type: array

items:

$ref: '#/components/schemas/House'

description: ''

xml: { }

Lot:

$ref: '#/components/schemas/Lot'

Street:

type: array

items:

$ref: '#/components/schemas/Street'

description: ''

xml: { }

PostalDelivery:

$ref: '#/components/schemas/PostalDelivery'

description: "Purpose - Define those fields of an Australian address that are only provided as part of a structured address\nDetail - See the definition of AustralianAddress for more details. Note that all the fields are optional in this type to allow for only portions of an address to be provided. The AustralianStructuredAddressComponents type restricts the content of this type for the case where a complete address is being exchanged."

xml:

name: AustralianStructuredAddressPartialComponents

FlatOrUnit1:

title: FlatOrUnit1

required:

- FlatOrUnitType

- FlatOrUnitNumber

type: object

properties:

FlatOrUnitType:

type: string

nullable: true

xml:

name: FlatOrUnitType

FlatOrUnitNumber:

pattern: '[\p{L}\p{N}\p{P}\s]{1,7}'

type: string

nullable: true

xml:

name: FlatOrUnitNumber

description: ''

xml:

name: FlatOrUnit

FloorOrLevel1:

title: FloorOrLevel1

required:

- FloorOrLevelType

type: object

properties:

FloorOrLevelType:

type: string

nullable: true

xml:

name: FloorOrLevelType

FloorOrLevelNumber:

pattern: '[\p{L}\p{N}\p{P}\s]{1,5}'

type: string

nullable: true

xml:

name: FloorOrLevelNumber

description: ''

xml:

name: FloorOrLevel

House1:

title: House1

required:

- HouseNumber

type: object

properties:

HouseNumber:

maximum: 99999.0

type: integer

format: int32

nullable: true

xml:

name: HouseNumber

HouseNumberSuffix:

pattern: '[\p{L}\p{N}]{1}'

type: string

nullable: true

xml:

name: HouseNumberSuffix

description: ''

xml:

name: House

Lot1:

title: Lot1

required:

- LotNumber

type: object

properties:

LotNumber:

pattern: '[\p{L}\p{N}\p{P}\s]{1,6}'

type: string

nullable: true

xml:

name: LotNumber

description: ''

xml:

name: Lot

Street1:

title: Street1

required:

- StreetName

type: object

properties:

StreetName:

pattern: '[\p{L}\p{N}\s\-'']{1,30}'

type: string

nullable: true

xml:

name: StreetName

StreetType:

type: string

nullable: true

xml:

name: StreetType

StreetSuffix:

type: string

nullable: true

xml:

name: StreetSuffix

description: ''

xml:

name: Street

PostalDeliveryNumber1:

title: PostalDeliveryNumber1

type: object

properties:

PostalDeliveryNumberPrefix:

pattern: '[\p{Lu}]{1,3}'

type: string

nullable: true

xml:

name: PostalDeliveryNumberPrefix

PostalDeliveryNumberValue:

maximum: 99999.0

type: integer

format: int32

nullable: true

xml:

name: PostalDeliveryNumberValue

PostalDeliveryNumberSuffix:

pattern: '[\p{Lu}]{1,3}'

type: string

nullable: true

xml:

name: PostalDeliveryNumberSuffix

description: ''

xml:

name: PostalDeliveryNumber

PostalDelivery1:

title: PostalDelivery1

required:

- PostalDeliveryType

type: object

properties:

PostalDeliveryType:

type: string

nullable: true

xml:

name: PostalDeliveryType

PostalDeliveryNumber:

$ref: '#/components/schemas/PostalDeliveryNumber1'

description: ''

xml:

name: PostalDelivery

AustralianStructuredAddressComponents:

title: AustralianStructuredAddressComponents

type: object

properties:

FlatOrUnit:

$ref: '#/components/schemas/FlatOrUnit1'

FloorOrLevel:

$ref: '#/components/schemas/FloorOrLevel1'

BuildingOrPropertyName:

type: array

items:

maxLength: 30

minLength: 1

type: string

xml:

name: BuildingOrPropertyName

description: ''

nullable: true

xml: { }

LocationDescriptor:

pattern: '[\p{L}\p{N}\p{P}\s]{1,30}'

type: string

nullable: true

xml:

name: LocationDescriptor

House:

type: array

items:

$ref: '#/components/schemas/House1'

description: ''

xml: { }

Lot:

$ref: '#/components/schemas/Lot1'

Street:

type: array

items:

$ref: '#/components/schemas/Street1'

description: ''

xml: { }

PostalDelivery:

$ref: '#/components/schemas/PostalDelivery1'

description: "Purpose - Define those fields of an Australian address that are only provided as part of a structured address\nDetail - See the definition of AustralianAddress for more details. This type should be used where a complete address is being provided. If only part of an address is being provided, use the AustralianStructuredAddressPartialComponents type."

xml:

name: AustralianStructuredAddressComponents

UnstructuredAddress:

title: UnstructuredAddress

required:

- AddressLine

type: object

properties:

AddressLine:

type: array

items:

maxLength: 80

type: string

xml:

name: AddressLine

description: ''

nullable: true

xml: { }

description: ''

xml:

name: UnstructuredAddress

AustralianPartialAddress:

title: AustralianPartialAddress

type: object

properties:

StructuredAddress:

$ref: '#/components/schemas/AustralianStructuredAddressPartialComponents'

UnstructuredAddress:

$ref: '#/components/schemas/UnstructuredAddress'

SuburbOrPlaceOrLocality:

maxLength: 46

type: string

nullable: true

xml:

name: SuburbOrPlaceOrLocality

StateOrTerritory:

$ref: '#/components/schemas/AustralianStateOrTerritory'

PostCode:

pattern: '[\p{N}]{4}'

type: string

nullable: true

xml:

name: PostCode

DeliveryPointIdentifier:

maximum: 99999999.0

minimum: 10000000.0

type: integer

format: int32

nullable: true

xml:

name: DeliveryPointIdentifier

description: "Purpose - Define an Australian address\nDetail - This type allows the transfer of portions of an Australian address. where a complete address is to be transferred, the AustralianAddress type should be used."

xml:

name: AustralianPartialAddress

AustralianAddress:

title: AustralianAddress

required:

- StateOrTerritory

- PostCode

type: object

properties:

StructuredAddress:

$ref: '#/components/schemas/AustralianStructuredAddressComponents'

UnstructuredAddress:

$ref: '#/components/schemas/UnstructuredAddress'

SuburbOrPlaceOrLocality:

maxLength: 46

type: string

nullable: true

xml:

name: SuburbOrPlaceOrLocality

StateOrTerritory:

$ref: '#/components/schemas/AustralianStateOrTerritory'

PostCode:

pattern: '[\p{N}]{4}'

type: string

xml:

name: PostCode

DeliveryPointIdentifier:

maximum: 99999999.0

minimum: 10000000.0

type: integer

format: int32

nullable: true

xml:

name: DeliveryPointIdentifier

description: "Purpose - Define an Australian address\r\nDetail - The Australian address format allows for either a structured or an unstructured physical address, with locality, state and postcode always being carried as structured elements. In addition, it supports postal address formats. It follows the definitions and rules set out in AS4590 for address exchange. \r\n\r\nIt is important to note the occurrence frequency of elements within the format, particularly BuildingOrPropertyName, House and Street."

xml:

name: AustralianAddress

AustralianAddressSearch:

title: AustralianAddressSearch

required:

- StructuredAddress

type: object

properties:

StructuredAddress:

$ref: '#/components/schemas/AustralianStructuredAddressComponents'

SuburbOrPlaceOrLocality:

maxLength: 46

type: string

nullable: true

xml:

name: SuburbOrPlaceOrLocality

StateOrTerritory:

$ref: '#/components/schemas/AustralianStateOrTerritory'

PostCode:

pattern: '[\p{N}]{4}'

type: string

nullable: true

xml:

name: PostCode

description: "Purpose - Define the structure to allow provision of search parameters for an address.\nDetail - This definition is essentially the same as the structured part of Australian address except that either postcode or locality or both may be provided. This allows some flexibility in searching whilst constraining the subset of records to be considered."

xml:

name: AustralianAddressSearch

UnstructuredAddress1:

title: UnstructuredAddress1

required:

- AddressLine

type: object

properties:

AddressLine:

type: array

items:

maxLength: 80

type: string

xml:

name: AddressLine

description: ''

xml: { }

description: ''

xml:

name: UnstructuredAddress

InternationalAddress:

title: InternationalAddress

type: object

properties:

UnstructuredAddress:

$ref: '#/components/schemas/UnstructuredAddress1'

CountryCode:

pattern: '[\p{Lu}]{1,3}'

type: string

xml:

name: CountryCode

PostCode:

pattern: '[\p{L}\p{N}]{1,12}'

type: string

xml:

name: PostCode

description: "Purpose - Define an International address\r\nDetail - AS4590 provides differing definitions of some address components depending on whether they are for addresses internal or external to Australia. In order to provide maximum validation of Australian addresses, whilst supporting International formats, aseXML provides different formats for the two. \r\n\r\nBecause of the wide variety of International formats, aseXML currently only defines an unstructured format for Internaitonal addresses. It does, however, follow the same structure as that used for Australian addresses, allowing the definition of structured International addresses in the future.\r\n\r\nCountry and postcode are provided as structured fields , as per AS4590."

xml:

name: InternationalAddress

Address:

title: Address

type: object

properties:

AustralianAddress:

$ref: '#/components/schemas/AustralianAddress'

InternationalAddress:

$ref: '#/components/schemas/InternationalAddress'

description: Purpose - Define an address capable of representing both domestic and International addresses

xml:

name: Address

PersonName:

title: PersonName

required:

- NameTitle

- GivenName

- FamilyName

type: object

properties:

nameType:

$ref: '#/components/schemas/PersonNameType'

NameTitle:

type: array

items:

maxLength: 12

type: string

xml:

name: NameTitle

description: ''

xml: { }

GivenName:

type: array

items:

maxLength: 40

type: string

xml:

name: GivenName

description: ''

xml: { }

FamilyName:

maxLength: 40

type: string

xml:

name: FamilyName

NameSuffix:

type: array

items:

maxLength: 12

type: string

xml:

name: NameSuffix

description: ''

xml: { }

description: "Purpose - Define a person's name\nDetail - This format follows AS4590. By default, a legal name is assumed."

xml:

name: PersonName

AustralianPhoneNumber:

title: AustralianPhoneNumber

required:

- serviceType

- Prefix

- Number

type: object

properties:

serviceType:

$ref: '#/components/schemas/AustralianTelephoneServiceType'

Prefix:

maxLength: 4

type: string

xml:

name: Prefix

Number:

maxLength: 15

type: string

xml:

name: Number

ServiceComment:

maxLength: 40

type: string

xml:

name: ServiceComment

description: "Purpose - Define an Australian telephone service number\nDetail - This format follows AS4590."

xml:

name: AustralianPhoneNumber

YesNo:

title: YesNo

enum:

- Yes

- No

type: string

description: "Purpose - Yes/No indication\nDetail - Note that these values are case sensitive."

xml:

name: YesNo

ActiveInactive:

title: ActiveInactive

enum:

- A

- I

type: string

description: Purpose - Active/Inactive indication

xml:

name: ActiveInactive

AcceptReject:

title: AcceptReject

enum:

- A

- R

type: string

description: Purpose - Accept/Reject indication

xml:

name: AcceptReject

UnitsOfMeasure:

title: UnitsOfMeasure

enum:

- CFF

- CM

- DAY

- EA

- GAL

- GJ

- HR

- KRH

- KV

- KVA

- MTH

- KVB

- KVR

- KW

- KWH

- MJ

- MVA

- MWH

- MW

- PF

- VA

- VAR

- W

- WH

type: string

description: Purpose - Define Units of Measure. Application logic to decide which of these are valid for a given fuel type.

xml:

name: UnitsOfMeasure

SpecialComments:

title: SpecialComments

required:

- CommentLine

type: object

properties:

CommentLine:

type: array

items:

maxLength: 80

type: string

xml:

name: CommentLine

example: '33433434'

description: ''

xml: { }

description: Purpose - Defines the Comments in terms of the CommentLine. NOTE - Mandatory if Reason is Other or Data Quality Issue. Optional if additional information the Recipient wants to convey to the Initiator.

xml:

name: SpecialComments

Priority:

title: Priority

enum:

- Low

- Medium

- High

type: string

description: "Purpose - Priority indication\nDetail - Note that these enumerations are case sensitive."

xml:

name: Priority

ContactDetail:

title: ContactDetail

required:

- ContactName

- ContactNumber

type: object

properties:

ContactName:

type: string

xml:

name: ContactName

ContactNumber:

type: string

xml:

name: ContactNumber

description: ''

xml:

name: ContactDetail

MethodSent:

title: MethodSent

enum:

- Faxed

- Email

- Online

- OnSite

type: string

description: ''

xml:

name: MethodSent

SafetyCertificateType:

title: SafetyCertificateType

required:

- MethodSent

type: object

properties:

ID:

maxLength: 15

minLength: 1

type: string

xml:

name: ID

MethodSent:

$ref: '#/components/schemas/MethodSent'

description: ''

xml:

name: SafetyCertificateType

OpenPeriod:

title: OpenPeriod

required:

- BeginDate

type: object

properties:

BeginDate:

type: string

format: date

xml:

name: BeginDate

EndDate:

type: string

format: date

xml:

name: EndDate

description: Purpose - defines the time period as a date range with an optional EndData.

xml:

name: OpenPeriod

Period:

title: Period

required:

- BeginDate

- EndDate

type: object

properties:

BeginDate:

type: string

format: date

xml:

name: BeginDate

EndDate:

type: string

format: date

xml:

name: EndDate

description: Purpose - defines the time period as a date range.

xml:

name: Period

AppointmentDateTime:

title: AppointmentDateTime

required:

- Date

type: object

properties:

Date:

type: string

format: date

xml:

name: Date

Time:

type: string

format: date-time

xml:

name: Time

description: Schema - Appointments

xml:

name: AppointmentDateTime

AppointmentDetail:

title: AppointmentDetail

type: object

properties:

Reference:

maxLength: 36

minLength: 1

type: string

xml:

name: Reference

ScheduledDate:

type: string

format: date

xml:

name: ScheduledDate

Preferred:

$ref: '#/components/schemas/AppointmentDateTime'

description: Schema - Appointments

xml:

name: AppointmentDetail

UpdateStatus:

title: UpdateStatus

enum:

- New

- Update

- Delete

type: string

description: Purpose - Defines a list of valid update statuses

xml:

name: UpdateStatus

context:

title: context

enum:

- ABN

type: string

description: ''

xml:

name: context

PartyIdentifier:

title: PartyIdentifier

type: object

properties:

context:

$ref: '#/components/schemas/context'

description:

type: string

xml:

name: description

attribute: true

description: "Purpose - Identify a communicating party within aseXML\nDetail - This type allows identification of an entity involved within the energy industry.\n\nThe context attribute allows differentiation between identification mechanisms for parties. \n\nA value of \"ABN\" indicates that the value should be treated as an Australian Business Number.\n\nThere is no default. If the context attribute is not provided, the PartyIdentifier should be interpreted according to the rules for the market in which it is being used."

xml:

name: PartyIdentifier

RoleAssignment:

title: RoleAssignment

required:

- Role

type: object

properties:

Party:

$ref: '#/components/schemas/PartyIdentifier'

Role:

maxLength: 4

type: string

xml:

name: Role

FromDate:

type: string

format: date

xml:

name: FromDate

ToDate:

type: string

format: date

xml:

name: ToDate

description: Purpose - Associate a party with a role they are performing or intend to perform.

xml:

name: RoleAssignment

SiteHazard:

title: SiteHazard

required:

- Description

type: object

properties:

Code:

type: string

xml:

name: Code

Description:

maxLength: 80

type: string

xml:

name: Description

description: Site Hazard

xml:

name: SiteHazard

GasMeterDogCode:

title: GasMeterDogCode

enum:

- Bluff

- Dog Caution

- Dog OK

- Friendly

- No Dog

- Savage

- Tied

type: string

description: Schema - Gas

xml:

name: GasMeterDogCode

namespace: http://example.com/example.xsd

prefix: tns

GasMeterPosition:

title: GasMeterPosition

enum:

- BA

- BG

- BH

- BR

- BV

- BW

- BY

- CE

- CP

- DR

- FA

- FD

- FF

- FH

- FL

- FR

- FS

- FV

- FW

- GA

- GR

- KC

- KI

- LS

- OB

- PA

- PO

- PY

- RS

- SH

- SK

- SP

- SR

- TO

- UB

- UC

- UF

- UL

- UP

- UR

- US

- WH

type: string

description: Schema - Gas

xml:

name: GasMeterPosition

namespace: http://example.com/example.xsd

prefix: tns

ServicePoint:

title: ServicePoint

type: object

properties:

Address:

type: string

xml:

name: Address

AccessDetails:

maxLength: 160

type: string

xml:

name: AccessDetails

Hazard:

type: array

items:

$ref: '#/components/schemas/SiteHazard'

description: ''

xml: { }

MelwayGridReference:

maxLength: 9

type: string

xml:

name: MelwayGridReference

DogCode:

$ref: '#/components/schemas/GasMeterDogCode'

MeterPosition:

$ref: '#/components/schemas/GasMeterPosition'

description: Purpose - Define service point address and other properties

xml:

name: ServicePoint

IndexInvestigationCode:

title: IndexInvestigationCode

enum:

- Confirm Reading For Vacant Site

- Confirm Zero Consumption

- Incomplete Data

- Invalid MDFF Data

- Invalid Standing Data

- Missing Datastream

- Require Actual Reading or Substitute

- Require Final Substitute

- Require Latest Version

- Scheduled Reading Required

- Service Order Reading Required

- Verify High Reading

- Verify Low Reading

- Customer Away

- Customer Query

- Customer Read

- High Account

- Zero Consumption

- Recipient Not Responsible For The NMI

- Other

- Cross Meter

- MDL Out of Alignment

- Verify/Missing Register

- Require Estimate Data

- Meter Churn

type: string

description: Schema - Gas

xml:

name: IndexInvestigationCode

CSVRequestFormat:

title: CSVRequestFormat

required:

- RecordCount

- CSVData

type: object

properties:

RecordCount:

type: integer

format: int32

xml:

name: RecordCount

CSVData:

type: string

nullable: true

xml:

name: CSVData

description: ''

xml:

name: CSVRequestFormat

CSVResponseFormat:

title: CSVResponseFormat

allOf:

- $ref: '#/components/schemas/CSVRequestFormat'

- type: object

properties:

Event:

$ref: '#/components/schemas/Event'

xml:

name: CSVResponseFormat

description: ''

CSVDataWithName:

title: CSVDataWithName

type: object

properties:

Name:

maxLength: 10

type: string

xml:

name: Name

attribute: true

Description:

maxLength: 80

type: string

xml:

name: Description

attribute: true

description: ''

xml:

name: CSVDataWithName

RoleAssignments:

title: RoleAssignments

required:

- RoleAssignment

type: object

properties:

RoleAssignment:

type: array

items:

$ref: '#/components/schemas/RoleAssignment'

description: ''

xml: { }

description: Purpose - container type for one or more role assignments

xml:

name: RoleAssignments

NMI:

title: NMI

type: object

properties:

checksum:

maximum: 9.0

minimum: 0.0

type: integer

format: int32

xml:

name: checksum

attribute: true

description: "Purpose - National Metering Identifier with optional checksum\nDetail - Used to identify electricity and gas metering points"

xml:

name: NMI

NMIStandingData:

title: NMIStandingData

type: object

properties:

effectiveDateTime:

type: string

format: date-time

xml:

name: effectiveDateTime

attribute: true

NMI:

$ref: '#/components/schemas/NMI'

description: Purpose - Basis for fuel specific NMI standing data.

xml:

name: NMIStandingData

NMITransactionBase:

title: NMITransactionBase

type: object

properties:

NMI:

$ref: '#/components/schemas/NMI'

description: Purpose -

xml:

name: NMITransactionBase

GeographicCoordinate:

title: GeographicCoordinate

required:

- Latitude

- Longitude

type: object

properties:

Latitude:

type: number

xml:

name: Latitude

Longitude:

type: number

xml:

name: Longitude

description: Purpose - Coordinates specification

xml:

name: GeographicCoordinate

NotifiedParties:

title: NotifiedParties

type: object

properties:

NotifiedPartyID:

type: array

items:

$ref: '#/components/schemas/PartyIdentifier'

description: ''

xml: { }

description: Purpose - List Notified parties

xml:

name: NotifiedParties

BusinessNameTypeCode:

title: BusinessNameTypeCode

enum:

- OTH

- MTR

- OTR

- MN

- PRF

- LGL

- MAU

type: string

description: ''

xml:

name: BusinessNameTypeCode

BusinessName:

title: BusinessName

type: object

properties:

businessNameTypeCode:

$ref: '#/components/schemas/BusinessNameTypeCode'

description: 'Mandatory, if the CustomerName is blank. Not relevant, if the Site is vacant.'

xml:

name: BusinessName

CustomerType:

title: CustomerType

enum:

- Industrial

- Commercial

- Residential

- Farm

- Lighting

type: string

description: Purpose - Defines a list of valid customer types

xml:

name: CustomerType

SpecialConditionCode:

title: SpecialConditionCode

enum:

- LSUP

- NOTO

type: string

description: Purpose - Define the fixed Special Condition Code used in customer details notification

xml:

name: SpecialConditionCode

SensitiveLoadType:

title: SensitiveLoadType

enum:

- Life Support

- Sensitive Load

- None

type: string

description: Purpose - Define the fixed Special Condition Code used in customer details notification

xml:

name: SensitiveLoadType

MovementType:

title: MovementType

enum:

- Update

- Reconciliation

- Site Vacant

- RecCustConf

- RecPerRetailer

- RecPerDNSP

type: string

description: "Purpose - Define the fixed Special Condition Code used in customer details notification where:\n RecCustConf: Reconciliation - Confirmed with Customer. Means that the Retailer has confirmed with the Customer that the SenstiveLoad value is correct.\n RecPerRetailer: Reconciliation - As per Retailer. Means that the Retailer reasonably believes that the SensitiveLoad value provided is correct. \n RecPerDNSP: Reconciliation - As per DNSP. Means that the Retailer agrees that the SensitiveLoad value should be None, as inferred by the DNSP."

xml:

name: MovementType

RequestReason:

title: RequestReason

enum:

- Returned Mail

- Missing Customer Details

- Confirm Life Support

- Other

- 'Transfer Complete, no CDN Received'

- 'New Connection, no CDN Received'

- No response to rejected CDN

- Data Quality Issue

- Rec - confirm no SensitiveLoad

type: string

description: Purpose - Define the fixed Reasons used to request customer details

xml:

name: RequestReason

RebateType:

title: RebateType

enum:

- Pension Card

- Health Care Card

- Health Benefit Card

- Veteran Affairs Card

type: string

description: Purpose - Defines the rebate type for the concession details

xml:

name: RebateType

LifeSupportStatus:

title: LifeSupportStatus

enum:

- Registered - No Medical Confirmation

- Registered - Medical Confirmation

- Deregistered - No Medical Confirmation

- Deregistered - Customer Advice

- Deregistered - No Customer Response

- None

type: string

description: Purpose - Define the fixed Life support status used in Life Support notification

xml:

name: LifeSupportStatus

LifeSupportRequestReason:

title: LifeSupportRequestReason

enum:

- Confirm Life Support

- Data Quality Issue

- No response to rejected LSN

- Other

type: string

description: Purpose - Define the fixed Life support request reasons for a Life Support Request

xml:

name: LifeSupportRequestReason

UpdateReason:

title: UpdateReason

enum:

- Update

- Reconciliation

type: string

description: Purpose - Define the reasons for provision of details notification.

xml:

name: UpdateReason

ContactMethod:

title: ContactMethod

enum:

- Postal Address

- Site Address

- Email Address

- Phone

type: string

description: Purpose - Define the basic set of contact methods.

xml:

name: ContactMethod

Product:

title: Product

required:

- Code

type: object

properties:

Code:

type: array

items:

maxLength: 10

type: string

xml:

name: Code

description: ''

xml: { }

description: ''

xml:

name: Product

ConcessionCard:

title: ConcessionCard

required:

- Number

type: object

properties:

rebateType:

$ref: '#/components/schemas/RebateType'

Number:

maxLength: 10

type: string

xml:

name: Number

FromDate:

type: string

format: date

xml:

name: FromDate

ToDate:

type: string

format: date

xml:

name: ToDate

description: ''

xml:

name: ConcessionCard

CustomerDetail:

title: CustomerDetail

type: object

properties:

PersonName:

$ref: '#/components/schemas/PersonName'

BusinessName:

$ref: '#/components/schemas/BusinessName'

ContactName:

type: array

items:

type: string

xml:

name: ContactName

description: ''

xml: { }

PostalAddress:

type: string

xml:

name: PostalAddress

PhoneNumber:

type: array

items:

type: string

xml:

name: PhoneNumber

description: ''

xml: { }

EmailAddress:

type: array

items:

type: string

xml:

name: EmailAddress

description: ''

xml: { }

description: Purpose - Defines the customer details for notification

xml:

name: CustomerDetail

CustomerData:

title: CustomerData

required:

- NMI

- SensitiveLoad

- MovementType

- LastModifiedDateTime

type: object

properties:

NMI:

$ref: '#/components/schemas/NMI'

CustomerDetail:

$ref: '#/components/schemas/CustomerDetail'

SensitiveLoad:

$ref: '#/components/schemas/SensitiveLoadType'

MovementType:

$ref: '#/components/schemas/MovementType'

LastModifiedDateTime:

type: string

format: date-time

xml:

name: LastModifiedDateTime

ConcessionCard:

$ref: '#/components/schemas/ConcessionCard'

description: ''

xml:

name: CustomerData

LifeSupportData:

title: LifeSupportData

required:

- NMI

- Reason

- Status

- LastModifiedDateTime

type: object

properties:

NMI:

type: string

xml:

name: NMI

SiteAddress:

type: string

xml:

name: SiteAddress

Reason:

$ref: '#/components/schemas/UpdateReason'

RegistrationOwner:

type: string

xml:

name: RegistrationOwner

Status:

$ref: '#/components/schemas/LifeSupportStatus'

DateRequired:

type: string

format: date

xml:

name: DateRequired

Equipment:

$ref: '#/components/schemas/LifeSupportEquipmentType'

ManagementContactDetail:

$ref: '#/components/schemas/CustomerDetail'

PreferredContactMethod:

$ref: '#/components/schemas/ContactMethod'

SpecialNotes:

type: string

xml:

name: SpecialNotes

LastModifiedDateTime:

type: string

format: date-time

xml:

name: LastModifiedDateTime

description: ''

xml:

name: LifeSupportData

CustomerDetailsRequest:

title: CustomerDetailsRequest

required:

- NMI

- Reason

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r32

NMI:

$ref: '#/components/schemas/NMI'

Reason:

$ref: '#/components/schemas/RequestReason'

Comments:

$ref: '#/components/schemas/SpecialComments'

description: Obtain current Customer Details and Life Support information from a Retailer.

xml:

name: CustomerDetailsRequest

CustomerDetailsNotification:

title: CustomerDetailsNotification

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r36

Customer:

$ref: '#/components/schemas/CustomerData'

description: Sent to the DNSP by the Current Retailer to inform changes to customer details (such as outage contact changes or Life Support details).

xml:

name: CustomerDetailsNotification

SiteAddressDetails:

title: SiteAddressDetails

required:

- NMI

- Address

- LastModifiedDateTime

type: object

properties:

NMI:

$ref: '#/components/schemas/NMI'

Address:

type: string

xml:

name: Address

LastModifiedDateTime:

type: string

format: date-time

xml:

name: LastModifiedDateTime

CustomerType:

$ref: '#/components/schemas/CustomerType'

description: ''

xml:

name: SiteAddressDetails

SiteAccessDetails:

title: SiteAccessDetails

required:

- AccessDetail

- Hazard

- LastModifiedDateTime

type: object

properties:

AccessDetail:

type: string

xml:

name: AccessDetail

Hazard:

type: array

items:

type: string

xml:

name: Hazard

description: ''

xml: { }

LastModifiedDateTime:

type: string

format: date-time

xml:

name: LastModifiedDateTime

version:

type: string

xml:

name: version

attribute: true

example: r19

description: ''

xml:

name: SiteAccessDetails

MeterData:

title: MeterData

required:

- Meter

type: object

properties:

Meter:

type: string

xml:

name: Meter

description: ''

xml:

name: MeterData

MultiMeterSiteAccessDetails:

title: MultiMeterSiteAccessDetails

required:

- LastModifiedDateTime

type: object

properties:

MeterData:

$ref: '#/components/schemas/MeterData'

SiteData:

type: string

xml:

name: SiteData

Hazard:

type: array

items:

type: string

xml:

name: Hazard

description: ''

xml: { }

LastModifiedDateTime:

type: string

format: date-time

xml:

name: LastModifiedDateTime

version:

type: string

xml:

name: version

attribute: true

example: r34

description: ''

xml:

name: MultiMeterSiteAccessDetails

AmendMeterRouteDetails:

title: AmendMeterRouteDetails

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r19

AmendSiteAccessDetails:

type: string

xml:

name: AmendSiteAccessDetails

AmendSiteAddressDetails:

$ref: '#/components/schemas/SiteAddressDetails'

CSVAmendSiteAddressDetails:

type: string

xml:

name: CSVAmendSiteAddressDetails

CSVAmendScheduledReadingDay:

type: string

xml:

name: CSVAmendScheduledReadingDay

description: 'Also known as "Site Access Notification", Sent to the DNSP by the Current Retailer to inform site address or access changes or in response to a Site Access Request."'

xml:

name: AmendMeterRouteDetails

SiteAccessRequest:

title: SiteAccessRequest

required:

- NMI

- Reason

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r36

NMI:

$ref: '#/components/schemas/NMI'

Reason:

type: string

xml:

name: Reason

SpecialNotes:

$ref: '#/components/schemas/SpecialComments'

description: 'Sent by any authorised party to another related party for the NMI to enable greater sharing of hazard and access Information between participants. For example, an MP may require site access information from another party or a new Retailer may want to obtain current site access information from a DNSP.'

xml:

name: SiteAccessRequest

LifeSupportRequest:

title: LifeSupportRequest

required:

- NMI

- Reason

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r38

NMI:

$ref: '#/components/schemas/NMI'

Reason:

$ref: '#/components/schemas/LifeSupportRequestReason'

SpecialNotes:

$ref: '#/components/schemas/SpecialComments'

description: Request Life support Details

xml:

name: LifeSupportRequest

LifeSupportNotification:

title: LifeSupportNotification

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r38

LifeSupportData:

$ref: '#/components/schemas/LifeSupportData'

description: Used when the DNSP or Retailer are informed by a customer they require life support or there are changes to the life support information or requirement.

xml:

name: LifeSupportNotification

MeterStatusCode:

title: MeterStatusCode

enum:

- C

- D

- R

type: string

description: "Purpose - Status code of Meter Register Data\nMSATS Data Model Column - MeterStatus"

xml:

name: MeterStatusCode

MeterConsumptionType:

title: MeterConsumptionType

enum:

- Actual

- Cumulative

type: string

description: MSATS Data Model Column -

xml:

name: MeterConsumptionType

MeterRegisterStatusCode:

title: MeterRegisterStatusCode

enum:

- C

- R

type: string

description: MSATS Data Model Column - RegisterIdStatus

xml:

name: MeterRegisterStatusCode

HighLowConsumption:

title: HighLowConsumption

required:

- High

- Low

type: object

properties:

High:

type: integer

format: int32

xml:

name: High

Low:

type: integer

format: int32

xml:

name: Low

description: Used to identify the maximum and minimum expected consumption between readings.

xml:

name: HighLowConsumption

DirectionIndicator:

title: DirectionIndicator

enum:

- Import

- Export

type: string

description: 'This element may be handled using NetworkTariffCode, If so, the corresponding data element is to be removed.'

xml:

name: DirectionIndicator

DocumentReferenceType:

title: DocumentReferenceType

type: object

properties:

FormReference:

maxLength: 30

type: string

xml:

name: FormReference

FormNumber:

maxLength: 15

type: string

xml:

name: FormNumber

description: ''

xml:

name: DocumentReferenceType

License:

title: License

type: object

properties:

Licensee:

type: string

xml:

name: Licensee

BusinessName:

$ref: '#/components/schemas/BusinessName'

PhoneNumber:

type: array

items:

type: string

xml:

name: PhoneNumber

description: ''

xml: { }

LicenseNumber:

maxLength: 20

type: string

xml:

name: LicenseNumber

SafetyCertificate:

type: string

xml:

name: SafetyCertificate

DocumentReference:

$ref: '#/components/schemas/DocumentReferenceType'

AttendanceRequired:

type: boolean

xml:

name: AttendanceRequired

description: Purpose - Defines license data structure for the tradesman performing the service.

xml:

name: License

ServiceTimeType:

title: ServiceTimeType

enum:

- Any Time

- Business Hours

- Non-Business Hours

type: string

description: Service Order Service Time Type

xml:

name: ServiceTimeType

ServiceOrderType:

title: ServiceOrderType

enum:

- Re-energisation

- De-energisation

- Special Read

- Miscellaneous

- Metering Service Works

- Supply Service Works

type: string

description: Purpose - Defines a list of valid Service Order types supported by the particpants

xml:

name: ServiceOrderType

ServiceOrderSubType:

title: ServiceOrderSubType

enum:

- After Disconnection For Non-Payment

- Remove Fuse

- Disconnect at Pillar-Box Pit Or Pole-Top

- Install Controlled Load

- Move Meter

- Install Meter

- Remove Meter

- Exchange Meter

- Check Read

- Final Read

- Allocate NMI

- Establish Permanent Supply

- Establish Temporary Supply

- Establish Temporary In Permanent

- Local Meter Disconnection

- Meter Investigation-Inspect

- Meter Investigation-Test

- Meter Reconfiguration

- Recipient Discretion

- Remote

- Supply Abolishment

- Supply Alteration

- Tariff Change

- Temporary Isolation

- Temporary Isolation-Group Supply

- Change Timeswitch Settings

- Reseal Device

- Retrospective Move-in

- Move-in

- New Reading Required

- Physical Visit

type: string

description: Purpose - Defines a list of valid Service Order types supported by the particpants

xml:

name: ServiceOrderSubType

SupplyPhase:

title: SupplyPhase

enum:

- 1-phase

- 2-phase

- 3-phase

- Other Multi-phase

- Unknown

type: string

description: Purpose - Defines a list of valid supply ohase

xml:

name: SupplyPhase

InstallationType:

title: InstallationType

enum:

- Underground

- Overhead

- Underground To Overhead Mains

- Overhead To Underground Mains

- Transformer Overhead

- Transformer Ground Level

type: string

description: Purpose - Defines a list of valid Installation type

xml:

name: InstallationType

SORDResponseCode:

title: SORDResponseCode

enum:

- Customer On-Site

- Customer Prevented

- De-energisation Not Completed Due To A Re-energisation

- Documentation Not Provided

- Metering Problem

- Meter Reading Only Undertaken Due To Prior Re-energisation

- New Customer On-Site

- No Supply

- Other

- Reading Problem

- Request Submitted By Another Initiator

- Initiator Cancellation

- Sensitive Load

- Recipient Cancellation

- Unable To Access

- Unknown Load

- Unsafe

- Tariff Change Not Approved

- Inadequate infrastructure

- No Comms

- Life Support

- Meter Not Retrieved

- Metering not compatible with proposed Tariff Change

- Shared Supply Point

- Site Already Energised

- Unknown Connection Status

type: string

description: Purpose - Defines a list of valid response code for different types of service orders

xml:

name: SORDResponseCode

InstrumentTransformer:

title: InstrumentTransformer

type: object

properties:

TransformerNumber:

maxLength: 12

type: string

xml:

name: TransformerNumber

namespace: http://example.com/example.xsd

prefix: tns

TransformerType:

type: string

xml:

name: TransformerType

namespace: http://example.com/example.xsd

prefix: tns

TransformerRatio:

maxLength: 20

type: string

xml:

name: TransformerRatio

namespace: http://example.com/example.xsd

prefix: tns

description: Purpose - Define the structure of Instrument transformer details.

xml:

name: InstrumentTransformer

namespace: http://example.com/example.xsd

prefix: tns

InstrumentTransformers:

title: InstrumentTransformers

required:

- InstrumentTransformer

type: object

properties:

InstrumentTransformer:

type: array

items:

$ref: '#/components/schemas/InstrumentTransformer'

description: ''

xml: { }

description: Purpose - Parent element for list of instrument transformers.

xml:

name: InstrumentTransformers

NetworkDevice:

title: NetworkDevice

type: object

properties:

NetworkDeviceNumber:

maxLength: 12

type: string

xml:

name: NetworkDeviceNumber

NetworkDeviceLocation:

type: string

xml:

name: NetworkDeviceLocation

description: Purpose - Define the structure network device detail.

xml:

name: NetworkDevice

ConnectedMeters:

title: ConnectedMeters

type: object

properties:

SerialNumber:

type: array

items:

type: string

xml:

name: SerialNumber

description: ''

xml: { }

description: Purpose - Parent container for list of connected meters.

xml:

name: ConnectedMeters

ControlEquipment:

title: ControlEquipment

type: object

properties:

ControlEquipmentNumber:

maxLength: 12

type: string

xml:

name: ControlEquipmentNumber

ControlEquipmentType:

type: string

xml:

name: ControlEquipmentType

ControlChannel:

maxLength: 12

type: string

xml:

name: ControlChannel

ConnectedMeters:

$ref: '#/components/schemas/ConnectedMeters'

description: Purpose - Define the structure of Control Equipment detail.

xml:

name: ControlEquipment

NetworkDevices:

title: NetworkDevices

required:

- NetworkDevice

type: object

properties:

NetworkDevice:

type: array

items:

$ref: '#/components/schemas/NetworkDevice'

description: ''

xml: { }

description: Purpose - Parent container for list of network devices.

xml:

name: NetworkDevices

ControlEquipments:

title: ControlEquipments

required:

- ControlEquipment

type: object

properties:

ControlEquipment:

type: array

items:

$ref: '#/components/schemas/ControlEquipment'

description: ''

xml: { }

description: Purpose - Parent container for list of Control equipment.

xml:

name: ControlEquipments

WorkType:

title: WorkType

type: object

properties:

workSubType:

$ref: '#/components/schemas/ServiceOrderSubType'

description: ''

xml:

name: WorkType

ElectricityServiceOrderType:

title: ElectricityServiceOrderType

required:

- WorkType

type: object

properties:

WorkType:

$ref: '#/components/schemas/WorkType'

version:

type: string

xml:

name: version

attribute: true

example: r36

description: ''

xml:

name: ElectricityServiceOrderType

ElectricityServiceOrderDetails:

title: ElectricityServiceOrderDetails

required:

- CustomerConsultationRequired

type: object

properties:

CustomerConsultationRequired:

type: boolean

xml:

name: CustomerConsultationRequired

InstallationType:

$ref: '#/components/schemas/InstallationType'

SupplyPhase:

$ref: '#/components/schemas/SupplyPhase'

AverageDailyLoad:

type: integer

format: int32

xml:

name: AverageDailyLoad

CustomerType:

type: string

xml:

name: CustomerType

MeteringType:

maxLength: 240

type: string

xml:

name: MeteringType

OffPeakRequirements:

type: string

xml:

name: OffPeakRequirements

MaximumDemand:

type: integer

format: int32

xml:

name: MaximumDemand

ServiceTime:

$ref: '#/components/schemas/ServiceTimeType'

SwitchingServiceRequired:

maxLength: 80

type: string

xml:

name: SwitchingServiceRequired

ConfirmedDe-energisation:

type: boolean

xml:

name: ConfirmedDe-energisation

License:

$ref: '#/components/schemas/License'

MeterLicense:

$ref: '#/components/schemas/License'

De-energisationReason:

type: string

xml:

name: De-energisationReason

LifeSupport:

type: string

xml:

name: LifeSupport

Co-ordinationRequired:

type: string

xml:

name: Co-ordinationRequired

version:

type: string

xml:

name: version

attribute: true

example: r36

description: Purpose - Defines the data type for new connection and meter additions and alterations

xml:

name: ElectricityServiceOrderDetails

ElectricityServiceOrderNotificationData:

title: ElectricityServiceOrderNotificationData

required:

- ServiceOrderStatus

- ActualDateTime

- Product

type: object

properties:

ServiceOrderStatus:

type: string

xml:

name: ServiceOrderStatus

ResponseCode:

$ref: '#/components/schemas/SORDResponseCode'

ActualDateTime:

type: string

format: date-time

xml:

name: ActualDateTime

Product:

type: string

xml:

name: Product

version:

type: string

xml:

name: version

attribute: true

example: r36

description: Schema - Electricity

xml:

name: ElectricityServiceOrderNotificationData

ElectricityDataStream:

title: ElectricityDataStream

required:

- Suffix

type: object

properties:

Suffix:

type: string

nullable: true

xml:

name: Suffix

ProfileName:

maxLength: 10

type: string

nullable: true

xml:

name: ProfileName

AveragedDailyLoad:

type: integer

format: int32

nullable: true

xml:

name: AveragedDailyLoad

DataStreamType:

type: string

nullable: true

xml:

name: DataStreamType

Status:

type: string

nullable: true

xml:

name: Status

FromDate:

type: string

format: date

xml:

name: FromDate

ToDate:

type: string

format: date

xml:

name: ToDate

description: Purpose - container for electricity data stream information

xml:

name: ElectricityDataStream

ElectricityDataStreams:

title: ElectricityDataStreams

required:

- DataStream

type: object

properties:

DataStream:

type: array

items:

$ref: '#/components/schemas/ElectricityDataStream'

description: ''

xml: { }

description: Purpose - container for information relating to multiple electricity data streams associated with a NMI

xml:

name: ElectricityDataStreams

ElectricityMeterReadData:

title: ElectricityMeterReadData

required:

- Read

- ReadDate

- Consumption

type: object

properties:

Read:

maxLength: 15

type: string

xml:

name: Read

namespace: http://example.com/example.xsd

prefix: tns

ReadDate:

type: string

format: date

xml:

name: ReadDate

namespace: http://example.com/example.xsd

prefix: tns

Consumption:

type: number

xml:

name: Consumption

namespace: http://example.com/example.xsd

prefix: tns

description: ''

xml:

name: ElectricityMeterReadData

namespace: http://example.com/example.xsd

prefix: tns

ElectricityMeterRegisterDetail:

title: ElectricityMeterRegisterDetail

type: object

properties:

RegisterID:

maxLength: 10

type: string

xml:

name: RegisterID

NetworkTariffCode:

type: string

nullable: true

xml:

name: NetworkTariffCode

NetworkAdditionalInformation:

type: string

nullable: true

xml:

name: NetworkAdditionalInformation

UnitOfMeasure:

maxLength: 5

type: string

nullable: true

xml:

name: UnitOfMeasure

TimeOfDay:

maxLength: 10

type: string

nullable: true

xml:

name: TimeOfDay

Multiplier:

type: number

nullable: true

xml:

name: Multiplier

DialFormat:

maximum: 99.99

minimum: 0.0

type: number

nullable: true

xml:

name: DialFormat

Suffix:

type: string

nullable: true

xml:

name: Suffix

ControlledLoad:

maxLength: 100

type: string

nullable: true

xml:

name: ControlledLoad

ConsumptionType:

$ref: '#/components/schemas/MeterConsumptionType'

Demand1:

type: integer

format: int32

nullable: true

xml:

name: Demand1

Demand2:

type: integer

format: int32

nullable: true

xml:

name: Demand2

Status:

$ref: '#/components/schemas/MeterRegisterStatusCode'

DirectionIndicator:

$ref: '#/components/schemas/DirectionIndicator'

PreviousReading:

$ref: '#/components/schemas/ElectricityMeterReadData'

HighLowConsumption:

$ref: '#/components/schemas/HighLowConsumption'

RegisterIndexValue:

maxLength: 15

type: string

nullable: true

xml:

name: RegisterIndexValue

FromDate:

type: string

format: date

xml:

name: FromDate

ToDate:

type: string

format: date

xml:

name: ToDate

description: Purpose - container for information about a register within an electricity meter

xml:

name: ElectricityMeterRegisterDetail

ElectricityMeterRegisterConfiguration:

title: ElectricityMeterRegisterConfiguration

required:

- Register

type: object

properties:

Register:

type: array

items:

$ref: '#/components/schemas/ElectricityMeterRegisterDetail'

description: ''

xml: { }

description: Purpose - container for information relating to multiple electricity meter registers associated with a meter

xml:

name: ElectricityMeterRegisterConfiguration

ElectricityMeter:

title: ElectricityMeter

type: object

properties:

SerialNumber:

type: string

nullable: true

xml:

name: SerialNumber

NextScheduledReadDate:

type: string

format: date

nullable: true

xml:

name: NextScheduledReadDate

Location:

maxLength: 50

type: string

nullable: true

xml:

name: Location

Hazard:

maxLength: 12

type: string

nullable: true

xml:

name: Hazard

InstallationTypeCode:

maxLength: 8

type: string

nullable: true

xml:

name: InstallationTypeCode

Route:

maxLength: 12

type: string

nullable: true

xml:

name: Route

Use:

maxLength: 10

type: string

nullable: true

xml:

name: Use

Point:

maxLength: 2

type: string

nullable: true

xml:

name: Point

Manufacturer:

maxLength: 15

type: string

nullable: true

xml:

name: Manufacturer

Model:

maxLength: 12

type: string

nullable: true

xml:

name: Model

TransformerLocation:

maxLength: 30

type: string

nullable: true

xml:

name: TransformerLocation

TransformerType:

maxLength: 20

type: string

nullable: true

xml:

name: TransformerType

TransformerRatio:

maxLength: 20

type: string

nullable: true

xml:

name: TransformerRatio

Constant:

maxLength: 12

type: string

nullable: true

xml:

name: Constant

LastTestDate:

type: string

format: date

nullable: true

xml:

name: LastTestDate

NextTestDate:

type: string

format: date

nullable: true

xml:

name: NextTestDate

TestResultAccuracy:

type: number

nullable: true

xml:

name: TestResultAccuracy

TestResultNotes:

maxLength: 50

type: string

nullable: true

xml:

name: TestResultNotes

TestPerformedBy:

maxLength: 20

type: string

nullable: true

xml:

name: TestPerformedBy

MeasurementType:

maxLength: 4

type: string

nullable: true

xml:

name: MeasurementType

ReadTypeCode:

maxLength: 4

type: string

nullable: true

xml:

name: ReadTypeCode

RemotePhoneNumber:

maxLength: 12

type: string

nullable: true

xml:

name: RemotePhoneNumber

CommunicationsEquipmentType:

maxLength: 4

type: string

nullable: true

xml:

name: CommunicationsEquipmentType

CommunicationsProtocol:

maxLength: 50

type: string

nullable: true

xml:

name: CommunicationsProtocol

DataConversion:

maxLength: 50

type: string

nullable: true

xml:

name: DataConversion

DataValidations:

maxLength: 50

type: string

nullable: true

xml:

name: DataValidations

Status:

$ref: '#/components/schemas/MeterStatusCode'

Program:

maxLength: 30

type: string

nullable: true

xml:

name: Program

AdditionalSiteInformation:

maxLength: 100

type: string

nullable: true

xml:

name: AdditionalSiteInformation

EstimationInstructions:

maxLength: 50

type: string

nullable: true

xml:

name: EstimationInstructions

AssetManagementPlan:

maxLength: 50

type: string

nullable: true

xml:

name: AssetManagementPlan

CalibrationTables:

maxLength: 50

type: string

nullable: true

xml:

name: CalibrationTables

UserAccessRights:

maxLength: 50

type: string

nullable: true

xml:

name: UserAccessRights

Password:

maxLength: 20

type: string

nullable: true

xml:

name: Password

TestCalibrationProgram:

maxLength: 50

type: string

nullable: true

xml:

name: TestCalibrationProgram

KeyCode:

maxLength: 8

minLength: 1

type: string

description: Identifies the type of key and/or its location to access a meter at a site. Required in standing data as the Franchise Market Retailer still carries responsibility for performing site activities for some areas of the network.

nullable: true

xml:

name: KeyCode

CustomerFundedMeter:

type: boolean

description: 'Identifies the customer has funded the purchase of the meter, leading to a reduction in the meter charges allocated to the incumbent retailer. Required for the network bill reconciliation. Also has an impact on contracts offered to customers by prospective retailers.'

nullable: true

xml:

name: CustomerFundedMeter

DisplayType:

maxLength: 20

minLength: 1

type: string

description: 'In WA, readings are collected from some customers by means of self-reader cards that have blank dials printed on them mimicking the layout of the meter display. This attribute defines the type of display on the meter and is used to define what style of self-read card is sent to the Enduse Customer when a retailer requests a self-read card arrangement. It also helps define the type of screen to display for internet captured readings.'

nullable: true

xml:

name: DisplayType

SupplyPhase:

$ref: '#/components/schemas/SupplyPhase'

GenerationType:

type: string

xml:

name: GenerationType

GeneralSupply:

type: string

xml:

name: GeneralSupply

InstrumentTransformers:

$ref: '#/components/schemas/InstrumentTransformers'

ControlEquipments:

$ref: '#/components/schemas/ControlEquipments'

RegisterConfiguration:

$ref: '#/components/schemas/ElectricityMeterRegisterConfiguration'

FromDate:

type: string

format: date

xml:

name: FromDate

ToDate:

type: string

format: date

xml:

name: ToDate

description: Purpose - container for electricity meter information

xml:

name: ElectricityMeter

ElectricityMeters:

title: ElectricityMeters

required:

- Meter

type: object

properties:

Meter:

type: array

items:

$ref: '#/components/schemas/ElectricityMeter'

description: ''

xml: { }

description: Purpose - container for information relating to multiple electricity meters associated with a NMI

xml:

name: ElectricityMeters

ElectricityStandingData:

title: ElectricityStandingData

type: object

properties:

MasterData:

type: string

xml:

name: MasterData

RoleAssignments:

type: string

xml:

name: RoleAssignments

DataStreams:

$ref: '#/components/schemas/ElectricityDataStreams'

MeterRegister:

$ref: '#/components/schemas/ElectricityMeters'

version:

type: string

xml:

name: version

attribute: true

example: r36

description: "Purpose - Standing data associated with an electricity NMI.\nDetail - The structure supports multiple data streams, meters and role assignments. Note that because this type is derived from the NMIStandingData type, it begins with the elements defined for that type, notably the NMI."

xml:

name: ElectricityStandingData

NMIConfigurationType:

title: NMIConfigurationType

required:

- NMISuffix

type: object

properties:

NMISuffix:

type: array

items:

type: string

xml:

name: NMISuffix

description: ''

xml: { }

description: ''

xml:

name: NMIConfigurationType

ElectricityProvideMeterRequestData:

title: ElectricityProvideMeterRequestData

required:

- NMIStandingData

- RequestPeriod

type: object

properties:

NMIStandingData:

type: string

xml:

name: NMIStandingData

RequestPeriod:

type: string

xml:

name: RequestPeriod

version:

type: string

xml:

name: version

attribute: true

example: r17

description: The Meter Data Delivery transaction exchange allows for the provision of interval and consumption meter data and profile shapes.

xml:

name: ElectricityProvideMeterRequestData

ElectricityVerifyMeterRequestData:

title: ElectricityVerifyMeterRequestData

required:

- NMIStandingData

- InvestigationCode

- InvestigationDescription

- RequestPeriod

type: object

properties:

NMIStandingData:

type: string

xml:

name: NMIStandingData

InvestigationCode:

type: string

xml:

name: InvestigationCode

InvestigationDescription:

type: string

xml:

name: InvestigationDescription

RequestPeriod:

type: string

xml:

name: RequestPeriod

Current:

$ref: '#/components/schemas/ElectricityMeterReadData'

NMIConfiguration:

$ref: '#/components/schemas/NMIConfigurationType'

version:

type: string

xml:

name: version

attribute: true

example: r36

description: Purpose - used in MeterDataVerifyRequest transaction based on NMITransactionBase

xml:

name: ElectricityVerifyMeterRequestData

SiteRequestReason:

title: SiteRequestReason

enum:

- New Retailer for site

- Records old and need to be updated

- No Access details on file for NMI

- No Hazard Details on file for NMI

- Site Visit Required

- Other

type: string

description: "Purpose - Define the fixed Reasons used to request site access details\r\n Version 1.0 additions\r\n - New Retailer for site \r\n - Records old and need to be updated \r\n - No Access details on file for NMI \r\n - No Hazard Details on file for NMI \r\n - Site Visit Required \r\n - Other"

xml:

name: SiteRequestReason

ReasonForInter:

title: ReasonForInter

enum:

- Meter Exchange - Individual

- Meter Exchange - Rollout

- Meter Replacement - Family Maintenance

- Meter Test

- Meter Fault Investigation

- Distribution Works

- Other

type: string

description: "Purpose - Define the fixed Reasons for interruption\r\n Version 1.0 additions\r\n - Meter Exchange - Individual \r\n - Meter Exchange - Rollout \r\n - Meter Replacement - Family Maintenance \r\n - Meter Test \r\n - Meter Fault Investigation \r\n - Distribution Works \r\n - Other \r\n Version 1.1 update\r\n - Replace en dash in Meter Replacement - Family Maintenance with proper hyphen due to UTF-8 limitation."

xml:

name: ReasonForInter

ReasonForNotice:

title: ReasonForNotice

enum:

- Meter Family Failure

- Accuracy Failure

- Timeswitch/Controlled Load Failure

- Contactor Failure

- No Display

- Communication Failure

- Meter Verification

- Malfunction

- Area Event

- Metrology Threshold Breach

- Meter Bypassed

- Physical Damage

- Theft/Tampering

- Other

type: string

description: "Purpose - Define the fixed Reasons for Notice\r\n Version 1.0 additions\r\n - Meter Family Failure \r\n - Accuracy Failure \r\n - Timeswitch/Controlled Load Failure\r\n - Contactor Failure \r\n - No Display \r\n - Communication Failure \r\n - Meter Verification \r\n - Malfunction \r\n - Area Event \r\n - Metrology Threshold Breach \r\n - Meter Bypassed \r\n - Physical Damage \r\n - Theft/Tampering \r\n - Other"

xml:

name: ReasonForNotice

SupplyOff:

title: SupplyOff

enum:

- Remove Fuse

- Remote

- Local Meter Disconnection

- Pillar-Box Pit Or Pole-Top

type: string

description: "Purpose - Define the fixed Supply Off list\r\n Version 1.0 additions\r\n - Remove Fuse \r\n - Remote \r\n - Local Meter Disconnection \r\n - Pillar-Box Pit Or Pole-Top"

xml:

name: SupplyOff

EnergisationStatus:

title: EnergisationStatus

enum:

- Active

- Not Connected

- Deenergised Before Meter

- Deenergised At Meter

- Deenergised After Meter

type: string

description: "The energisation status of the metering installation \r\n Version 1.0 additions\r\n - Active \r\n - Not Connected \r\n - Deenergised Before Meter \r\n - Deenergised At Meter \r\n - Deenergised After Meter"

xml:

name: EnergisationStatus

PrimaryVoltage:

title: PrimaryVoltage

enum:

- 230V

- 400V

- 11KV

- 22KV

- 33KV

- 66KV

- 132KV

- Other HV

type: string

description: "Indicates primary network voltage the metering installation is connected to\r\n Version 1.0 additions\r\n - 230V \r\n - 400V \r\n - 11KV \r\n - 22KV \r\n - 33KV \r\n - 66KV \r\n - 132KV \r\n - Other HV"

xml:

name: PrimaryVoltage

GenerationType:

title: GenerationType

enum:

- Net

- Gross

- None

type: string

description: "Indicates whether the meter is configured to measure the import of energy\r\n Version 1.0 additions\r\n - Net \r\n - Gross \r\n - None"

xml:

name: GenerationType

MeterEquipmentType:

title: MeterEquipmentType

enum:

- Basic Meter

- Interval Meter

- Network Device

- Control Equipment

- Instrument Transformer

type: string

description: "Indicates the meter equipment type\r\n Version 1.0 additions\r\n - Basic Meter \r\n - Interval Meter \r\n - Network Device \r\n - Control Equipment \r\n - Instrument Transformer"

xml:

name: MeterEquipmentType

DeviceLocation:

title: DeviceLocation

enum:

- Before Meter

- After Meter

type: string

description: "Indicates the network device location\r\n Version 1.0 additions\r\n - Before Meter \r\n - After Meter"

xml:

name: DeviceLocation

ControlEquipmentType:

title: ControlEquipmentType

enum:

- Internal Relay

- External Relay

- Internal Time Switch

- External Time Switch

type: string

description: "Indicates the control equipmeht type\r\n Version 1.0 additions\r\n - Internal Relay \r\n - External Relay \r\n - Internal Time Switch \r\n - External Time Switch"

xml:

name: ControlEquipmentType

InstrumentTransformerType:

title: InstrumentTransformerType

enum:

- CT

- VT

type: string

description: "Indicates instrument transformer type for the meter\n\n Version 1.0 additions\n\n - CT\n\n - VT"

xml:

name: InstrumentTransformerType

De-energisationReason:

title: De-energisationReason

enum:

- Customer Requested

- Move Out

- Non-Payment (DNP)

- Unauthorised Usage (DNI)

- Illegal Usage

- No Access

- Safety

- Defect

- Site Works

- Breach of Contract

- Other

type: string

description: "Purpose - Define the fixed Reasons used to request De-energisation\r\n Version 1.0 additions \r\n - Customer Requested \r\n - Move Out \r\n - Non-Payment (DNP) \r\n - Unauthorised Usage (DNI) \r\n - Illegal Usage \r\n - No Access \r\n - Safety \r\n - Defect \r\n - Site Works \r\n - Breach of Contract \r\n - Other"

xml:

name: De-energisationReason

ElecIndexInvestigationCode:

title: ElecIndexInvestigationCode

enum:

- Confirm Reading For Vacant Site

- Confirm Zero Consumption

- Incomplete Data

- Invalid MDFF Data

- Invalid Standing Data

- Missing Datastream

- Require Actual Reading or Substitute

- Require Final Substitute

- Scheduled Reading Required

- Service Order Reading Required

- Verify High Reading

- Verify Low Reading

- Other

- Verify/Missing Register

- Require Estimate Data

- Meter Churn

type: string

description: Schema - Elec

xml:

name: ElecIndexInvestigationCode

LifeSupportEquipmentType:

title: LifeSupportEquipmentType

enum:

- Oxygen Concentrator

- Intermittent Peritoneal Dialysis Machine

- Kidney Dialysis Machine

- Chronic Positive Airways Pressure Respirator

- Crigler Najjar Syndrome Phototherapy Equipment

- Ventilator For Life Support

- Other

type: string

description: Purpose - Define the fixed Life support equipment types used in Life Support notification

xml:

name: LifeSupportEquipmentType

AustralianFlatOrUnitType:

title: AustralianFlatOrUnitType

enum:

- ANT

- APT

- ATM

- BBQ

- BLCK

- BTSD

- BLDG

- BNGW

- CAGE

- CARP

- CARS

- CLUB

- COOL

- CTGE

- DUP

- F

- FY

- GRGE

- HALL

- HSE

- KSK

- LBBY

- LOFT

- LOT

- LSE

- MSNT

- MB

- OFF

- PTHS

- REAR

- RESV

- RM

- SE

- SEC

- SHED

- SHOP

- SHRM

- SIGN

- SITE

- SL

- STOR

- STR

- STU

- SUBS

- TNCY

- TNHS

- TWR

- U

- VLLA

- VLT

- WARD

- WE

- WKSH

type: string

description: "Purpose - Define flat or unit types as per Australian Standard AS4590:2006\r\n\r\n Version 4.0 additions\r\n -- FLAT - FLAT\r\n -- ANT - ANTENNA\r\n -- ATM - AUTOMATED TELLER MACHINE\r\n -- BBQ - BARBEQUE\r\n -- BLCK - BLOCK\r\n -- BTSD - BOATSHED\r\n -- BLDG - BUILDING\r\n -- BNGW - BUNGALOW\r\n -- CAGE - CAGE\r\n -- CARP - CARPARK\r\n -- CARS - CARSPACE\r\n -- CLUB - CLUB\r\n -- COOL - COOLROOM\r\n -- DUPL - DUPLEX\r\n -- FCTY - FACTORY\r\n -- GRGE - GARAGE\r\n -- HALL - HALL\r\n -- LBBY - LOBBY\r\n -- LOFT - LOFT\r\n -- LOT - LOT\r\n -- LSE - LEASE\r\n -- MBTH - MARINE BERTH\r\n -- OFFC - OFFICE\r\n -- REAR - REAR\r\n -- ROOM - ROOM\r\n -- RESV - RESERVE\r\n -- SEC - SECTION\r\n -- SHRM - SHOWROOM\r\n -- SIGN - SIGN\r\n -- STLL - STALL\r\n -- STOR - STORE\r\n -- STR - STRATA UNIT\r\n -- SUBS - SUBSTATION\r\n -- TNCY - TENANCY\r\n -- TWR - TOWER\r\n -- UNIT - UNIT\r\n -- VLT - VAULT\r\n -- WHSE - WAREHOUSE\r\n -- WKSH - WORKSHOP\r\n Version 5.0 additions\r\n Element AustralianFlatOrUnitType has been restricted to 4 characters\r\n \r\n Version 6.0 deletions because of duplicate Australian flat or unit types\r\n -- DUPL - DUPLEX \r\n -- FCTY - FACTORY\r\n -- FLAT - FLAT\r\n -- MBTH - MARINE BERTH\r\n -- OFFC - OFFICE\r\n -- ROOM - ROOM\r\n -- STLL - STALL\r\n -- UNIT - UNIT\r\n -- WHSE - WAREHOUSE"

xml:

name: AustralianFlatOrUnitType

AustralianFloorOrLevelType:

title: AustralianFloorOrLevelType

enum:

- B

- FL

- G

- L

- LB

- LG

- M

- OD

- P

- UG

- RT

- SB

type: string

description: "Purpose - Define floor or level types as per Australian Standard AS4590:2006\n\n\n\n Version 4.0 additions\n\n -- LB - LOBBY\n\n -- OD - OBSERVATION DECK\n\n -- P - PARKING\n\n -- RT - ROOFTOP\n\n -- SB - SUB-BASEMENT\n\n Version 5.0 additions\n\n -- Element AustralianFloorOrLevelType has been restricted to 2 characters"

xml:

name: AustralianFloorOrLevelType

AustralianStreetType:

title: AustralianStreetType

enum:

- ACCS

- ALLY

- ALWY

- AMBL

- ANCG

- APP

- ARC

- ART

- AVE

- BASN

- BAY

- BCH

- BEND

- BLK

- BVD

- BOWL

- BRCE

- BRAE

- BRK

- BDGE

- BDWY

- BROW

- BYPA

- BYWY

- CAUS

- CRSE

- CTR

- CNWY

- CH

- CIR

- CLT

- CCT

- CRCS

- CL

- CLDE

- CMMN

- CON

- CPS

- CNR

- CSO

- CT

- CTYD

- COVE

- CRES

- CRST

- CRSS

- CRSG

- CRD

- COWY

- CUWY

- CDS

- CTTG

- DALE

- DELL

- DEVN

- DIP

- DSTR

- DR

- DRWY

- EDGE

- ELB

- END

- ENT

- ESP

- EST

- EXP

- EXTN

- FAWY

- FTRK

- FITR

- FLAT

- FOLW

- FTWY

- FSHR

- FORM

- FWY

- FRNT

- FRTG

- GAP

- GDN

- GDNS

- GTE

- GTES

- GTWY

- GLD

- GLEN

- GRA

- GRN

- GRND

- GR

- GLY

- HETH

- HTS

- HRD

- HUB

- HWY

- HILL

- INTG

- INTN

- ISLD

- JNC

- KEY

- LDG

- LANE

- LNWY

- LEES

- LINE

- LINK

- LT

- LKT

- LOOP

- LWR

- MALL

- MNDR

- MEW

- MEWS

- MWY

- MT

- NOOK

- OTLK

- PDE

- PARK

- PKLD

- PKWY

- PART

- PASS

- PATH

- PHWY

- PIAZ

- PL

- PLAT

- PLZA

- PKT

- PNT

- PORT

- PROM

- PRST

- PSGE

- QUAD

- QDGL

- QDRT

- QY

- QYS

- RMBL

- RAMP

- RNGE

- RCH

- RES

- REST

- RTT

- RIDE

- RDGE

- RGWY

- ROWY

- RING

- RISE

- RVR

- RVWY

- RVRA

- RD

- RDS

- RDSD

- RDWY

- RNDE

- RSBL

- RTY

- RND

- RTE

- RTRN

- ROW

- RUE

- RUN

- SWY

- SDNG

- SLPE

- SND

- SPUR

- SQ

- STRS

- SHWY

- STPS

- STRA

- ST

- STRP

- SBWY

- TARN

- TCE

- THOR

- TLWY

- TOP

- TOR

- TWRS

- TRK

- TRL

- TRLR

- TRI

- TKWY

- TURN

- UPAS

- UPR

- VALE

- VDCT

- VIEW

- VLL

- VLLS

- VSTA

- WADE

- WALK

- WKWY

- WAY

- WHRF

- WOOD

- WTRS

- WYND

- YARD

- ACRE

- ARTL

- BA

- BANK

- BRAN

- BRET

- BVDE

- BWLK

- CLR

- CNCD

- CNN

- CRF

- CRK

- CUT

- DASH

- DENE

- DIV

- DOCK

- DOM

- DOWN

- DWNS

- ESMT

- FBRK

- FK

- FLNE

- FLTS

- FORD

- HLLW

- HRBR

- HVN

- INLT

- KEYS

- KNOL

- LADR

- LEAD

- LEDR

- LYNN

- MANR

- MART

- MEAD

- MILE

- NTH

-

- OTLT

- OVAL

- PLMS

- PRDS

- PREC

- PSLA

- REEF

- ROWE

- RSNG

- SHUN

- SKLN

- STAI

- STH

- STRT

- THRU

- TMWY

- TUNL

- TVSE

- VLGE

- VLLY

- VUE

- VWS

- WDS

- WTWY

type: string

description: Purpose - Define street types as per Australian Standard AS4590:2006.

xml:

name: AustralianStreetType

AustralianStreetSuffix:

title: AustralianStreetSuffix

enum:

- CN

- DE

- E

- EX

- IN

- LR

- ML

- N

- NE

- NW

- OF

- ON

- OP

- OT

- S

- SE

- SW

- UP

- W

type: string

description: "Purpose - Define street suffixes as per Australian Standard AS4590:2006\n\n\n\n Version 4.0 additions\n\n -- DE - DEVIATION\n\n -- ML - MALL\n\n -- IN - INNER\n\n -- OF - OFF\n\n -- ON - ON\n\n -- OP - OVERPASS\n\n -- OT - OUTER\n\n -- Version 5.0 additions\n\n -- Element AustralianStreetSuffix has been restricted to 2 characters"

xml:

name: AustralianStreetSuffix

AustralianPostalDeliveryType:

title: AustralianPostalDeliveryType

enum:

- CARE PO

- CMA

- CMB

- CPA

- GPO BOX

- LOCKED BAG

- MS

- PO BOX

- PRIVATE BAG

- RSD

- RMB

- RMS

type: string

description: "Purpose - Define postal delivery types as per Australian Standard AS4590:2006\nDetail - There are several additions in this list over and above what is in AS4590:2006. The extra types have been derived from the Australia Post AMAS standard.\n\n -- Version 5.0 additions \n\n-- Element AustralianPostalDeliveryType has been restricted to 11 characters"

xml:

name: AustralianPostalDeliveryType

MarketReportNamesType:

title: MarketReportNamesType

enum:

- DPRExtractRpt

- BasicConsumptionRpt

- MeterReadingToUserRpt

- MeterReadingToUserNonSTTMRpt

- ChangeOfStandingDataRpt

- CustomerChurnRpt

- EstimationResultsToUserRpt

- RevisedEstimationResultsToUserRpt

- ReconciliationResultsRpt

- ForecastingDataRpt

- ApportionmentPercentageRpt

- DailyNSLRpt

- STTMPipelineAllocationDataRpt

- DailyToSTTMRpt

- DailyToUserRpt

- WeeklyToSTTMRpt

- MonthlyToSTTMRpt

- PreMonthlyToSTTMRpt

- FinMonthlyToSTTMRpt

- RevMonthlyToSTTMRpt

- MonthlyToUserRpt

- TotalGasInjectedRpt

- WeeklyToUserRpt

- EstimationResultsToNWORpt

- RevisedEstimationResultsToNWORpt

- MatchedImbalanceTradeRpt

- ExpiredImbalanceTradeRpt

- ParticipantImbalanceAmountRpt

- RevisedImbalanceRpt

- T298NewStreetListingRpt

- T299CompleteMIRNListingRpt

- T900CustomerSiteDetailsMonthlyRpt

- T2125AncillaryChargeListingRpt

- T2130HeatingValueDailyRpt

- T2131PublishedHeatingValueDailyRpt

- T2145HaulageRightsRpt

- T2270TotalCLPRpt

- T2275TotalCLPRpt

- T2305EffectiveDegreeDayRpt

- T2420QuotationStatusRpt

- T2421QuotationSubmissionRpt

- T2422QuotationNotificationRpt

- T2423QuotationAcceptedRpt

- T2424QuotationAvailableRpt

type: string

description: "Purpose - Define the Name of any report that accepts CSV Report in the generic CSVReport format.\r\nElement MarketReportNames has been restricted to 80 characters. \r\n\r\n Version 7.0 additions\r\n Added MarketReportNamesType for defining Market Report Names"

xml:

name: MarketReportNamesType

EventClass:

title: EventClass

enum:

- Message

- Application

- Processing

type: string

description: "Purpose - Provide a high level categorisation of events\nDetail - Message events pertain to the structure and delivery of aseXML messages.\nApplication events are generated by the applications communicating via aseXML.\nProcessing events reflect environmental issues associated with running applications."

xml:

name: EventClass

EventSeverity:

title: EventSeverity

enum:

- Information

- Warning

- Error

- Fatal

type: string

description: "Purpose - Provide an indication as to the action required as a result of receiving an event\nDetail - The severity dictates the further processing possible after receiving the event."

xml:

name: EventSeverity

EventCode:

title: EventCode

type: object

properties:

description:

type: string

xml:

name: description

attribute: true

description: "Purpose - Provide a numeric indentification of the event that has occurred\nDetail - The aseXML guidelines define a set of common codes, as well as ranges for application specfiic errors. Where the receiving system does not know the textual definition of the code, the description attribute should be provided with the code, as per the aseXML guidelines."

xml:

name: EventCode

EventSupportedVersions:

title: EventSupportedVersions

required:

- Version

type: object

properties:

Version:

type: array

items:

pattern: 'r[0-9]*|r[0-9]*_[a-z][0-9]*'

type: string

xml:

name: Version

description: ''

xml: { }

description: "Purpose - Provide the set of versions supported for a particular transaction\nDetail - Where an unsupported version of a supported transaction is received, the receiver should indicate those versions that are supported, allowing the receiver to choose a compatible transaction version."

xml:

name: EventSupportedVersions

Event:

title: Event

required:

- Code

type: object

properties:

class:

$ref: '#/components/schemas/EventClass'

severity:

$ref: '#/components/schemas/EventSeverity'

Code:

$ref: '#/components/schemas/EventCode'

KeyInfo:

type: string

xml:

name: KeyInfo

Context:

maxLength: 80

type: string

xml:

name: Context

Explanation:

type: string

xml:

name: Explanation

SupportedVersions:

$ref: '#/components/schemas/EventSupportedVersions'

description: "Purpose - Common format used to report events\nDetail - aseXML encourages the use of events in transactions to report status information. They are also used in message and transaction acknowledgements. Where possible, an element name of \"Event\" should be used."

xml:

name: Event

TransactionGroup:

title: TransactionGroup

enum:

- CATS

- MDMT

- MSGS

- NMID

- FLTS

- SORD

- NETB

- MTRD

- CUST

- NOTF

- SITE

- FLDW

- OUTG

- BAR

- NMIF

- MKTW

- HSMD

- OWNP

- EMMS

- ERFT

- IAIT

- MRSR

- OWNX

- NPNX

- PTPE

- HMGT

type: string

description: Purpose - Provide the transaction group that all contained transactions or transaction acknowledgments belong. Detail- The target application is at liberty to reject any transactions within the message that do not belong to the stated TransactionGroup.

xml:

name: TransactionGroup

TransactionPriority:

title: TransactionPriority

enum:

- High

- Medium

- Low

type: string

description: "Purpose - Provide the processing priority desired by the sender\nDetail - The sender can indicate their preference in terms of timeliness of processing for the payload. It is left to the discretion of the receiver to determine whether and how to honour the requested priority.\nUnless specified in a B2B Procedure - All fully tagged aseXML Transactions are sent as medium priority and All aseXML wrapped CSV Transactions are sent as low priority."

xml:

name: TransactionPriority

EnergyMarket:

title: EnergyMarket

enum:

- AATELEC

- ACTELEC

- NEM

- NSWELEC

- NTELEC

- QLDELEC

- SAELEC

- TASELEC

- VICELEC

- WAELEC

- AATGAS

- ACTGAS

- NSWGAS

- NTGAS

- QLDGAS

- SAGAS

- TASGAS

- VICGAS

- WAGAS

- NSWACTGAS

type: string

description: "Purpose -Indicate the energy market to which the message belongs\nDetail - Markets are currently defined for the National Electricity Market, the NSW Gas Market and the Victorian Gas Market. NOTE- Default value of NEM is currently used in the market"

xml:

name: EnergyMarket

Header:

title: Header

required:

- From

- To

- MessageID

- MessageDate

- TransactionGroup

type: object

properties:

From:

type: string

description: From field

example: ENERGYCO1

To:

type: string

description: To field

example: INTEGP

MessageID:

maxLength: 36

minLength: 1

type: string

description: MessageId field

example: hsmdh_hsm_20070216123200123

MessageDate:

type: string

description: MessageDate Field

format: date-time

example: '2005-10-14T15:02:35.0000000+00:00'

TransactionGroup:

$ref: '#/components/schemas/TransactionGroup'

Priority:

$ref: '#/components/schemas/TransactionPriority'

SecurityContext:

maxLength: 15

type: string

xml:

name: SecurityContext

Market:

$ref: '#/components/schemas/EnergyMarket'

description: "Purpose - Define the contents of the aseXML message header\nDetail - Every aseXML message carries a header. It is used to indicate information pertaining to the message as a whole.\nWhen not provided, a default value of NEM will be assumed for the market."

xml:

name: Header

TransactionCode:

title: TransactionCode

enum:

- Add Meter or Register

- Customer Transfer

- Technical Data Change

- Remove Meter

- Special Read

- On Request

type: string

description: ''

xml:

name: TransactionCode

MeterReadingGroupType:

title: MeterReadingGroupType

enum:

- NMI

- Site

- Route

type: string

description: 'This is a method of grouping meters that belong to either one end-use customer (NMI), one Builder via all portable meters being defined as belonging to one Site (the builders address even though these meters are temporarily installed at building sites), or finally for a large company (eg Water Corp) by grouping all the Meters into one or more Routes (Route ID). Values used by WA market are NMI, SITE or ROUTE.'

xml:

name: MeterReadingGroupType

ResponsePayload:

title: ResponsePayload

required:

- PayloadContent

type: object

properties:

RecordCount:

type: string

xml:

name: RecordCount

PayloadContent:

type: object

nullable: true

xml:

name: PayloadContent

description: ''

xml:

name: ResponsePayload

MeterSerialNumbers:

title: MeterSerialNumbers

required:

- MeterSerialNumber

type: object

properties:

MeterSerialNumber:

type: array

items:

type: string

xml:

name: MeterSerialNumber

description: ''

xml: { }

description: Collection of affected Meters

xml:

name: MeterSerialNumbers

UserDefData:

title: UserDefData

type: object

properties:

UserDef1:

maxLength: 240

type: string

xml:

name: UserDef1

UserDef2:

maxLength: 240

type: string

xml:

name: UserDef2

UserDef3:

maxLength: 240

type: string

xml:

name: UserDef3

UserDef4:

maxLength: 240

type: string

xml:

name: UserDef4

UserDef5:

maxLength: 240

type: string

xml:

name: UserDef5

UserDef6:

maxLength: 240

type: string

xml:

name: UserDef6

UserDef7:

maxLength: 240

type: string

xml:

name: UserDef7

UserDef8:

maxLength: 240

type: string

xml:

name: UserDef8

UserDef9:

maxLength: 240

type: string

xml:

name: UserDef9

UserDef10:

maxLength: 240

type: string

xml:

name: UserDef10

description: User definitions block

xml:

name: UserDefData

RemoteServiceData:

title: RemoteServiceData

required:

- RequestID

- NMI

- ServiceType

- RequestCode

- ResponseFormat

type: object

properties:

RequestID:

maxLength: 15

type: string

xml:

name: RequestID

NMI:

$ref: '#/components/schemas/NMI'

Meters:

$ref: '#/components/schemas/MeterSerialNumbers'

ServiceType:

maxLength: 40

type: string

xml:

name: ServiceType

RequestCode:

maxLength: 40

type: string

xml:

name: RequestCode

ResponseFormat:

maxLength: 20

type: string

description: 'Used to define the response payload format, for example, CSV, XML, MDFF, BASE64.'

xml:

name: ResponseFormat

FromDateTime:

type: string

format: date-time

xml:

name: FromDateTime

ToDateTime:

type: string

format: date-time

xml:

name: ToDateTime

UserDef:

$ref: '#/components/schemas/UserDefData'

description: Define remote service request parent data components.

xml:

name: RemoteServiceData

RemoteServiceResponseData:

title: RemoteServiceResponseData

type: object

properties:

ResponsePayload:

$ref: '#/components/schemas/ResponsePayload'

Event:

$ref: '#/components/schemas/Event'

Product:

type: string

xml:

name: Product

description: 'Recipient responds to the Initiator with a Remote Service Response. Prior to commencing the Remote Service Process, the Initiator and Recipient must agree the scope of the service(s) and the format of the response to the service request.'

xml:

name: RemoteServiceResponseData

MeterReadingGroup:

title: MeterReadingGroup

required:

- MeterReadingGroupId

type: object

properties:

context:

$ref: '#/components/schemas/MeterReadingGroupType'

MeterReadingGroupId:

minLength: 1

type: string

xml:

name: MeterReadingGroupId

description: ''

xml:

name: MeterReadingGroup

MeterDataVerifyRequest:

title: MeterDataVerifyRequest

required:

- VerifyRequestData

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r9

VerifyRequestData:

type: string

xml:

name: VerifyRequestData

description: 'Initiator queries MDFF data to ensure they have the latest version. Normally, after a ProvideMeterDataRequest.a'

xml:

name: MeterDataVerifyRequest

MeterDataMissingNotification:

title: MeterDataMissingNotification

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r14

MissingMeterData:

type: string

xml:

name: MissingMeterData

CSVMissingMeterData:

type: string

xml:

name: CSVMissingMeterData

description: Requests the latest MDFF data held by the Recipient

xml:

name: MeterDataMissingNotification

MeterDataNotification:

title: MeterDataNotification

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r25

RecordCount:

type: string

xml:

name: RecordCount

CSVConsumptionData:

type: string

description: "Purpose - Deliver consumption meter data (also called basic meter data).\nDetail - The following column headings will be employed in the default order as listed\nNEM\n NMI - 10 characters\n Suffix - 2 characters\n MDPVersionDate - YYYYMMDDHHMMSS\n FromDate - YYYYMMDD\n ToDate - YYYYMMDD\n Status - A or E\n Reading - in kiloWattHours, no leading/trailing zeros\n \nB2B ELECTRICITY Contains embedded data in CSV format for basic meters. This is the standard file format for basic meter data defined in a valid MDFF."

nullable: true

xml:

name: CSVConsumptionData

CSVIntervalData:

type: string

description: 'Standard MDFF file format with data for Interval Meters only, not Accumulation Meter data or a mixture of the two.'

nullable: true

xml:

name: CSVIntervalData

MeterReadingGroup:

$ref: '#/components/schemas/MeterReadingGroup'

description: Provide MDFF data to an MDP. NOTE - Only CSVConsumptionData or CSVIntervalData used. You can only deliver one type of meter data within a transaction.

xml:

name: MeterDataNotification

RemoteServiceRequest:

title: RemoteServiceRequest

required:

- RemoteServiceData

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r36

RemoteServiceData:

$ref: '#/components/schemas/RemoteServiceData'

description: 'Prior to commencing the use of the Remote Service Process the Initiator and Recipient must agree the scope of the service(s) and the format of the response to the service request. Submit Remote Service Request details to the service provider. Used to remotely retrieve information for- A specified metering installation, A reading on demand,A scheduled reading to commence, end or change.'

xml:

name: RemoteServiceRequest

RemoteServiceResponse:

title: RemoteServiceResponse

required:

- RemoteServiceData

- ResponseData

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r36

RemoteServiceData:

$ref: '#/components/schemas/RemoteServiceData'

ResponseData:

$ref: '#/components/schemas/RemoteServiceResponseData'

description: Prior to commencing the use of the Remote Service Process the Initiator and Recipient must agree the scope of the service(s) and the format of the response to the service request.

xml:

name: RemoteServiceResponse

ChargeType:

title: ChargeType

enum:

- NUOS Charge

- Event Based Charge

- GSL Credit Charge

- Excluded Service Charge

- Interest Charge

type: string

description: 'Purpose - Define Charge Types as used by LNSPs. The following types of charges: NUoS, excluded service, GSL credit payments and meter reading are identified by this code".'

xml:

name: ChargeType

DisputeReasonCode:

title: DisputeReasonCode

enum:

- BPDF

- CDFG

- CDFO

- CDFP

- CDFS

- DUPL

- ESDF

- ESDP

- GPDF

- INTP

- LRTB

- LRTD

- LUKN

- NDFG

- NDFO

- NDFP

- NDFS

- NNMI

- ODIF

- OTHR

- PDIF

- QDFG

- QNTY

- RATE

- SCDF

- SDIF

- TARF

type: string

description: "Purpose - Define Dispute reason codes. \r\n This is a combination of Gas and NEM. \r\n Do we need a separate list for each jurisdiction?"

xml:

name: DisputeReasonCode

ReadingType:

title: ReadingType

enum:

- Actual

- Substitute

type: string

description: Purpose - Define meter reading type used in calculating the charged amount.

xml:

name: ReadingType

AdjustmentIndicator:

title: AdjustmentIndicator

enum:

- Cancelled

- New

- Rebilled

type: string

description: Purpose - Define the adjustment action type.

xml:

name: AdjustmentIndicator

DisputeStatusCode:

title: DisputeStatusCode

enum:

- Open

- Cancelled

- Closed

type: string

description: Purpose - Define the adjustment action type.

xml:

name: DisputeStatusCode

GSTDetails:

title: GSTDetails

required:

- BusinessName

- ABN

type: object

properties:

BusinessName:

$ref: '#/components/schemas/BusinessName'

ABN:

maxLength: 14

type: string

xml:

name: ABN

description: Purpose - Defines the GST related details of the Retailer used in the Tax Invoice

xml:

name: GSTDetails

GSTData:

title: GSTData

type: object

properties:

Amount:

type: string

xml:

name: Amount

Indicator:

type: boolean

xml:

name: Indicator

description: ''

xml:

name: GSTData

PaymentData:

title: PaymentData

required:

- Net

- Gross

type: object

properties:

Net:

type: string

xml:

name: Net

GST:

type: string

xml:

name: GST

Gross:

type: string

xml:

name: Gross

description: Purpose - defines the payment data for the items paid by the retailer

xml:

name: PaymentData

NETBHeader:

title: NETBHeader

required:

- LNSP

- Retailer

- DateTime

type: object

properties:

LNSP:

type: string

xml:

name: LNSP

Retailer:

type: string

xml:

name: Retailer

DateTime:

type: string

format: date-time

xml:

name: DateTime

Period:

type: string

xml:

name: Period

description: 'Purpose - Network charge record type - Generic Header "010, 012, 910, 913, 920, 930, 940" - Headers'

xml:

name: NETBHeader

ChargeFooter:

title: ChargeFooter

required:

- RecordCount

- TotalAmount

type: object

properties:

RecordCount:

type: string

xml:

name: RecordCount

TotalAmount:

type: string

xml:

name: TotalAmount

description: 'Purpose - defines the footer data type of the network charge items, used on is own for "013, 932, 942" and in composition for other footers'

xml:

name: ChargeFooter

InvoiceFooter:

title: InvoiceFooter

required:

- SummaryCount

- DetailCount

type: object

properties:

SummaryCount:

type: string

xml:

name: SummaryCount

DetailCount:

type: string

xml:

name: DetailCount

description: Purpose - defines the footer data type of the network charge items

xml:

name: InvoiceFooter

DisputeFooter:

title: DisputeFooter

required:

- RecordCount

type: object

properties:

RecordCount:

type: string

xml:

name: RecordCount

TotalExclGST:

type: string

xml:

name: TotalExclGST

TotalInclGST:

type: string

xml:

name: TotalInclGST

description: Purpose - Network charge record type - "912" - Dispute Footer

xml:

name: DisputeFooter

InvoiceNotificationSummary:

title: InvoiceNotificationSummary

type: object

properties:

NUOS:

$ref: '#/components/schemas/ChargeFooter'

GSL:

$ref: '#/components/schemas/ChargeFooter'

ExcludedService:

$ref: '#/components/schemas/ChargeFooter'

Interest:

$ref: '#/components/schemas/ChargeFooter'

EventCharge:

$ref: '#/components/schemas/ChargeFooter'

Invoice:

$ref: '#/components/schemas/InvoiceFooter'

description: Purpose - defines the footer network billing invoice for SA and Victoria

xml:

name: InvoiceNotificationSummary

InvoiceNotificationFooter:

title: InvoiceNotificationFooter

required:

- InvoiceRecordCount

- ChargeRecordCount

- Payment

type: object

properties:

InvoiceRecordCount:

type: string

xml:

name: InvoiceRecordCount

ChargeRecordCount:

type: string

xml:

name: ChargeRecordCount

Payment:

$ref: '#/components/schemas/PaymentData'

description: Purpose - defines the footer network billing invoice for NSW

xml:

name: InvoiceNotificationFooter

BaseChargeItem:

title: BaseChargeItem

required:

- InvoiceNumber

- TransactionID

- TransactionDate

- AdjustmentIndicator

- NMI

- Charge

- GST

type: object

properties:

InvoiceNumber:

maxLength: 17

type: string

xml:

name: InvoiceNumber

TransactionID:

type: string

xml:

name: TransactionID

OldInvoiceNumber:

maxLength: 17

type: string

xml:

name: OldInvoiceNumber

OldTransactionID:

type: string

xml:

name: OldTransactionID

TransactionDate:

type: string

format: date

xml:

name: TransactionDate

AdjustmentIndicator:

$ref: '#/components/schemas/AdjustmentIndicator'

AdjustmentReason:

maxLength: 60

type: string

xml:

name: AdjustmentReason

NMI:

$ref: '#/components/schemas/NMI'

NetworkRef:

type: string

xml:

name: NetworkRef

RetailerRef:

type: string

xml:

name: RetailerRef

Date:

type: string

format: date

xml:

name: Date

Charge:

type: string

xml:

name: Charge

GST:

$ref: '#/components/schemas/GSTData'

description: "Purpose - Base type for all Charge Item definitions\nDetail - Any network charge item must support these fields."

xml:

name: BaseChargeItem

NUOS:

title: NUOS

allOf:

- $ref: '#/components/schemas/BaseChargeItem'

- required:

- Description

- Quantity

- Rate

- TariffCode

- UnitOfMeasure

- BillingPeriod

- TimeSplit

type: object

properties:

Description:

maxLength: 60

type: string

xml:

name: Description

Quantity:

type: number

xml:

name: Quantity

Rate:

type: number

xml:

name: Rate

TariffCode:

maxLength: 10

type: string

xml:

name: TariffCode

UnitOfMeasure:

type: string

xml:

name: UnitOfMeasure

StepNumber:

type: integer

format: int32

xml:

name: StepNumber

example: 1

BillingPeriod:

type: string

xml:

name: BillingPeriod

TimeSplit:

type: string

xml:

name: TimeSplit

ReadingType:

$ref: '#/components/schemas/ReadingType'

version:

type: string

xml:

name: version

attribute: true

example: r11

xml:

name: NUOS

description: Purpose - Network charge record type - "100" - NUOS

EventCharge:

title: EventCharge

allOf:

- $ref: '#/components/schemas/BaseChargeItem'

- required:

- Description

- Quantity

- Rate

- UnitOfMeasure

type: object

properties:

Description:

maxLength: 60

type: string

xml:

name: Description

Quantity:

type: number

xml:

name: Quantity

Rate:

type: number

xml:

name: Rate

UnitOfMeasure:

type: string

xml:

name: UnitOfMeasure

version:

type: string

xml:

name: version

attribute: true

example: r11

xml:

name: EventCharge

description: Purpose - Network charge record type - "200" - EventCharge

GSL:

title: GSL

allOf:

- $ref: '#/components/schemas/BaseChargeItem'

- required:

- Code

- Description

type: object

properties:

Code:

maxLength: 10

type: string

xml:

name: Code

Description:

maxLength: 60

type: string

xml:

name: Description

version:

type: string

xml:

name: version

attribute: true

example: r11

xml:

name: GSL

description: Purpose - Network charge record type - "400" - GSL

ExcludedService:

title: ExcludedService

allOf:

- $ref: '#/components/schemas/BaseChargeItem'

- required:

- Code

- Description

- Quantity

- Rate

- AfterHourIndicator

type: object

properties:

Code:

maxLength: 10

type: string

xml:

name: Code

Description:

maxLength: 60

type: string

xml:

name: Description

Quantity:

type: number

xml:

name: Quantity

Rate:

type: number

xml:

name: Rate

AfterHourIndicator:

type: string

xml:

name: AfterHourIndicator

CompletionCode:

type: string

xml:

name: CompletionCode

version:

type: string

xml:

name: version

attribute: true

example: r11

xml:

name: ExcludedService

description: Purpose - Network charge record type - "600" - ExcludedService

InterestCharge:

title: InterestCharge

allOf:

- $ref: '#/components/schemas/BaseChargeItem'

- required:

- Principal

- Period

type: object

properties:

OverdueInvoice:

maxLength: 17

type: string

xml:

name: OverdueInvoice

Principal:

type: string

xml:

name: Principal

Period:

type: string

xml:

name: Period

version:

type: string

xml:

name: version

attribute: true

example: r11

xml:

name: InterestCharge

description: Purpose - Network charge record type - "900" - InterestCharge

BaseInvoice:

title: BaseInvoice

required:

- Number

type: object

properties:

Number:

maxLength: 17

type: string

xml:

name: Number

NMI:

$ref: '#/components/schemas/NMI'

description: "Purpose - Defines the base type for all Invoice line used for billing\nDetail - Any network invoice item must support these fields."

xml:

name: BaseInvoice

InvoiceSummary:

title: InvoiceSummary

allOf:

- $ref: '#/components/schemas/BaseInvoice'

- required:

- InvoiceDate

- DueDate

- Retailer

- Distributor

- GSTStatus

- Amount

type: object

properties:

InvoiceDate:

type: string

format: date

xml:

name: InvoiceDate

DueDate:

type: string

format: date

xml:

name: DueDate

Retailer:

$ref: '#/components/schemas/GSTDetails'

Distributor:

$ref: '#/components/schemas/GSTDetails'

GSTStatus:

maxLength: 150

type: string

xml:

name: GSTStatus

Amount:

$ref: '#/components/schemas/PaymentData'

FirstTransactionID:

type: string

xml:

name: FirstTransactionID

LastTransactionID:

type: string

xml:

name: LastTransactionID

TotalNumberOfChargeItems:

type: number

xml:

name: TotalNumberOfChargeItems

TotalNumberOfDetailRecords:

type: number

xml:

name: TotalNumberOfDetailRecords

xml:

name: InvoiceSummary

description: Purpose - Network invoice record type - "020" - InvoiceSummary

InvoiceDetail:

title: InvoiceDetail

allOf:

- $ref: '#/components/schemas/BaseInvoice'

- required:

- Charge

- NumberOfTransactions

- Amount

type: object

properties:

Charge:

$ref: '#/components/schemas/ChargeType'

NumberOfTransactions:

type: number

xml:

name: NumberOfTransactions

Amount:

$ref: '#/components/schemas/PaymentData'

xml:

name: InvoiceDetail

description: Purpose - Network invoice record type - "021" - InvoiceDetail

RemittanceDetail:

title: RemittanceDetail

required:

- InvoiceNumber

- TransactionID

- NMI

type: object

properties:

InvoiceNumber:

maxLength: 17

type: string

xml:

name: InvoiceNumber

TransactionID:

type: string

xml:

name: TransactionID

NMI:

$ref: '#/components/schemas/NMI'

Payment:

$ref: '#/components/schemas/PaymentData'

TotalPaid:

type: string

xml:

name: TotalPaid

DatePaid:

type: string

format: date

xml:

name: DatePaid

PaymentReference:

maxLength: 60

type: string

xml:

name: PaymentReference

description: 'Purpose - Network charge record type - "810, 921" - RemittanceDetail'

xml:

name: RemittanceDetail

RemittanceSummary:

title: RemittanceSummary

required:

- RecordCount

type: object

properties:

Payment:

$ref: '#/components/schemas/PaymentData'

TotalPaid:

type: string

xml:

name: TotalPaid

RecordCount:

type: string

xml:

name: RecordCount

description: 'Purpose - Network charge record type - "820, 922" - RemittanceSummary'

xml:

name: RemittanceSummary

DisputeItem:

title: DisputeItem

required:

- InvoiceNumber

- TransactionID

- NMI

type: object

properties:

status:

$ref: '#/components/schemas/DisputeStatusCode'

InvoiceNumber:

maxLength: 17

type: string

xml:

name: InvoiceNumber

TransactionID:

type: string

xml:

name: TransactionID

NMI:

$ref: '#/components/schemas/NMI'

Charge:

type: string

xml:

name: Charge

GST:

$ref: '#/components/schemas/GSTData'

Code:

$ref: '#/components/schemas/DisputeReasonCode'

Comment:

type: string

xml:

name: Comment

description: Purpose - Network charge record type - "911" - Dispute Item

xml:

name: DisputeItem

AgreedAmount:

title: AgreedAmount

required:

- Gross

type: object

properties:

Gross:

type: string

xml:

name: Gross

Net:

type: string

xml:

name: Net

description: ''

xml:

name: AgreedAmount

ResolutionItem:

title: ResolutionItem

required:

- Date

- AgreedAmount

type: object

properties:

Date:

type: string

format: date

xml:

name: Date

NumberOfTransactions:

type: number

xml:

name: NumberOfTransactions

AgreedAmount:

$ref: '#/components/schemas/AgreedAmount'

Comments:

$ref: '#/components/schemas/SpecialComments'

description: Purpose - defines the resolution details

xml:

name: ResolutionItem

Confirmation:

title: Confirmation

required:

- Dispute

- Resolution

type: object

properties:

Dispute:

$ref: '#/components/schemas/DisputeItem'

Resolution:

$ref: '#/components/schemas/ResolutionItem'

description: Purpose - establishes relationship between the dispute and the resolution items

xml:

name: Confirmation

OustandingInvoiceDetail:

title: OustandingInvoiceDetail

required:

- InvoiceNumber

- InvoiceDate

- DueDate

- NMI

- Amount

- DisputeReceived

type: object

properties:

InvoiceNumber:

maxLength: 17

type: string

xml:

name: InvoiceNumber

InvoiceDate:

type: string

format: date

xml:

name: InvoiceDate

DueDate:

type: string

format: date

xml:

name: DueDate

NMI:

$ref: '#/components/schemas/NMI'

Amount:

type: string

xml:

name: Amount

DisputeReceived:

type: boolean

xml:

name: DisputeReceived

Comment:

type: string

xml:

name: Comment

description: Purpose - Network charge record type - "931" - OustandingInvoiceDetail

xml:

name: OustandingInvoiceDetail

CreditBalanceDetail:

title: CreditBalanceDetail

required:

- InvoiceNumber

- NMI

- Amount

- Balance

type: object

properties:

InvoiceNumber:

maxLength: 17

type: string

xml:

name: InvoiceNumber

NMI:

$ref: '#/components/schemas/NMI'

Amount:

type: string

xml:

name: Amount

Balance:

type: string

xml:

name: Balance

description: Purpose - Network charge record type - "941" - CreditBalanceDetail

xml:

name: CreditBalanceDetail

Invoices:

title: Invoices

required:

- Invoice

type: object

properties:

Invoice:

type: array

items:

$ref: '#/components/schemas/BaseInvoice'

description: ''

xml: { }

description: ''

xml:

name: Invoices

ChargeItems:

title: ChargeItems

required:

- ChargeItem

type: object

properties:

ChargeItem:

type: array

items:

$ref: '#/components/schemas/BaseChargeItem'

description: ''

xml: { }

description: ''

xml:

name: ChargeItems

DisputeItems:

title: DisputeItems

required:

- DisputeItem

type: object

properties:

DisputeItem:

type: array

items:

$ref: '#/components/schemas/DisputeItem'

description: ''

xml: { }

description: ''

xml:

name: DisputeItems

RemittanceItems:

title: RemittanceItems

required:

- RemittanceItem

type: object

properties:

RemittanceItem:

type: array

items:

$ref: '#/components/schemas/RemittanceDetail'

description: ''

xml: { }

description: ''

xml:

name: RemittanceItems

RemittanceData:

title: RemittanceData

required:

- Header

- RemittanceItems

- RemittanceSummary

type: object

properties:

Header:

$ref: '#/components/schemas/NETBHeader'

RemittanceItems:

$ref: '#/components/schemas/RemittanceItems'

RemittanceSummary:

$ref: '#/components/schemas/RemittanceSummary'

description: ''

xml:

name: RemittanceData

DisputeStatusData:

title: DisputeStatusData

required:

- Header

- DisputeItems

- RecordCount

type: object

properties:

Header:

$ref: '#/components/schemas/NETBHeader'

DisputeItems:

$ref: '#/components/schemas/DisputeItems'

RecordCount:

type: string

xml:

name: RecordCount

description: ''

xml:

name: DisputeStatusData

Credits:

title: Credits

type: object

properties:

OutstandingInvoice:

type: array

items:

$ref: '#/components/schemas/OustandingInvoiceDetail'

description: ''

xml: { }

CreditBalance:

type: array

items:

$ref: '#/components/schemas/CreditBalanceDetail'

description: ''

xml: { }

description: ''

xml:

name: Credits

CreditData:

title: CreditData

required:

- Header

- Credits

- Summary

type: object

properties:

Header:

$ref: '#/components/schemas/NETBHeader'

Credits:

$ref: '#/components/schemas/Credits'

Summary:

$ref: '#/components/schemas/ChargeFooter'

description: ''

xml:

name: CreditData

Confirmations:

title: Confirmations

required:

- Confirmation

type: object

properties:

Confirmation:

type: array

items:

$ref: '#/components/schemas/Confirmation'

description: ''

xml: { }

description: ''

xml:

name: Confirmations

NotificationStatus:

title: NotificationStatus

enum:

- SO Requested

- SO Rejected

- SO Completion

- Accepted by Notified Party

- Rejection by Notified Party

- Notified Party Stopped

type: string

description: ''

xml:

name: NotificationStatus

RemovedMeteringEquipment:

title: RemovedMeteringEquipment

required:

- RemovedEquipmentType

- MeteringEquipment

type: object

properties:

RemovedEquipmentType:

type: string

xml:

name: RemovedEquipmentType

prefix: tns

MeteringEquipment:

type: string

xml:

name: MeteringEquipment

prefix: tns

description: Purpose - Define the structure of removed equipment.

xml:

name: RemovedMeteringEquipment

prefix: tns

RemovedMeteringEquipments:

title: RemovedMeteringEquipments

required:

- RemovedMeteringEquipment

type: object

properties:

RemovedMeteringEquipment:

type: array

items:

$ref: '#/components/schemas/RemovedMeteringEquipment'

description: ''

xml: { }

description: Purpose - Parent container holding list of removed metering equipment.

xml:

name: RemovedMeteringEquipments

NewEquipment:

title: NewEquipment

type: object

properties:

InstalledMeterEquipment:

type: string

xml:

name: InstalledMeterEquipment

InstalledNetworkDevices:

type: string

xml:

name: InstalledNetworkDevices

InstalledControlEquipment:

type: string

xml:

name: InstalledControlEquipment

InstalledTransformers:

type: string

xml:

name: InstalledTransformers

description: Purpose - Define the details of installed metering equipment.

xml:

name: NewEquipment

WorksDetail:

title: WorksDetail

required:

- WorkType

- FieldWorkCompleteDateTime

type: object

properties:

WorkType:

type: string

xml:

name: WorkType

FieldWorkCompleteDateTime:

type: string

format: date-time

xml:

name: FieldWorkCompleteDateTime

TotalInstalledMeters:

type: integer

format: int32

xml:

name: TotalInstalledMeters

TotalInstalledNetworkDevices:

type: integer

format: int32

xml:

name: TotalInstalledNetworkDevices

TotalInstalledControlEquipment:

type: integer

format: int32

xml:

name: TotalInstalledControlEquipment

TotalInstalledTransformers:

type: integer

format: int32

xml:

name: TotalInstalledTransformers

TotalRemovedMeters:

type: integer

format: int32

xml:

name: TotalRemovedMeters

TotalRemovedOther:

type: integer

format: int32

xml:

name: TotalRemovedOther

NewMeterEquipment:

$ref: '#/components/schemas/NewEquipment'

RemovedMeteringEquipments:

$ref: '#/components/schemas/RemovedMeteringEquipments'

description: Purpose - Define the structure of Work details.

xml:

name: WorksDetail

NotificationPayload:

title: NotificationPayload

type: object

properties:

TransactionNotified:

type: string

xml:

name: TransactionNotified

TransAckNotified:

type: string

xml:

name: TransAckNotified

MsgAckNotified:

type: string

xml:

name: MsgAckNotified

description: Purpose – Provide the parent holder for payload content

xml:

name: NotificationPayload

OneWayNotification:

title: OneWayNotification

required:

- CSVNotificationDetail

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r25

CSVNotificationDetail:

type: string

xml:

name: CSVNotificationDetail

description: 'Enables participants to send information or messages to other participants in a single transaction for one or more NMIs via CSV or XML for- • tariff changes, metering changes, planned interruptions, notification of a service order to a notified party'

xml:

name: OneWayNotification

NoticeOfMeteringWorks:

title: NoticeOfMeteringWorks

required:

- NoticeOfWorksID

- NMIStandingData

- MeterWorksDetail

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r36

NoticeOfWorksID:

maxLength: 12

type: string

xml:

name: NoticeOfWorksID

NMIStandingData:

type: string

xml:

name: NMIStandingData

GeographicCoordinate:

type: string

xml:

name: GeographicCoordinate

MeterWorksDetail:

$ref: '#/components/schemas/WorksDetail'

Notes:

maxLength: 240

type: string

xml:

name: Notes

description: Advise metering works performed

xml:

name: NoticeOfMeteringWorks

NotifiedParty:

title: NotifiedParty

required:

- ServiceOrder

- ServiceRequestor

- ServiceProvider

- ScheduledDate

- NotificationStatus

- RefTransaction

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r36

ServiceOrder:

$ref: '#/components/schemas/ServiceOrderHeader'

ServiceRequestor:

type: string

xml:

name: ServiceRequestor

ServiceProvider:

type: string

xml:

name: ServiceProvider

ScheduledDate:

type: string

format: date

xml:

name: ScheduledDate

ActualDateTime:

type: string

format: date-time

xml:

name: ActualDateTime

NotificationStatus:

$ref: '#/components/schemas/NotificationStatus'

RefTransaction:

$ref: '#/components/schemas/NotificationPayload'

description: Submit advice about service order progression to notified parties.

xml:

name: NotifiedParty

PlannedInterruptionNotification:

title: PlannedInterruptionNotification

required:

- NMI

- StartDate

- StartTime

- Duration

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r36

NMI:

$ref: '#/components/schemas/NMI'

StartDate:

type: string

format: date

xml:

name: StartDate

StartTime:

type: string

format: date-time

xml:

name: StartTime

EndDate:

type: string

format: date

xml:

name: EndDate

Duration:

maxLength: 5

type: string

description: Purpose – Identify simple duration of time in hours and minutes. Detail – Duration of time in HH:MM format as an alternative to using duration Type.

xml:

name: Duration

ReasonForInter:

type: string

xml:

name: ReasonForInter

Notes:

maxLength: 240

type: string

xml:

name: Notes

description: Notification of a planned interruption

xml:

name: PlannedInterruptionNotification

MeterFaultAndIssueNotification:

title: MeterFaultAndIssueNotification

required:

- NMI

- DateIdentified

- SupplyOn

- ReasonForNotice

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r36

NMI:

$ref: '#/components/schemas/NMI'

DateIdentified:

type: string

format: date

xml:

name: DateIdentified

StartDate:

type: string

format: date

xml:

name: StartDate

StartTime:

type: string

format: date-time

xml:

name: StartTime

EndDate:

type: string

format: date

xml:

name: EndDate

Duration:

maxLength: 5

type: string

xml:

name: Duration

SupplyOn:

type: string

xml:

name: SupplyOn

SupplyOff:

type: string

xml:

name: SupplyOff

Meters:

$ref: '#/components/schemas/MeterSerialNumbers'

ReasonForNotice:

type: string

xml:

name: ReasonForNotice

Notes:

maxLength: 240

type: string

xml:

name: Notes

description: Notification of a meter fault or issue

xml:

name: MeterFaultAndIssueNotification

SpecialReadReasonCode:

title: SpecialReadReasonCode

enum:

- Account Investigation

- Final Read

- Final Read for Disconnection on Non-Payment

- Final and Opening Read

- Opening Read

- Change of Retailer

- Change of Customer

- Check Read

- Other

- Sticker Removed

- Final Read Stickered

- Read Following Disconnection for Non-Payment

type: string

description: Purpose - Defines a list of valid Special Read reason codes

xml:

name: SpecialReadReasonCode

ServiceOrderStatus:

title: ServiceOrderStatus

enum:

- Completed

- Partially Completed

- Not Completed

type: string

description: Purpose - Defines a list of valid service order status codes

xml:

name: ServiceOrderStatus

ActionType:

title: ActionType

enum:

- New

- Update

- Cancel

- Replace

type: string

description: Purpose - Defines a list of valid update statuses

xml:

name: ActionType

ResponseType:

title: ResponseType

enum:

- Initial

- Closure

- Appointment

type: string

description: Mandatory default = Closure

xml:

name: ResponseType

ServiceOrderTypeBase:

title: ServiceOrderTypeBase

type: object

description: "Base type for type substitution in instance documents using xsi:type construct. Types currently based on this type are:\nServiceOrderTypeGas-Gas schema\nServiceOrderTypeElectricity- Electricity schema"

xml:

name: ServiceOrderTypeBase

ServiceOrderHeader:

title: ServiceOrderHeader

type: object

properties:

NMI:

$ref: '#/components/schemas/NMI'

Address:

type: string

xml:

name: Address

ServiceOrderType:

$ref: '#/components/schemas/ServiceOrderTypeBase'

ServiceOrderNumber:

type: string

xml:

name: ServiceOrderNumber

ServiceProviderReference:

type: string

xml:

name: ServiceProviderReference

description: Schema - ServiceOrder

xml:

name: ServiceOrderHeader

ServiceOrderRequestData:

title: ServiceOrderRequestData

type: object

properties:

SpecialInstructions:

type: string

xml:

name: SpecialInstructions

NMIStandingData:

type: string

xml:

name: NMIStandingData

description: Schema - ServiceOrder

xml:

name: ServiceOrderRequestData

ServiceOrderNotificationData:

title: ServiceOrderNotificationData

type: object

properties:

SpecialNotes:

type: string

xml:

name: SpecialNotes

NMIStandingData:

type: string

xml:

name: NMIStandingData

description: Schema - ServiceOrder

xml:

name: ServiceOrderNotificationData

ServiceOrderRequest:

title: ServiceOrderRequest

required:

- actionType

- ServiceOrder

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r36

actionType:

$ref: '#/components/schemas/ActionType'

ServiceOrder:

$ref: '#/components/schemas/ServiceOrderHeader'

ServicePoint:

$ref: '#/components/schemas/ServicePoint'

ContactDetail:

$ref: '#/components/schemas/ContactDetail'

CustomerDetail:

$ref: '#/components/schemas/CustomerDetail'

Co-ordinatingContactDetail:

type: string

xml:

name: Co-ordinatingContactDetail

AppointmentDetail:

$ref: '#/components/schemas/AppointmentDetail'

RequestData:

$ref: '#/components/schemas/ServiceOrderRequestData'

NotifiedParties:

$ref: '#/components/schemas/NotifiedParties'

description: Submit Service Order Request to the Service Provider

xml:

name: ServiceOrderRequest

ServiceOrderResponse:

title: ServiceOrderResponse

required:

- ServiceOrder

type: object

properties:

version:

type: string

xml:

name: version

attribute: true

example: r36

responseType:

$ref: '#/components/schemas/ResponseType'

ServiceOrder:

$ref: '#/components/schemas/ServiceOrderHeader'

ContactDetail:

$ref: '#/components/schemas/ContactDetail'

AppointmentDetail:

$ref: '#/components/schemas/AppointmentDetail'

NotificationData:

$ref: '#/components/schemas/ServiceOrderNotificationData'

Event:

$ref: '#/components/schemas/Event'

description: Submit Service Order completion details to the Retailer

xml:

name: ServiceOrderResponse

Transaction:

title: Transaction

required:

- transactionID

- transactionDate

type: object

properties:

transactionID:

type: string

xml:

name: transactionID

attribute: true

example: '3453535315'

transactionDate:

type: string

format: date-time

xml:

name: transactionDate

attribute: true

example: '2004-10-15T01:02:35.0000000+00:00'

initiatingTransactionID:

type: string

description: 'Optional, if response, must match the transactionID from initiating request'

xml:

name: initiatingTransactionID

attribute: true

MeterDataNotification:

$ref: '#/components/schemas/MeterDataNotification'

ServiceOrderRequest:

$ref: '#/components/schemas/ServiceOrderRequest'

ServiceOrderResponse:

$ref: '#/components/schemas/ServiceOrderResponse'

CustomerDetailsRequest:

$ref: '#/components/schemas/CustomerDetailsRequest'

CustomerDetailsNotification:

$ref: '#/components/schemas/CustomerDetailsNotification'

AmendMeterRouteDetails:

$ref: '#/components/schemas/AmendMeterRouteDetails'

SiteAccessRequest:

$ref: '#/components/schemas/SiteAccessRequest'

MeterDataVerifyRequest:

$ref: '#/components/schemas/MeterDataVerifyRequest'

MeterDataMissingNotification:

$ref: '#/components/schemas/MeterDataMissingNotification'

RemoteServiceRequest:

$ref: '#/components/schemas/RemoteServiceRequest'

RemoteServiceResponse:

$ref: '#/components/schemas/RemoteServiceResponse'

OneWayNotification:

$ref: '#/components/schemas/OneWayNotification'

NoticeOfMeteringWorks:

$ref: '#/components/schemas/NoticeOfMeteringWorks'

NotifiedParty:

$ref: '#/components/schemas/NotifiedParty'

PlannedInterruptionNotification:

$ref: '#/components/schemas/PlannedInterruptionNotification'

MeterFaultAndIssueNotification:

$ref: '#/components/schemas/MeterFaultAndIssueNotification'

LifeSupportNotification:

$ref: '#/components/schemas/LifeSupportNotification'

LifeSupportRequest:

$ref: '#/components/schemas/LifeSupportRequest'

description: "Purpose - Common container for all transactions\nDetail - All transactions within aseXML are carried within this container. The transactionID and transactionDate are provided for all transactions. The initiatingTransactionID is only provided on response transactions and represents the transactionID of the initiating transaction."

xml:

name: Transaction

Transactions:

title: Transactions

required:

- Transaction

type: object

properties:

Transaction:

type: array

items:

$ref: '#/components/schemas/Transaction'

description: ''

xml: { }

description: "Purpose - Container for multiple transactions within one aseXML message\nDetail - An aseXML message may contain one or more transactions. All transactions within an aseXML message are grouped under this container."

xml:

name: Transactions

securitySchemes:

apiKeyHeader:

type: apiKey

name: x-eHub-APIKey

in: header

apiKeyQuery:

type: apiKey

name: subscription-key

in: query

security:

- apiKeyHeader: [ ]

- apiKeyQuery: [ ]