<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
			targetNamespace="http://ws.ge.co.nz/ext/bob/xsd/simple/2" 
			xmlns="http://ws.ge.co.nz/ext/bob/xsd/simple/2">

	<xsd:simpleType name="actualIntervalLength">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="15"/>
			<xsd:enumeration value="30"/>
			<xsd:enumeration value="60"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="billingMethod">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="DistributorRateReady"/>
			<xsd:enumeration value="DistributorBillReady"/>
			<xsd:enumeration value="EnergySupplierBillReady"/>
			<xsd:enumeration value="EnergySupplierRateReady"/>
			<xsd:enumeration value="Dual"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="billPurpose">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Original"/>
			<xsd:enumeration value="Final"/>
			<xsd:enumeration value="Duplicate"/>
			<xsd:enumeration value="Cancel"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="changePurpose">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="CustomerDetail"/>
			<xsd:enumeration value="CustomerLocation"/>
			<xsd:enumeration value="BillingOption"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="chargeCategory">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Commodity"/>
			<xsd:enumeration value="NonCompetitive"/>
			<xsd:enumeration value="DistributionCharge"/>
			<xsd:enumeration value="CompetitionTransition"/>
			<xsd:enumeration value="RuralRateProtection"/>
			<xsd:enumeration value="MarketPowerMitigation"/>
			<xsd:enumeration value="GSTAmount"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="currency">
		<xsd:restriction base="xsd:decimal">
			<xsd:totalDigits value="10"/>
			<xsd:fractionDigits value="2"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="debitCreditIndicator">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Credit"/>
			<xsd:enumeration value="Debit"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="dogType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="ND">
				<!--No Dog-->
			</xsd:enumeration>
			<xsd:enumeration value="DG">
				<!--Dog-->
			</xsd:enumeration>
			<xsd:enumeration value="BD">
				<!--Bad Dog-->
			</xsd:enumeration>
			<xsd:enumeration value="MD">
				<!--Multiple Dogs-->
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="gasRatingType">
		<xsd:restriction base="xsd:positiveInteger">
			<xsd:totalDigits value="10"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="jobTime">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="AM">
				<!--Monday to Friday 7am - 12 noon-->
			</xsd:enumeration>
			<xsd:enumeration value="PM">
				<!--Monday to Friday 12 noon - 6pm-->
			</xsd:enumeration>
			<xsd:enumeration value="EE">
				<!--Monday to Friday 6pm - 7pm-->
			</xsd:enumeration>
			<xsd:enumeration value="ME">
				<!--Monday to Friday 7pm - 9pm-->
			</xsd:enumeration>
			<xsd:enumeration value="LE">
				<!--Monday to Friday 9pm - 10pm-->
			</xsd:enumeration>
			<xsd:enumeration value="SS">
				<!--Saturday 9am - 4pm-->
			</xsd:enumeration>
			<xsd:enumeration value="SE">
				<!--Saturday 4pm - 7pm-->
			</xsd:enumeration>
			<xsd:enumeration value="AH">
				<!--Monday to Friday 10pm - 7am-->
			</xsd:enumeration>
			<xsd:enumeration value="FH">
				<!--Friday to Saturday 10pm - 9am-->
			</xsd:enumeration>
			<xsd:enumeration value="SH">
				<!--Saturday to Monday 7pm - 7am-->
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="kpaType">
		<xsd:restriction base="xsd:decimal">
			<xsd:totalDigits value="12"/>
			<xsd:fractionDigits value="2"/>
			<xsd:minExclusive value="0"/>
		</xsd:restriction>
		<!--UOM is in Mega Joules (MJ)-->
	</xsd:simpleType>

	<xsd:simpleType name="lengthOne">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="1"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthTwo">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="2"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthThree">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="3"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthFour">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="4"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthFive">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="5"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthSix">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="6"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthSeven">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="7"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthEight">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="8"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthTen">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="10"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthTwelve">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="12"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthThirteen">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="13"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthFifteen">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="15"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthSixteen">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="16"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthEighteen">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="18"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthTwenty">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="20"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthTwentyOne">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="21"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthTwentyFive">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="25"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthTwentyNine">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="29"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthThirty">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="30"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthForty">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="40"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthFifty">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="50"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthFiftyFive">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="55"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthSixty">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="60"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthSeventyFive">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="75"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthEighty">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="80"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthOneHundred">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="100"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthOneHundredFifty">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="150"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="lengthTwoHundredFifty">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="250"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="months">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="January"/>
			<xsd:enumeration value="February"/>
			<xsd:enumeration value="March"/>
			<xsd:enumeration value="April"/>
			<xsd:enumeration value="June"/>
			<xsd:enumeration value="July"/>
			<xsd:enumeration value="May"/>
			<xsd:enumeration value="August"/>
			<xsd:enumeration value="September"/>
			<xsd:enumeration value="October"/>
			<xsd:enumeration value="November"/>
			<xsd:enumeration value="December"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="nameType">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="115"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="noteType">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="500"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="partnerType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="EnergySupplier"/>
			<xsd:enumeration value="Distributor"/>
			<xsd:enumeration value="HUB"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="paymentAdviceLevel">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Detail"/>
			<xsd:enumeration value="Total"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="pipTransactionType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="ApplicationAdvice"/>
			<xsd:enumeration value="EnrollmentRequest"/>
			<xsd:enumeration value="EnrollmentResponse"/>
			<xsd:enumeration value="Usage"/>
			<xsd:enumeration value="CustomerInvoice"/>
			<xsd:enumeration value="TradingPartnerInvoice"/>
			<xsd:enumeration value="HistoricalUsageRequest"/>
			<xsd:enumeration value="HistoricalUsageResponse"/>
			<xsd:enumeration value="HistoricalPaymentRequest"/>
			<xsd:enumeration value="HistoricalPaymentResponse"/>
			<xsd:enumeration value="DropRequest"/>
			<xsd:enumeration value="DropResponse"/>
			<xsd:enumeration value="ChangeRequest"/>
			<xsd:enumeration value="ChangeResponse"/>
			<xsd:enumeration value="StatusAdvice"/>
			<xsd:enumeration value="Payment"/>
			<xsd:enumeration value="MeterMaintenance"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="phaseType">
		<xsd:restriction base="xsd:positiveInteger">
			<xsd:totalDigits value="1"/>
			<xsd:maxInclusive value="3"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="phoneNumberType">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="10"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="phoneType">
		<xsd:restriction base="lengthOne">
			<xsd:enumeration value="H">
				<!--Home phone number-->
			</xsd:enumeration>
			<xsd:enumeration value="W">
				<!--Work phone number-->
			</xsd:enumeration>
			<xsd:enumeration value="M">
				<!--Mobile phone number-->
			</xsd:enumeration>
			<xsd:enumeration value="F">
				<!--Fax phone number-->
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="readIndicator">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="NextScheduledRead"/>
			<xsd:enumeration value="SpecifiedRead"/>
			<xsd:enumeration value="LastActualRead"/>
			<xsd:enumeration value="OnCycle"/>
			<xsd:enumeration value="MeterChange"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="readStructure">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Monthly"/>
			<xsd:enumeration value="Interval"/>
			<xsd:enumeration value="TOU2"/>
			<xsd:enumeration value="TOU3"/>
			<xsd:enumeration value="TOU4"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="reconciliationReason">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="SettlementTotal"/>
			<xsd:enumeration value="SettlementDetail"/>
			<xsd:enumeration value="MarketParticipant"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="registerReadingType">
		<xsd:restriction base="xsd:positiveInteger">
			<xsd:totalDigits value="9"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="remittanceType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Payment"/>
			<xsd:enumeration value="Adjustment"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="reportedIntervalLength">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="60"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="senderOrRecipient">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Sender"/>
			<xsd:enumeration value="Recipient"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="significance">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="OnPeak"/>
			<xsd:enumeration value="OffPeak"/>
			<xsd:enumeration value="Total"/>
			<xsd:enumeration value="EarlyShoulder"/>
			<xsd:enumeration value="Shoulder"/>
			<xsd:enumeration value="LateShoulder"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="status">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Partial"/>
			<xsd:enumeration value="Accept"/>
			<xsd:enumeration value="Reject"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="unitOfMeasure">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="kW"/>
			<xsd:enumeration value="kWh"/>
			<xsd:enumeration value="kVA"/>
			<xsd:enumeration value="kVAh"/>
			<xsd:enumeration value="kVAr"/>
			<xsd:enumeration value="kVArh"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="utilityType">
		<xsd:restriction base="lengthOne">
			<xsd:enumeration value="E"/>
			<xsd:enumeration value="G"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="version">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="2.0.0"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="yesNo">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Y"/>
			<xsd:enumeration value="N"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="meterSize">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="BOTT">
				<!--Bottled Gas-->
			</xsd:enumeration>
			<xsd:enumeration value="CNG">
				<!--CNG Service Stations-->
			</xsd:enumeration>
			<xsd:enumeration value="DATA">
				<!--Data Logger-->
			</xsd:enumeration>
			<xsd:enumeration value="M10">
				<!--19 Cubic Metres per Hour-->
			</xsd:enumeration>
			<xsd:enumeration value="M20">
				<!--20 Cubic Metres per Hour-->
			</xsd:enumeration>
			<xsd:enumeration value="M40">
				<!--40 Cubic Metres per Hour-->
			</xsd:enumeration>
			<xsd:enumeration value="M60">
				<!--60 Cubic Metres per Hour-->
			</xsd:enumeration>
			<xsd:enumeration value="M80">
				<!--80 Cubic Metres per Hour-->
			</xsd:enumeration>
			<xsd:enumeration value="M150">
				<!--150 Cubic Metres per Hour-->
			</xsd:enumeration>
			<xsd:enumeration value="M300">
				<!--300 Cubic Metres per Hour-->
			</xsd:enumeration>
			<xsd:enumeration value="M500">
				<!--500 Cubic Metres per Hour-->
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="meterLocation">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Back Left Wall"/>
			<xsd:enumeration value="Back Right Wall"/>
			<xsd:enumeration value="Back Wall"/>
			<xsd:enumeration value="Basement"/>
			<xsd:enumeration value="Back Porch"/>
			<xsd:enumeration value="Carport"/>
			<xsd:enumeration value="Front Fence/Boundary"/>
			<xsd:enumeration value="Front Porch"/>
			<xsd:enumeration value="Front Left Wall"/>
			<xsd:enumeration value="Front Right Wall"/>
			<xsd:enumeration value="Front Wall"/>
			<xsd:enumeration value="Garage Inside"/>
			<xsd:enumeration value="Left Side Garage"/>
			<xsd:enumeration value="Garage Out Side"/>
			<xsd:enumeration value="Right Side Garage"/>
			<xsd:enumeration value="Inside"/>
			<xsd:enumeration value="Left Wall"/>
			<xsd:enumeration value="Pole"/>
			<xsd:enumeration value="Porch"/>
			<xsd:enumeration value="Refer To Notes"/>
			<xsd:enumeration value="Right Wall"/>
			<xsd:enumeration value="Temporary Box"/>
			<xsd:enumeration value="Unkown - Meter Reader Confirm"/>
			<xsd:enumeration value="Under Stairs"/>
			<xsd:enumeration value="Upstairs"/>
			<xsd:enumeration value="Utility/Shed"/>
			<xsd:enumeration value="Workshop"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ReleaseIdentifier">
		<xsd:annotation>
			<xsd:documentation>Purpose - Identify a release of fssgold
Details - Release identifiers are used extensively in fssgold to enable versioning of transactions.</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="r[0-9]*|r[0-9]*_[a-z][0-9]*"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="r1">
		<xsd:annotation>
			<xsd:documentation>Purpose - Release r1 identifier</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="ReleaseIdentifier">
			<xsd:enumeration value="r1"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="r2">
		<xsd:annotation>
			<xsd:documentation>Purpose - Release r2 identifier</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="ReleaseIdentifier">
			<xsd:enumeration value="r2"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="r3">
		<xsd:annotation>
			<xsd:documentation>Purpose - Release r3 identifier</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="ReleaseIdentifier">
			<xsd:enumeration value="r3"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="r4">
		<xsd:annotation>
			<xsd:documentation>Purpose - Release r4 identifier</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="ReleaseIdentifier">
			<xsd:enumeration value="r4"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="r5">
		<xsd:annotation>
			<xsd:documentation>Purpose - Release r5 identifier</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="ReleaseIdentifier">
			<xsd:enumeration value="r5"/>
		</xsd:restriction>
	</xsd:simpleType>
</xsd:schema>