<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright Zuora, Inc. 2007 - 2009 All Rights Reserved -->
<!-- This file may be freely distributed without modification -->
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:zns="http://api.zuora.com/"
xmlns:ons="http://object.api.zuora.com/"
xmlns:fns="http://fault.api.zuora.com/"
targetNamespace="http://api.zuora.com/">
<types>
<schema attributeFormDefault="qualified" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://object.api.zuora.com/">
<complexType name="zObject">
<sequence>
<element minOccurs="0" maxOccurs="unbounded" name="fieldsToNull" nillable="true" type="string" />
<element minOccurs="0" maxOccurs="1" name="Id" nillable="true" type="zns:ID" />
</sequence>
</complexType>
<complexType name="Account">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="AccountNumber" nillable="true" type="string" />
<element minOccurs="0" name="AdditionalEmailAddresses" nillable="true" type="string" />
<element minOccurs="0" name="AllowInvoiceEdit" nillable="true" type="boolean" />
<element minOccurs="0" name="AutoPay" nillable="true" type="boolean" />
<element minOccurs="0" name="Balance" nillable="true" type="double" />
<element minOccurs="0" name="Batch" nillable="true" type="string" />
<element minOccurs="0" name="BillCycleDay" type="int" />
<element minOccurs="0" name="BillToId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="CreatedDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="CrmId" nillable="true" type="string" />
<element minOccurs="0" name="Currency" nillable="true" type="string" />
<element minOccurs="0" name="CustomerServiceRepName" nillable="true" type="string" />
<element minOccurs="0" name="DefaultPaymentMethodId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="InvoiceDeliveryPrefsEmail" nillable="true" type="boolean" />
<element minOccurs="0" name="InvoiceDeliveryPrefsPrint" nillable="true" type="boolean" />
<element minOccurs="0" name="InvoiceTemplateId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="Name" nillable="true" type="string" />
<element minOccurs="0" name="Notes" nillable="true" type="string" />
<element minOccurs="0" name="PaymentTerm" nillable="true" type="string" /><!-- user-defined enum -->
<element minOccurs="0" name="PurchaseOrderNumber" nillable="true" type="string" />
<element minOccurs="0" name="SalesRepName" nillable="true" type="string" />
<element minOccurs="0" name="SoldToId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="Status" nillable="true" type="string" />
<element minOccurs="0" name="UpdatedDate" nillable="true" type="dateTime" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="Adjustment">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="AccountId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="AccountingCode" nillable="true" type="string" />
<element minOccurs="0" name="AdjustmentDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="AdjustmentNumber" nillable="true" type="string" />
<element minOccurs="0" name="Amount" nillable="true" type="double" />
<element minOccurs="0" name="CreatedBy" nillable="true" type="string" />
<element minOccurs="0" name="CreatedOn" nillable="true" type="dateTime" />
<element minOccurs="0" name="CustomerName" nillable="true" type="string" />
<element minOccurs="0" name="CustomerNumber" nillable="true" type="string" />
<element minOccurs="0" name="LastUpdatedBy" nillable="true" type="string" />
<element minOccurs="0" name="LastUpdatedOn" nillable="true" type="dateTime" />
<element minOccurs="0" name="Status" nillable="true" type="string" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="Amendment">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="ContractEffectiveDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="CustomerAcceptanceDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="Description" nillable="true" type="string" />
<element minOccurs="0" name="EffectiveDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="InitialTerm" nillable="true" type="long" />
<element minOccurs="0" name="Name" nillable="true" type="string" />
<element minOccurs="0" name="RenewalTerm" nillable="true" type="long" />
<element minOccurs="0" name="ServiceActivationDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="Status" nillable="true" type="string" />
<element minOccurs="0" name="SubscriptionId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="TermStartDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="Type" nillable="true" type="string" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="Contact">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="AccountId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="Address1" nillable="true" type="string" />
<element minOccurs="0" name="Address2" nillable="true" type="string" />
<element minOccurs="0" name="City" nillable="true" type="string" />
<element minOccurs="0" name="Country" nillable="true" type="string" />
<element minOccurs="0" name="CreatedDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="Fax" nillable="true" type="string" />
<element minOccurs="0" name="FirstName" nillable="true" type="string" />
<element minOccurs="0" name="HomePhone" nillable="true" type="string" />
<element minOccurs="0" name="LastName" nillable="true" type="string" />
<element minOccurs="0" name="MobilePhone" nillable="true" type="string" />
<element minOccurs="0" name="NickName" nillable="true" type="string" />
<element minOccurs="0" name="OtherPhone" nillable="true" type="string" />
<element minOccurs="0" name="OtherPhoneType" nillable="true" type="string" />
<element minOccurs="0" name="PersonalEmail" nillable="true" type="string" />
<element minOccurs="0" name="PostalCode" nillable="true" type="string" />
<element minOccurs="0" name="State" nillable="true" type="string" />
<element minOccurs="0" name="UpdatedDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="WorkEmail" nillable="true" type="string" />
<element minOccurs="0" name="WorkPhone" nillable="true" type="string" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="Invoice" >
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="AccountId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="Amount" nillable="true" type="double" />
<element minOccurs="0" name="Balance" nillable="true" type="double" />
<element minOccurs="0" name="Body" nillable="true" type="string" />
<element minOccurs="0" name="DueDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="IncludesOneTime" nillable="true" type="boolean" />
<element minOccurs="0" name="IncludesRecurring" nillable="true" type="boolean" />
<element minOccurs="0" name="IncludesUsage" nillable="true" type="boolean" />
<element minOccurs="0" name="InvoiceDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="InvoiceNumber" nillable="true" type="string" />
<element minOccurs="0" name="Status" nillable="true" type="string" />
<element minOccurs="0" name="TargetDate" nillable="true" type="dateTime" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="InvoiceAdjustment">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="AdjustmentId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="Amount" nillable="true" type="double" />
<element minOccurs="0" name="InvoiceId" nillable="true" type="zns:ID" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="InvoiceItem">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="AccountingCode" nillable="true" type="string" />
<element minOccurs="0" name="ChargeAmount" nillable="true" type="double" />
<element minOccurs="0" name="ChargeDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="ChargeDescription" nillable="true" type="string" />
<element minOccurs="0" name="ChargeName" nillable="true" type="string" />
<element minOccurs="0" name="ChargeNumber" nillable="true" type="string" />
<element minOccurs="0" name="InvoiceId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="ProductDescription" nillable="true" type="string" />
<element minOccurs="0" name="ProductId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="ProductName" nillable="true" type="string" />
<element minOccurs="0" name="Quantity" nillable="true" type="double" />
<element minOccurs="0" name="RatePlanChargeId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="RevRecCode" nillable="true" type="string" />
<element minOccurs="0" name="RevRecStartDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="RevRecTriggerCondition" nillable="true" type="string" />
<element minOccurs="0" name="ServiceEndDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="ServiceStartDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="SKU" nillable="true" type="string" />
<element minOccurs="0" name="SubscriptionId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="SubscriptionNumber" nillable="true" type="string" />
<element minOccurs="0" name="UnitPrice" nillable="true" type="double" />
<element minOccurs="0" name="UOM" nillable="true" type="string" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="InvoicePayment">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="Amount" nillable="true" type="double" />
<element minOccurs="0" name="InvoiceId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="PaymentId" nillable="true" type="zns:ID" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="Payment">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="AccountId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="Amount" nillable="true" type="double" />
<element minOccurs="0" name="Comment" nillable="true" type="string" />
<element minOccurs="0" name="EffectiveDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="GatewayResponse" nillable="true" type="string" />
<element minOccurs="0" name="GatewayResponseCode" nillable="true" type="string" />
<element minOccurs="0" name="PaymentMethodId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="ReferenceId" nillable="true" type="string" />
<element minOccurs="0" name="Status" nillable="true" type="string" />
<element minOccurs="0" name="Type" nillable="true" type="string" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="PaymentMethod">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="AccountId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="AchAbaCode" nillable="true" type="string" />
<element minOccurs="0" name="AchAccountName" nillable="true" type="string" />
<element minOccurs="0" name="AchAccountNumber" nillable="true" type="string" />
<element minOccurs="0" name="AchAccountNumberMask" nillable="true" type="string" />
<element minOccurs="0" name="AchAccountType" nillable="true" type="string" />
<element minOccurs="0" name="AchBankName" nillable="true" type="string" />
<element minOccurs="0" name="Active" nillable="true" type="boolean" />
<element minOccurs="0" name="CreatedDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="CreditCardAddress1" nillable="true" type="string" />
<element minOccurs="0" name="CreditCardAddress2" nillable="true" type="string" />
<element minOccurs="0" name="CreditCardCity" nillable="true" type="string" />
<element minOccurs="0" name="CreditCardCountry" nillable="true" type="string" />
<element minOccurs="0" name="CreditCardExpirationMonth" nillable="true" type="int" />
<element minOccurs="0" name="CreditCardExpirationYear" nillable="true" type="int" />
<element minOccurs="0" name="CreditCardHolderName" nillable="true" type="string" />
<element minOccurs="0" name="CreditCardMaskNumber" nillable="true" type="string" />
<element minOccurs="0" name="CreditCardNumber" nillable="true" type="string" />
<element minOccurs="0" name="CreditCardPostalCode" nillable="true" type="string" />
<element minOccurs="0" name="CreditCardSecurityCode" nillable="true" type="string" />
<element minOccurs="0" name="CreditCardState" nillable="true" type="string" />
<element minOccurs="0" name="CreditCardType" nillable="true" type="string" />
<element minOccurs="0" name="LastTransactionDateTime" nillable="true" type="dateTime" />
<element minOccurs="0" name="LastTransactionStatus" nillable="true" type="string" />
<element minOccurs="0" name="Name" nillable="true" type="string" />
<element minOccurs="0" name="PaypalBaid" nillable="true" type="string" />
<element minOccurs="0" name="PaypalEmail" nillable="true" type="string" />
<element minOccurs="0" name="Type" nillable="true" type="string" />
<element minOccurs="0" name="UpdatedDate" nillable="true" type="dateTime" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="Product">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="Description" nillable="true" type="string" />
<element minOccurs="0" name="EffectiveEndDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="EffectiveStartDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="Name" nillable="true" type="string" />
<element minOccurs="0" name="SKU" nillable="true" type="string" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="ProductRatePlan">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="Description" nillable="true" type="string" />
<element minOccurs="0" name="EffectiveEndDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="EffectiveStartDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="Name" nillable="true" type="string" />
<element minOccurs="0" name="ProductId" nillable="true" type="zns:ID" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="ProductRatePlanCharge">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="AccountingCode" nillable="true" type="string" />
<element minOccurs="0" name="DefaultQuantity" nillable="true" type="double" />
<element minOccurs="0" name="Description" nillable="true" type="string" />
<element minOccurs="0" name="MaxQuantity" nillable="true" type="double" />
<element minOccurs="0" name="MinQuantity" nillable="true" type="double" />
<element minOccurs="0" name="Model" nillable="true" type="string" />
<element minOccurs="0" name="Name" nillable="true" type="string" />
<element minOccurs="0" name="ProductRatePlanId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="Type" nillable="true" type="string" />
<element minOccurs="0" name="UOM" nillable="true" type="string" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="ProductRatePlanChargeTier">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="Active" nillable="true" type="boolean" />
<element minOccurs="0" name="Currency" nillable="true" type="string" />
<element minOccurs="0" name="EndingUnit" nillable="true" type="double" />
<element minOccurs="0" name="IsOveragePrice" nillable="true" type="boolean" />
<element minOccurs="0" name="Price" nillable="true" type="double" />
<element minOccurs="0" name="PriceFormat" nillable="true" type="string" />
<element minOccurs="0" name="ProductRatePlanChargeId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="StartingUnit" nillable="true" type="double" />
<element minOccurs="0" name="Tier" nillable="true" type="int" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="RatePlan">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="AmendmentId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="AmendmentSubscriptionRatePlanId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="AmendmentType" nillable="true" type="string" />
<element minOccurs="0" name="Name" nillable="true" type="string" /><!-- do we need this? -->
<element minOccurs="0" name="ProductRatePlanId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="SubscriptionId" nillable="true" type="zns:ID" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="RatePlanCharge">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="AccountingCode" nillable="true" type="string" />
<element minOccurs="0" name="ChargeModel" nillable="true" type="string" />
<element minOccurs="0" name="ChargeNumber" nillable="true" type="string" />
<element minOccurs="0" name="ChargeType" nillable="true" type="string" />
<element minOccurs="0" name="Description" nillable="true" type="string" />
<element minOccurs="0" name="DMRC" nillable="true" type="double" />
<element minOccurs="0" name="DTCV" nillable="true" type="double" />
<element minOccurs="0" name="IncludedUnits" nillable="true" type="double" />
<element minOccurs="0" name="MRR" nillable="true" type="double" />
<element minOccurs="0" name="Name" nillable="true" type="string" />
<element minOccurs="0" name="NumberOfPeriods" nillable="true" type="long" />
<element minOccurs="0" name="OveragePrice" nillable="true" type="double" />
<element minOccurs="0" name="Price" nillable="true" type="double" />
<element minOccurs="0" name="ProductRatePlanChargeId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="Quantity" nillable="true" type="double" />
<element minOccurs="0" name="RatePlanId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="TCV" nillable="true" type="double" />
<element minOccurs="0" name="TriggerEvent" nillable="true" type="string" />
<element minOccurs="0" name="UOM" nillable="true" type="string" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="RatePlanChargeTier">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="EndingUnit" nillable="true" type="double" />
<element minOccurs="0" name="IsOveragePrice" nillable="true" type="boolean" />
<element minOccurs="0" name="Price" nillable="true" type="double" />
<element minOccurs="0" name="PriceFormat" nillable="true" type="string" />
<element minOccurs="0" name="RatePlanChargeId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="StartingUnit" nillable="true" type="double" />
<element minOccurs="0" name="Tier" nillable="true" type="int" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="Subscription">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="AccountId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="AutoRenew" nillable="true" type="boolean" />
<element minOccurs="0" name="CancelledDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="ContractAcceptanceDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="ContractEffectiveDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="CreatedDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="Currency" nillable="true" type="string" />
<element minOccurs="0" name="InitialTerm" nillable="true" type="int" />
<element minOccurs="0" name="Name" nillable="true" type="string" />
<element minOccurs="0" name="Notes" nillable="true" type="string" />
<element minOccurs="0" name="OriginalSubscriptionId" nillable="true" type="string" />
<element minOccurs="0" name="PreviousSubscriptionId" nillable="true" type="string" />
<element minOccurs="0" name="RenewalTerm" nillable="true" type="int" />
<element minOccurs="0" name="ServiceActivationDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="Status" nillable="true" type="string" />
<element minOccurs="0" name="TermStartDate" nillable="true" type="dateTime" />
<element minOccurs="0" name="Version" nillable="true" type="int" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="Usage">
<complexContent>
<extension base="ons:zObject">
<sequence>
<element minOccurs="0" name="AccountId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="AccountNumber" nillable="true" type="string" />
<element minOccurs="0" name="ChargeId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="ChargeNumber" nillable="true" type="string"/>
<element minOccurs="0" name="Description" nillable="true" type="string" />
<element minOccurs="0" name="EndDateTime" nillable="true" type="dateTime" />
<element minOccurs="0" name="Quantity" nillable="true" type="double" />
<element minOccurs="0" name="RbeStatus" nillable="true" type="string"/>
<element minOccurs="0" name="SourceName" nillable="true" type="string" />
<element minOccurs="0" name="SourceType" nillable="true" type="string"/>
<element minOccurs="0" name="StartDateTime" nillable="true" type="dateTime" />
<element minOccurs="0" name="SubmissionDateTime" nillable="true" type="dateTime" />
<element minOccurs="0" name="SubscriptionId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="SubscriptionNumber" nillable="true" type="string"/>
<element minOccurs="0" name="UOM" nillable="true" type="string" />
</sequence>
</extension>
</complexContent>
</complexType>
</schema>
<schema attributeFormDefault="qualified" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://api.zuora.com/">
<simpleType name="ID">
<restriction base="xs:string">
<length value="32" />
<pattern value='[a-zA-Z0-9]{32}' />
</restriction>
</simpleType>
<complexType name="LoginResult">
<sequence>
<element name="Session" nillable="true" type="xs:string" />
<element name="ServerUrl" nillable="true" type="xs:string" />
</sequence>
</complexType>
<complexType name="SubscribeRequest">
<sequence>
<element minOccurs="0" name="Account" nillable="true" type="ons:Account" />
<element minOccurs="0" name="PaymentMethod" nillable="true" type="ons:PaymentMethod" />
<element minOccurs="0" name="BillToContact" nillable="true" type="ons:Contact" />
<element minOccurs="0" name="SoldToContact" nillable="true" type="ons:Contact" />
<element minOccurs="0" name="SubscribeOptions" nillable="true" type="zns:SubscribeOptions" />
<element minOccurs="0" name="SubscriptionData" nillable="true" type="zns:SubscriptionData" />
</sequence>
</complexType>
<complexType name="SubscribeOptions">
<sequence>
<element minOccurs="0" name="GenerateInvoice" nillable="true" type="xs:boolean" />
<element minOccurs="0" name="ProcessPayments" nillable="true" type="xs:boolean" />
</sequence>
</complexType>
<complexType name="SubscriptionData">
<sequence>
<element minOccurs="0" name="Subscription" nillable="true" type="ons:Subscription" />
<element minOccurs="0" maxOccurs="unbounded" name="RatePlanData" nillable="true" type="zns:RatePlanData" />
</sequence>
</complexType>
<complexType name="RatePlanData">
<sequence>
<element minOccurs="0" name="RatePlan" nillable="true" type="ons:RatePlan" />
<element maxOccurs="unbounded" minOccurs="0" name="RatePlanChargeData" nillable="true" type="zns:RatePlanChargeData" />
</sequence>
</complexType>
<complexType name="RatePlanChargeData">
<sequence>
<element minOccurs="0" name="RatePlanCharge" nillable="true" type="ons:RatePlanCharge" />
<element maxOccurs="unbounded" minOccurs="0" name="RatePlanChargeTier" nillable="true" type="ons:RatePlanChargeTier" />
</sequence>
</complexType>
<complexType name="SubscribeResult">
<sequence>
<element minOccurs="0" name="AccountId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="AccountNumber" nillable="true" type="string" />
<element minOccurs="0" maxOccurs="unbounded" name="Errors" nillable="true" type="zns:Error" />
<element minOccurs="0" name="InvoiceId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="InvoiceNumber" nillable="true" type="string" />
<element minOccurs="0" name="PaymentTransactionNumber" nillable="true" type="string" />
<element minOccurs="0" name="SubscriptionId" nillable="true" type="zns:ID" />
<element minOccurs="0" name="SubscriptionNumber" nillable="true" type="string" />
<element minOccurs="0" maxOccurs="1" name="Success" type="boolean" />
</sequence>
</complexType>
<complexType name="SaveResult">
<sequence>
<element minOccurs="0" maxOccurs="unbounded" name="Errors" nillable="true" type="zns:Error" />
<element minOccurs="0" maxOccurs="1" name="Id" nillable="true" type="zns:ID" />
<element minOccurs="0" maxOccurs="1" name="Success" type="boolean" />
</sequence>
</complexType>
<complexType name="DeleteResult">
<sequence>
<element name="errors" minOccurs="0" maxOccurs="unbounded" type="zns:Error" nillable="true" />
<element name="id" minOccurs="0" maxOccurs="1" type="zns:ID" nillable="true" />
<element name="success" minOccurs="0" maxOccurs="1" type="boolean" />
</sequence>
</complexType>
<simpleType name="QueryLocator">
<restriction base="xs:string" />
</simpleType>
<complexType name="QueryResult">
<sequence>
<element name="done" type="xs:boolean" />
<element name="queryLocator" type="zns:QueryLocator" nillable="true" />
<element name="records" type="ons:zObject" nillable="true" minOccurs="0" maxOccurs="unbounded" />
<element name="size" type="xs:int" />
</sequence>
</complexType>
<complexType name="Error">
<sequence>
<element minOccurs="0" name="Code" nillable="true" type="zns:ErrorCode" />
<element minOccurs="0" name="Message" nillable="true" type="string" />
<element minOccurs="0" name="Field" nillable="true" type="string" />
</sequence>
</complexType>
<simpleType name="ErrorCode">
<restriction base="xs:string">
<enumeration value="API_DISABLED" />
<enumeration value="CANNOT_DELETE" />
<enumeration value="CREDIT_CARD_PROCESSING_FAILURE" />
<enumeration value="DUPLICATE_VALUE" />
<enumeration value="INVALID_FIELD" />
<enumeration value="INVALID_LOGIN" />
<enumeration value="INVALID_SESSION" />
<enumeration value="INVALID_TYPE" />
<enumeration value="INVALID_ID" />
<enumeration value="INVALID_VALUE" />
<enumeration value="INVALID_VERSION" />
<enumeration value="MALFORMED_QUERY" />
<enumeration value="MAX_RECORDS_EXCEEDED" />
<enumeration value="MISSING_REQUIRED_VALUE" />
<enumeration value="SERVER_UNAVAILABLE" />
<enumeration value="UNKNOWN_ERROR" />
<enumeration value="TRANSACTION_FAILED" />
<enumeration value="INVALID_TEMPLATE" />
</restriction>
</simpleType>
<element name="login">
<complexType>
<sequence>
<element minOccurs="0" maxOccurs="1" name="username" type="string" />
<element minOccurs="0" maxOccurs="1" name="password" type="string" />
</sequence>
</complexType>
</element>
<element name="loginResponse">
<complexType>
<sequence>
<element minOccurs="0" maxOccurs="1" name="result" type="zns:LoginResult" />
</sequence>
</complexType>
</element>
<element name="subscribe">
<complexType>
<sequence>
<element name="subscribes" minOccurs="0" maxOccurs="unbounded" type="zns:SubscribeRequest" />
</sequence>
</complexType>
</element>
<element name="subscribeResponse">
<complexType>
<sequence>
<element name="result" minOccurs="0" maxOccurs="unbounded" type="zns:SubscribeResult" />
</sequence>
</complexType>
</element>
<element name="create">
<complexType>
<sequence>
<element minOccurs="0" maxOccurs="unbounded" name="zObjects" type="ons:zObject" />
</sequence>
</complexType>
</element>
<element name="createResponse">
<complexType>
<sequence>
<element minOccurs="0" maxOccurs="unbounded" name="result" type="zns:SaveResult" />
</sequence>
</complexType>
</element>
<element name="generate">
<complexType>
<sequence>
<element minOccurs="0" maxOccurs="unbounded" name="zObjects" type="ons:zObject" />
</sequence>
</complexType>
</element>
<element name="generateResponse">
<complexType>
<sequence>
<element minOccurs="0" maxOccurs="unbounded" name="result" type="zns:SaveResult" />
</sequence>
</complexType>
</element>
<element name="update">
<complexType>
<sequence>
<element minOccurs="0" maxOccurs="unbounded" name="zObjects" type="ons:zObject" />
</sequence>
</complexType>
</element>
<element name="updateResponse">
<complexType>
<sequence>
<element minOccurs="0" maxOccurs="unbounded" name="result" type="zns:SaveResult" />
</sequence>
</complexType>
</element>
<element name="delete">
<complexType>
<sequence>
<element name="type" type="string" minOccurs="1" maxOccurs="1" />
<element name="ids" type="zns:ID" minOccurs="0" maxOccurs="unbounded" />
</sequence>
</complexType>
</element>
<element name="deleteResponse">
<complexType>
<sequence>
<element name="result" type="zns:DeleteResult" minOccurs="0" maxOccurs="unbounded" />
</sequence>
</complexType>
</element>
<element name="query">
<complexType>
<sequence>
<element name="queryString" type="xs:string" />
</sequence>
</complexType>
</element>
<element name="queryResponse">
<complexType>
<sequence>
<element name="result" type="zns:QueryResult" />
</sequence>
</complexType>
</element>
<element name="SessionHeader">
<complexType>
<sequence>
<element name="session" type="string" />
</sequence>
</complexType>
</element>
<element name="DummyHeader">
<complexType>
<sequence>
<element minOccurs="0" name="Account" nillable="true" type="ons:Account" />
<element minOccurs="0" name="Adjustment" nillable="true" type="ons:Adjustment" />
<element minOccurs="0" name="Amendment" nillable="true" type="ons:Amendment" />
<element minOccurs="0" name="Invoice" nillable="true" type="ons:Invoice" />
<element minOccurs="0" name="InvoiceAdjustment" nillable="true" type="ons:InvoiceAdjustment" />
<element minOccurs="0" name="InvoiceItem" nillable="true" type="ons:InvoiceItem" />
<element minOccurs="0" name="InvoicePayment" nillable="true" type="ons:InvoicePayment" />
<element minOccurs="0" name="Payment" nillable="true" type="ons:Payment" />
<element minOccurs="0" name="Product" nillable="true" type="ons:Product" />
<element minOccurs="0" name="ProductRatePlan" nillable="true" type="ons:ProductRatePlan" />
<element minOccurs="0" name="ProductRatePlanCharge" nillable="true" type="ons:ProductRatePlanCharge" />
<element minOccurs="0" name="ProductRatePlanChargeTier" nillable="true" type="ons:ProductRatePlanChargeTier" />
<element minOccurs="0" name="RatePlan" nillable="true" type="ons:RatePlan" />
<element minOccurs="0" name="RatePlanCharge" nillable="true" type="ons:RatePlanCharge" />
<element minOccurs="0" name="RatePlanChargeTier" nillable="true" type="ons:RatePlanChargeTier" />
<element minOccurs="0" name="Usage" nillable="true" type="ons:Usage" />
<any namespace="##targetNamespace" minOccurs="0" maxOccurs="unbounded" processContents="lax" />
</sequence>
</complexType>
</element>
</schema>
<schema attributeFormDefault="qualified" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://fault.api.zuora.com/">
<complexType name="ApiFault">
<sequence>
<element minOccurs="0" name="FaultCode" nillable="true" type="zns:ErrorCode" />
<element minOccurs="0" name="FaultMessage" nillable="true" type="string" />
</sequence>
</complexType>
<element name="fault" type="fns:ApiFault" />
<complexType name="LoginFault">
<complexContent>
<extension base="fns:ApiFault" />
</complexContent>
</complexType>
<element name="LoginFault" type="fns:LoginFault" />
<complexType name="InvalidType">
<complexContent>
<extension base="fns:ApiFault" />
</complexContent>
</complexType>
<element name="InvalidType" type="fns:InvalidType" />
<complexType name="InvalidValueFault">
<complexContent>
<extension base="fns:ApiFault" />
</complexContent>
</complexType>
<element name="InvalidValueFault" type="fns:InvalidValueFault" />
<complexType name="MalformedQueryFault">
<complexContent>
<extension base="fns:ApiFault" />
</complexContent>
</complexType>
<element name="MalformedQueryFault" type="fns:MalformedQueryFault" />
<complexType name="InvalidQueryLocatorFault">
<complexContent>
<extension base="fns:ApiFault" />
</complexContent>
</complexType>
<element name="InvalidQueryLocatorFault" type="fns:InvalidQueryLocatorFault" />
<complexType name="UnexpectedErrorFault">
<complexContent>
<extension base="fns:ApiFault" />
</complexContent>
</complexType>
<element name="UnexpectedErrorFault" type="fns:UnexpectedErrorFault" />
</schema>
</types>
<message name="ApiFault">
<part name="fault" element="fns:fault" />
</message>
<message name="LoginFault">
<part name="fault" element="fns:LoginFault" />
</message>
<message name="InvalidType">
<part name="fault" element="fns:InvalidType" />
</message>
<message name="InvalidValueFault">
<part name="fault" element="fns:InvalidValueFault" />
</message>
<message name="MalformedQueryFault">
<part name="fault" element="fns:MalformedQueryFault" />
</message>
<message name="InvalidQueryLocatorFault">
<part name="fault" element="fns:InvalidQueryLocatorFault" />
</message>
<message name="UnexpectedErrorFault">
<part name="fault" element="fns:UnexpectedErrorFault" />
</message>
<message name="loginRequest">
<part name="parameters" element="zns:login" />
</message>
<message name="loginResponse">
<part name="parameters" element="zns:loginResponse" />
</message>
<message name="subscribeRequest">
<part name="parameters" element="zns:subscribe" />
</message>
<message name="subscribeResponse">
<part name="parameters" element="zns:subscribeResponse" />
</message>
<message name="createRequest">
<part name="parameters" element="zns:create" />
</message>
<message name="createResponse">
<part name="parameters" element="zns:createResponse" />
</message>
<message name="generateRequest">
<part name="parameters" element="zns:generate" />
</message>
<message name="generateResponse">
<part name="parameters" element="zns:generateResponse" />
</message>
<message name="updateRequest">
<part name="parameters" element="zns:update" />
</message>
<message name="updateResponse">
<part name="parameters" element="zns:updateResponse" />
</message>
<message name="deleteRequest">
<part name="parameters" element="zns:delete" />
</message>
<message name="deleteResponse">
<part name="parameters" element="zns:deleteResponse" />
</message>
<message name="queryRequest">
<part name="parameters" element="zns:query" />
</message>
<message name="queryResponse">
<part name="parameters" element="zns:queryResponse" />
</message>
<message name="Header">
<part name="SessionHeader" element="zns:SessionHeader" />
</message>
<portType name="Soap">
<operation name="login">
<input message="zns:loginRequest" />
<output message="zns:loginResponse" />
<fault message="zns:LoginFault" name="LoginFault" />
<fault message="zns:UnexpectedErrorFault" name="UnexpectedErrorFault" />
</operation>
<operation name="subscribe">
<input message="zns:subscribeRequest" />
<output message="zns:subscribeResponse" />
<fault message="zns:UnexpectedErrorFault" name="UnexpectedErrorFault" />
</operation>
<operation name="create">
<input message="zns:createRequest" />
<output message="zns:createResponse" />
<fault message="zns:InvalidType" name="InvalidType" />
<fault message="zns:UnexpectedErrorFault" name="UnexpectedErrorFault" />
</operation>
<operation name="generate">
<input message="zns:generateRequest" />
<output message="zns:generateResponse" />
<fault message="zns:InvalidType" name="InvalidType" />
<fault message="zns:UnexpectedErrorFault" name="UnexpectedErrorFault" />
</operation>
<operation name="update">
<input message="zns:updateRequest" />
<output message="zns:updateResponse" />
<fault message="zns:InvalidType" name="InvalidType" />
<fault message="zns:UnexpectedErrorFault" name="UnexpectedErrorFault" />
</operation>
<operation name="delete">
<input message="zns:deleteRequest" />
<output message="zns:deleteResponse" />
<fault message="zns:InvalidType" name="InvalidType" />
<fault message="zns:InvalidValueFault" name="InvalidValueFault" />
<fault message="zns:UnexpectedErrorFault" name="UnexpectedErrorFault" />
</operation>
<operation name="query">
<input message="zns:queryRequest" />
<output message="zns:queryResponse" />
<fault message="zns:MalformedQueryFault" name="MalformedQueryFault" />
<fault message="zns:InvalidQueryLocatorFault" name="InvalidQueryLocatorFault" />
<fault message="zns:UnexpectedErrorFault" name="UnexpectedErrorFault" />
</operation>
</portType>
<binding name="SoapBinding" type="zns:Soap">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="login">
<soap:operation soapAction="" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
<fault name="LoginFault">
<soap:fault name="LoginFault" use="literal" />
</fault>
<fault name="UnexpectedErrorFault">
<soap:fault name="UnexpectedErrorFault" use="literal" />
</fault>
</operation>
<operation name="subscribe">
<soap:operation soapAction="" />
<input>
<soap:header use="literal" message="zns:Header" part="SessionHeader" />
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
<fault name="UnexpectedErrorFault">
<soap:fault name="UnexpectedErrorFault" use="literal" />
</fault>
</operation>
<operation name="create">
<soap:operation soapAction="" />
<input>
<soap:header use="literal" message="zns:Header" part="SessionHeader" />
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
<fault name="InvalidType">
<soap:fault name="InvalidType" use="literal" />
</fault>
<fault name="UnexpectedErrorFault">
<soap:fault name="UnexpectedErrorFault" use="literal" />
</fault>
</operation>
<operation name="generate">
<soap:operation soapAction="" />
<input>
<soap:header use="literal" message="zns:Header" part="SessionHeader" />
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
<fault name="InvalidType">
<soap:fault name="InvalidType" use="literal" />
</fault>
<fault name="UnexpectedErrorFault">
<soap:fault name="UnexpectedErrorFault" use="literal" />
</fault>
</operation>
<operation name="update">
<soap:operation soapAction="" />
<input>
<soap:header use="literal" message="zns:Header" part="SessionHeader" />
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
<fault name="InvalidType">
<soap:fault name="InvalidType" use="literal" />
</fault>
<fault name="UnexpectedErrorFault">
<soap:fault name="UnexpectedErrorFault" use="literal" />
</fault>
</operation>
<operation name="query">
<soap:operation soapAction="" />
<input>
<soap:header use="literal" message="zns:Header" part="SessionHeader" />
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
<fault name="MalformedQueryFault">
<soap:fault name="MalformedQueryFault" use="literal" />
</fault>
<fault name="InvalidQueryLocatorFault">
<soap:fault name="InvalidQueryLocatorFault" use="literal" />
</fault>
<fault name="UnexpectedErrorFault">
<soap:fault name="UnexpectedErrorFault" use="literal" />
</fault>
</operation>
<operation name="delete">
<soap:operation soapAction="" />
<input>
<soap:header use="literal" message="zns:Header" part="SessionHeader" />
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
<fault name="InvalidType">
<soap:fault name="InvalidType" use="literal" />
</fault>
<fault name="InvalidValueFault">
<soap:fault name="InvalidValueFault" use="literal" />
</fault>
<fault name="UnexpectedErrorFault">
<soap:fault name="UnexpectedErrorFault" use="literal" />
</fault>
</operation>
</binding>
<service name="ZuoraService">
<port name="Soap" binding="zns:SoapBinding">
<soap:address location="https://www.zuora.com/apps/services/a/11.0" />
</port>
</service>
</definitions>