Current File : //home/tradevaly/prioyshi.com/project/vendor/authorizenet/authorizenet/AnetApiSchema.xsd |
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:anet="AnetApi/xml/v1/schema/AnetApiSchema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="AnetApi/xml/v1/schema/AnetApiSchema.xsd" elementFormDefault="qualified">
<!--
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Request type definitions begin here
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-->
<xs:simpleType name="numericString">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]+"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="alphaNumericString">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9a-zA-Z]+"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="alphaNumericSpaceString">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9a-zA-Z\s]+"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:complexType name="ArrayOfLong">
<xs:sequence>
<xs:element name="long" type="xs:long" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ArrayOfNumericString">
<xs:sequence>
<xs:element name="numericString" type="anet:numericString" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ArrayOfString">
<xs:sequence>
<xs:element name="string" type="xs:string" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ArrayOfLineItem">
<xs:sequence>
<xs:element name="lineItem" type="anet:lineItemType" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ArrayOfBatchStatisticType">
<xs:sequence>
<xs:element name="statistic" type="anet:batchStatisticType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ArrayOfBatchDetailsType">
<xs:sequence>
<xs:element name="batch" type="anet:batchDetailsType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ArrayOfTransactionSummaryType">
<xs:sequence>
<xs:element name="transaction" type="anet:transactionSummaryType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ARBTransactionList">
<xs:sequence>
<xs:element name="arbTransaction" type="anet:arbTransaction" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ArrayOfSetting">
<xs:sequence>
<xs:element name="setting" type="anet:settingType" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ArrayOfFDSFilter">
<xs:sequence>
<xs:element name="FDSFilter" type="anet:FDSFilterType" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ArrayOfPermissionType">
<xs:sequence>
<xs:element name="permission" type="anet:permissionType" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ArrayOfContactDetail">
<xs:sequence>
<xs:element name="contactDetail" type="anet:ContactDetailType" nillable="false" minOccurs="0" maxOccurs="unbounded"></xs:element>
</xs:sequence>
</xs:complexType>
<!--
==============================================================================
Reason for MasterCard Auth Indicator Transaction Value
==============================================================================
-->
<xs:simpleType name="authIndicatorEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="pre"/>
<xs:enumeration value="final"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="bankAccountTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="checking"/>
<xs:enumeration value="savings"/>
<xs:enumeration value="businessChecking"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="echeckTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="PPD"/>
<xs:enumeration value="WEB"/>
<xs:enumeration value="CCD"/>
<xs:enumeration value="TEL"/>
<xs:enumeration value="ARC"/>
<xs:enumeration value="BOC"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="paymentMethodEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="creditCard"/>
<xs:enumeration value="eCheck"/>
<xs:enumeration value="payPal"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="cardTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="Visa"/>
<xs:enumeration value="MasterCard"/>
<xs:enumeration value="AmericanExpress"/>
<xs:enumeration value="Discover"/>
<xs:enumeration value="JCB"/>
<xs:enumeration value="DinersClub"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="accountTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="Visa"/>
<xs:enumeration value="MasterCard"/>
<xs:enumeration value="AmericanExpress"/>
<xs:enumeration value="Discover"/>
<xs:enumeration value="JCB"/>
<xs:enumeration value="DinersClub"/>
<xs:enumeration value="eCheck"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="customerTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="individual"/>
<xs:enumeration value="business"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="ARBSubscriptionUnitEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="days"/>
<xs:enumeration value="months"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="validationModeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="none"/>
<xs:enumeration value="testMode"/>
<xs:enumeration value="liveMode"/>
<xs:enumeration value="oldLiveMode"/>
<!-- Free test-mode transaction. No validation against live cardholder account. -->
<!-- Validate against live cardholder account for 0.00 if available, 0.01 otherwise. -->
<!-- Validate against live cardholder account for 0.01 even if 0.00 option is available. NOT RECOMMENDED. Use of this option can result in fines from your processor. -->
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="splitTenderStatusEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="completed"/>
<xs:enumeration value="held"/>
<xs:enumeration value="voided"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="ARBSubscriptionStatusEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="active"/>
<xs:enumeration value="expired"/>
<xs:enumeration value="suspended"/>
<xs:enumeration value="canceled"/>
<xs:enumeration value="terminated"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="transactionTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="authOnlyTransaction"/>
<xs:enumeration value="authCaptureTransaction"/>
<xs:enumeration value="captureOnlyTransaction"/>
<xs:enumeration value="refundTransaction"/>
<xs:enumeration value="priorAuthCaptureTransaction"/>
<xs:enumeration value="voidTransaction"/>
<xs:enumeration value="getDetailsTransaction"/>
<xs:enumeration value="authOnlyContinueTransaction"/>
<xs:enumeration value="authCaptureContinueTransaction"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="transactionStatusEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="authorizedPendingCapture"/>
<xs:enumeration value="capturedPendingSettlement"/>
<xs:enumeration value="communicationError"/>
<xs:enumeration value="refundSettledSuccessfully"/>
<xs:enumeration value="refundPendingSettlement"/>
<xs:enumeration value="approvedReview"/>
<xs:enumeration value="declined"/>
<xs:enumeration value="couldNotVoid"/>
<xs:enumeration value="expired"/>
<xs:enumeration value="generalError"/>
<xs:enumeration value="pendingFinalSettlement"/>
<xs:enumeration value="pendingSettlement"/>
<xs:enumeration value="failedReview"/>
<xs:enumeration value="settledSuccessfully"/>
<xs:enumeration value="settlementError"/>
<xs:enumeration value="underReview"/>
<xs:enumeration value="updatingSettlement"/>
<xs:enumeration value="voided"/>
<xs:enumeration value="FDSPendingReview"/>
<xs:enumeration value="FDSAuthorizedPendingReview"/>
<xs:enumeration value="returnedItem"/>
<xs:enumeration value="chargeback"/>
<xs:enumeration value="chargebackReversal"/>
<xs:enumeration value="authorizedPendingRelease"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="settlementStateEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="settledSuccessfully"/>
<xs:enumeration value="settlementError"/>
<xs:enumeration value="pendingSettlement"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="FDSFilterActionEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="reject"/>
<xs:enumeration value="decline"/>
<xs:enumeration value="hold"/>
<xs:enumeration value="authAndHold"/>
<xs:enumeration value="report"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="permissionsEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="API_Merchant_BasicReporting"/>
<xs:enumeration value="Submit_Charge"/>
<xs:enumeration value="Submit_Refund"/>
<xs:enumeration value="Submit_Update"/>
<xs:enumeration value="Mobile_Admin"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="deviceActivationEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="Activate"/>
<xs:enumeration value="Disable"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="TransactionGroupStatusEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="any"/>
<xs:enumeration value="pendingApproval"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="afdsTransactionEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="approve"/>
<xs:enumeration value="decline"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:simpleType name="customerProfileTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="regular" />
<xs:enumeration value="guest" />
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:complexType name="driversLicenseType">
<xs:sequence>
<!-- Format of number should be string or four X's followed by the last four digits. -->
<xs:element name="number">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="5"/>
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="state">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="2"/>
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Format of dateOfBirth should be xs:date (1965-01-28) or XX/XX/1965. -->
<xs:element name="dateOfBirth">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="8"/>
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="driversLicenseMaskedType">
<xs:sequence>
<xs:element name="number">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="state">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="2"/>
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="dateOfBirth">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="8"/>
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="nameAndAddressType">
<xs:sequence>
<xs:element name="firstName" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="lastName" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="company" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="address" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="city" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="state" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="zip" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="country" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="merchantContactType">
<xs:sequence>
<xs:element name="merchantName" type="xs:string" minOccurs="0"/>
<xs:element name="merchantAddress" type="xs:string" minOccurs="0"/>
<xs:element name="merchantCity" type="xs:string" minOccurs="0"/>
<xs:element name="merchantState" type="xs:string" minOccurs="0"/>
<xs:element name="merchantZip" type="xs:string" minOccurs="0"/>
<xs:element name="merchantPhone" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="transRetailInfoType">
<xs:sequence>
<xs:element name="marketType" type="xs:string" default="2" minOccurs="0"/>
<xs:element name="deviceType" type="xs:string" minOccurs="0"/>
<xs:element name="customerSignature" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="terminalNumber" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="creditCardSimpleType">
<xs:sequence>
<!-- Format of cardNumber should be numeric string or four X's followed by the last four digits. -->
<xs:element name="cardNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="4"/>
<xs:maxLength value="16"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Format of expirationDate should be gYearMonth (such as 2001-10) or four X's. -->
<xs:element name="expirationDate">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="4"/>
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="creditCardTrackType">
<xs:choice>
<xs:element name="track1" type="xs:string"/>
<xs:element name="track2" type="xs:string"/>
</xs:choice>
</xs:complexType>
<xs:simpleType name="cardCode">
<xs:restriction base="anet:numericString">
<xs:minLength value="3"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:complexType name="creditCardType">
<xs:complexContent>
<xs:extension base="anet:creditCardSimpleType">
<xs:sequence>
<!-- cardCode may be passed in for validation but it will not be stored. -->
<xs:element name="cardCode" type="anet:cardCode" minOccurs="0" maxOccurs="1"/>
<!-- To identify whether the CardNumber passed in is a PaymentToken or a real creditCardNumber. -->
<xs:element name="isPaymentToken" type="xs:boolean" minOccurs="0"/>
<!-- If the CardNumber passed in is a paymentToken, a cryptogram is needed for one-off payments. -->
<xs:element name="cryptogram" type="xs:string" minOccurs="0"/>
<!-- This is only needed for chase pay. -->
<xs:element name="tokenRequestorName" type="xs:string" minOccurs="0" maxOccurs="1"/>
<!-- This is only needed for chase pay. -->
<xs:element name="tokenRequestorId" type="xs:string" minOccurs="0" maxOccurs="1"/>
<!-- This is only needed for chase pay. -->
<xs:element name="tokenRequestorEci" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="creditCardMaskedType">
<xs:sequence>
<xs:element name="cardNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="expirationDate">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="4"/>
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cardType" type="xs:string" minOccurs="0"/>
<!-- anet:cardTypeEnum -->
<xs:element name="cardArt" type="anet:cardArt" minOccurs="0"/>
<xs:element name="issuerNumber" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="isPaymentToken" type="xs:boolean" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ccAuthenticationType">
<xs:sequence>
<xs:element name="authenticationIndicator" type="xs:string"/>
<xs:element name="cardholderAuthenticationValue" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="bankAccountType">
<xs:sequence>
<xs:element name="accountType" type="anet:bankAccountTypeEnum" minOccurs="0"/>
<!-- Format of routingNumber should be nine digits or four X's followed by the last four digits. -->
<xs:element name="routingNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="9"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Format of accountNumber should be numeric string or four X's followed by the last four digits. -->
<xs:element name="accountNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="17"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="nameOnAccount">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="22"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="echeckType" type="anet:echeckTypeEnum" minOccurs="0"/>
<xs:element name="bankName" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="checkNumber" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="15"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="bankAccountMaskedType">
<xs:sequence>
<xs:element name="accountType" type="anet:bankAccountTypeEnum" minOccurs="0"/>
<xs:element name="routingNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="accountNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="nameOnAccount">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="22"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="echeckType" type="anet:echeckTypeEnum" minOccurs="0"/>
<xs:element name="bankName" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!--============= opaqueDataType ======================================================-->
<xs:complexType name="opaqueDataType">
<xs:sequence>
<xs:element name="dataDescriptor" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="dataValue" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="dataKey" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="expirationTimeStamp" type="xs:dateTime" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="paymentSimpleType">
<xs:sequence>
<xs:choice>
<xs:element name="creditCard" type="anet:creditCardSimpleType"/>
<xs:element name="bankAccount" type="anet:bankAccountType"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="paymentType">
<xs:sequence>
<xs:choice>
<xs:element name="creditCard" type="anet:creditCardType"/>
<xs:element name="bankAccount" type="anet:bankAccountType"/>
<xs:element name="trackData" type="anet:creditCardTrackType"/>
<xs:element name="encryptedTrackData" type="anet:encryptedTrackDataType"/>
<xs:element name="payPal" type="anet:payPalType"/>
<xs:element name="opaqueData" type="anet:opaqueDataType"/>
<xs:element name="emv" type="anet:paymentEmvType"/>
</xs:choice>
<xs:element name="dataSource" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="paymentMaskedType">
<xs:sequence>
<xs:choice>
<xs:element name="creditCard" type="anet:creditCardMaskedType"/>
<xs:element name="bankAccount" type="anet:bankAccountMaskedType"/>
<xs:element name="tokenInformation" type="anet:tokenMaskedType"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="tokenMaskedType">
<xs:sequence>
<xs:element name="tokenSource" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="tokenNumber" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="expirationDate" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="4"/>
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="tokenRequestorId" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="orderType">
<xs:sequence>
<xs:element name="invoiceNumber" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="description" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="discountAmount" minOccurs="0" type="xs:decimal"/>
<xs:element name="taxIsAfterDiscount" type="xs:boolean" minOccurs="0">
</xs:element>
<xs:element name="totalTaxTypeCode" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="purchaserVATRegistrationNumber" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="21"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="merchantVATRegistrationNumber" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="21"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="vatInvoiceReferenceNumber" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="15"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="purchaserCode" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="17"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="summaryCommodityCode" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="purchaseOrderDateUTC" minOccurs="0" type="xs:date"/>
<xs:element name="supplierOrderReference" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="authorizedContactName" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="36"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cardAcceptorRefNumber" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="amexDataTAA1" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="amexDataTAA2" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="amexDataTAA3" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="amexDataTAA4" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="orderExType">
<xs:complexContent>
<xs:extension base="anet:orderType">
<xs:sequence>
<xs:element name="purchaseOrderNumber" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="customerType">
<xs:sequence>
<xs:element name="type" type="anet:customerTypeEnum" minOccurs="0"/>
<xs:element name="id" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="email" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="phoneNumber" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="faxNumber" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="driversLicense" type="anet:driversLicenseType" minOccurs="0"/>
<xs:element name="taxId" minOccurs="0">
<xs:simpleType>
<xs:restriction base="anet:numericString">
<xs:minLength value="9"/>
<xs:maxLength value="9"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="customerDataType">
<xs:sequence>
<xs:element name="type" type="anet:customerTypeEnum" minOccurs="0"/>
<xs:element name="id" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="email" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="driversLicense" type="anet:driversLicenseType" minOccurs="0"/>
<xs:element name="taxId" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="8"/>
<xs:maxLength value="9"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="merchantAuthenticationType">
<xs:sequence>
<xs:element name="name" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- name="MerchantAuthenticationItemChoiceType" -->
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element name="transactionKey">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="16"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sessionToken" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="impersonationAuthentication" type="anet:impersonationAuthenticationType" minOccurs="0" maxOccurs="1"/>
<xs:element name="fingerPrint" type="anet:fingerPrintType" minOccurs="0" maxOccurs="1"/>
<xs:element name="clientKey" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element maxOccurs="1" minOccurs="0" name="accessToken" type="xs:string"/>
</xs:choice>
<xs:element name="mobileDeviceId" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===========fingerPrint ========================== -->
<xs:complexType name="fingerPrintType">
<xs:sequence>
<xs:element name="hashValue" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="sequence" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="timestamp" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="currencyCode" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="amount" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!-- ===========Decryption Start ========================== -->
<xs:complexType name="cardArt">
<xs:sequence>
<xs:element name="cardBrand" type="xs:string" minOccurs="0"/>
<xs:element name="cardImageHeight" type="xs:string" minOccurs="0"/>
<xs:element name="cardImageUrl" type="xs:string" minOccurs="0"/>
<xs:element name="cardImageWidth" type="xs:string" minOccurs="0"/>
<xs:element name="cardType" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="paymentDetails">
<xs:sequence>
<xs:element name="currency" type="xs:string" minOccurs="0"/>
<xs:element name="promoCode" type="xs:string" minOccurs="0"/>
<xs:element name="misc" type="xs:string" minOccurs="0"/>
<xs:element name="giftWrap" type="xs:string" minOccurs="0"/>
<xs:element name="discount" type="xs:string" minOccurs="0"/>
<xs:element name="tax" type="xs:string" minOccurs="0"/>
<xs:element name="shippingHandling" type="xs:string" minOccurs="0"/>
<xs:element name="subTotal" type="xs:string" minOccurs="0"/>
<xs:element name="orderID" type="xs:string" minOccurs="0"/>
<xs:element name="amount" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:element name="decryptPaymentDataRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="opaqueData" type="anet:opaqueDataType" minOccurs="1" maxOccurs="1"/>
<xs:element name="callId" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="decryptPaymentDataResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="shippingInfo" type="anet:customerAddressType" minOccurs="0"/>
<xs:element name="billingInfo" type="anet:customerAddressType" minOccurs="0"/>
<xs:element name="cardInfo" type="anet:creditCardMaskedType" minOccurs="0"/>
<xs:element name="paymentDetails" type="anet:paymentDetails" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!-- ===========Decryption End ========================== -->
<!-- ===========Encryption Start ========================== -->
<xs:element name="securePaymentContainerRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="data" type="anet:webCheckOutDataType" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="securePaymentContainerResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="opaqueData" type="anet:opaqueDataType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="webCheckOutDataType">
<xs:sequence>
<xs:element name="type" type="anet:webCheckOutTypeEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="id" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="64"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="token" type="anet:webCheckOutDataTypeToken" minOccurs="0" maxOccurs="1"/>
<xs:element name="bankToken" type="anet:bankAccountType" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="securePaymentContainerErrorType">
<xs:sequence>
<xs:element name="code" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="webCheckOutTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="PAN"/>
<xs:enumeration value="TOKEN"/>
</xs:restriction>
</xs:simpleType>
<!-- ===========Encryption End ========================== -->
<!-- ===========META CREDENTIALS========================== -->
<xs:complexType name="impersonationAuthenticationType">
<xs:sequence>
<xs:element name="partnerLoginId" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="partnerTransactionKey" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="16"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="paymentScheduleType">
<xs:sequence>
<!-- required for a new schedule, optional when updating -->
<xs:element name="interval" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="length">
<xs:simpleType>
<xs:restriction base="xs:short">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="32000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="unit" type="anet:ARBSubscriptionUnitEnum"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- required for a new schedule, not allowed when editting existing subscription -->
<xs:element name="startDate" type="xs:date" minOccurs="0"/>
<!-- required for a new schedule, optional when updating -->
<xs:element name="totalOccurrences" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:short">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="32000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- trialOccurrences is always optional -->
<xs:element name="trialOccurrences" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:short">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="32000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ARBSubscriptionType">
<xs:sequence>
<xs:element name="name" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- paymentSchedule is required for a new subscription, optional if updating existing subscription -->
<xs:element name="paymentSchedule" type="anet:paymentScheduleType" minOccurs="0"/>
<xs:element name="amount" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.01"/>
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="trialAmount" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="4"/>
<xs:minInclusive value="0.00"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- required for Create, optional on Update -->
<xs:element name="payment" type="anet:paymentType" minOccurs="0"/>
<xs:element name="order" type="anet:orderType" minOccurs="0"/>
<xs:element name="customer" type="anet:customerType" minOccurs="0"/>
<xs:element name="billTo" type="anet:nameAndAddressType" minOccurs="0"/>
<xs:element name="shipTo" type="anet:nameAndAddressType" minOccurs="0"/>
<xs:element name="profile" type="anet:customerProfileIdType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ARBSubscriptionMaskedType">
<xs:sequence>
<xs:element name="name" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- paymentSchedule is required for a new subscription, optional if updating existing subscription -->
<xs:element name="paymentSchedule" type="anet:paymentScheduleType" minOccurs="0"/>
<xs:element name="amount" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.01"/>
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="trialAmount" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="4"/>
<xs:minInclusive value="0.00"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="status" type="anet:ARBSubscriptionStatusEnum" minOccurs="0"/>
<xs:element name="profile" type="anet:subscriptionCustomerProfileType" minOccurs="0"/>
<xs:element name="order" type="anet:orderType" minOccurs="0"/>
<xs:element name="arbTransactions" type="anet:ARBTransactionList" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="subscriptionCustomerProfileType">
<xs:complexContent>
<xs:extension base="anet:customerProfileExType">
<xs:sequence>
<xs:element name="paymentProfile" type="anet:customerPaymentProfileMaskedType" minOccurs="0" maxOccurs="1"/>
<xs:element name="shippingProfile" type="anet:customerAddressExType" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="subscriptionPaymentType">
<xs:sequence>
<xs:element name="id">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="payNum">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="fraudInformationType">
<xs:sequence>
<xs:element name="fraudFilterList" type="anet:ArrayOfFraudFilterType" minOccurs="1" maxOccurs="1"/>
<xs:element name="fraudAction">
<xs:simpleType>
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfFraudFilterType">
<xs:sequence>
<xs:element name="fraudFilter" type="xs:string" minOccurs="1" maxOccurs="1000"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="mobileDeviceType">
<xs:sequence>
<xs:element name="mobileDeviceId" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="description" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="phoneNumber" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="devicePlatform" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="deviceActivation" type="anet:deviceActivationEnum" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
subMerchantType
These are the fields that are used for a transaction request.
===================================================================
-->
<xs:complexType name="subMerchantType">
<xs:sequence>
<xs:element name="identifier" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="doingBusinessAs" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="paymentServiceProviderName" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="paymentServiceFacilitator" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="streetAddress" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="phone" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="email" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="postalCode" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="city" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="regionCode" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="countryCode" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
transactionRequestType
These are the fields that are used for a transaction request.
===================================================================
-->
<xs:complexType name="transactionRequestType">
<xs:sequence>
<xs:element name="transactionType" type="xs:string" />
<xs:element name="amount" type="xs:decimal" minOccurs="0" />
<xs:element name="currencyCode" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
<xs:element name="payment" type="anet:paymentType" minOccurs="0" />
<xs:element name="profile" type="anet:customerProfilePaymentType" minOccurs="0"/>
<xs:element name="solution" type="anet:solutionType" minOccurs="0"/>
<xs:element name="callId" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="terminalNumber" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="authCode" type="xs:string" minOccurs="0"/>
<xs:element name="refTransId" type="xs:string" minOccurs="0"/>
<xs:element name="splitTenderId" type="xs:string" minOccurs="0"/>
<xs:element name="order" type="anet:orderType" minOccurs="0"/>
<xs:element name="lineItems" type="anet:ArrayOfLineItem" minOccurs="0"/>
<xs:element name="tax" type="anet:extendedAmountType" minOccurs="0"/>
<xs:element name="duty" type="anet:extendedAmountType" minOccurs="0"/>
<xs:element name="shipping" type="anet:extendedAmountType" minOccurs="0"/>
<xs:element name="taxExempt" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:boolean"/>
</xs:simpleType>
</xs:element>
<xs:element name="poNumber" type="xs:string" minOccurs="0"/>
<xs:element name="customer" type="anet:customerDataType" minOccurs="0"/>
<xs:element name="billTo" type="anet:customerAddressType" minOccurs="0"/>
<xs:element name="shipTo" type="anet:nameAndAddressType" minOccurs="0"/>
<xs:element name="customerIP" type="xs:string" minOccurs="0"/>
<xs:element name="cardholderAuthentication" type="anet:ccAuthenticationType" minOccurs="0"/>
<xs:element name="retail" type="anet:transRetailInfoType" minOccurs="0"/>
<xs:element name="employeeId" type="xs:string" minOccurs="0"/>
<xs:element name="transactionSettings" type="anet:ArrayOfSetting" minOccurs="0">
<xs:annotation>
<xs:documentation>Allowed values for settingName are: emailCustomer, merchantEmail, allowPartialAuth, headerEmailReceipt, footerEmailReceipt, recurringBilling, duplicateWindow, testRequest.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="userFields" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="userField" type="anet:userField" minOccurs="0" maxOccurs="20"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="surcharge" type="anet:extendedAmountType" minOccurs="0"/>
<xs:element name="merchantDescriptor" type="xs:string" minOccurs="0" />
<xs:element name="subMerchant" type="anet:subMerchantType" minOccurs="0" maxOccurs="1" />
<xs:element name="tip" type="anet:extendedAmountType" minOccurs="0"/>
<xs:element name="processingOptions" type="anet:processingOptions" minOccurs="0" maxOccurs="1"/>
<xs:element name="subsequentAuthInformation" type="anet:subsequentAuthInformation" minOccurs="0" maxOccurs="1"/>
<xs:element name="otherTax" minOccurs="0" type="anet:otherTaxType" />
<xs:element name="shipFrom" minOccurs="0" type="anet:nameAndAddressType" />
<xs:element name="authorizationIndicatorType" type="anet:authorizationIndicatorType" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="KeyManagementScheme">
<xs:sequence>
<xs:element name="DUKPT">
<xs:complexType>
<xs:sequence>
<xs:element name="Operation" type="anet:OperationType"/>
<xs:element name="Mode">
<xs:complexType>
<xs:sequence>
<xs:element name="PIN" type="xs:string" minOccurs="0"/>
<xs:element name="Data" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DeviceInfo">
<xs:complexType>
<xs:sequence>
<xs:element name="Description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EncryptedData">
<xs:complexType>
<xs:sequence>
<xs:element name="Value" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="OperationType">
<xs:restriction base="xs:string">
<xs:enumeration value="DECRYPT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="EncryptionAlgorithmType">
<xs:restriction base="xs:string">
<xs:enumeration value="TDES"/>
<xs:enumeration value="AES"/>
<xs:enumeration value="RSA"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="EncodingType">
<xs:restriction base="xs:string">
<xs:enumeration value="Base64"/>
<xs:enumeration value="Hex"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="KeyValue">
<xs:sequence>
<xs:element name="Encoding" type="anet:EncodingType"/>
<xs:element name="EncryptionAlgorithm" type="anet:EncryptionAlgorithmType"/>
<xs:element name="Scheme" type="anet:KeyManagementScheme"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="KeyBlock">
<xs:sequence>
<xs:element name="Value" type="anet:KeyValue"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="encryptedTrackDataType">
<xs:sequence>
<xs:element name="FormOfPayment" type="anet:KeyBlock"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="settingType">
<xs:sequence>
<xs:element name="settingName" type="xs:string" minOccurs="0"/>
<xs:element name="settingValue" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="permissionType">
<xs:sequence>
<xs:element name="permissionName" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:simpleType name="settingNameEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="emailCustomer">
<xs:annotation>
<xs:documentation>true/false. Used by createTransaction method.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="merchantEmail">
<xs:annotation>
<xs:documentation>string. Used by createTransaction method.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="allowPartialAuth">
<xs:annotation>
<xs:documentation>true/false. Used by createTransaction method.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="headerEmailReceipt">
<xs:annotation>
<xs:documentation>string. Used by createTransaction method.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="footerEmailReceipt">
<xs:annotation>
<xs:documentation>string. Used by createTransaction method.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="recurringBilling">
<xs:annotation>
<xs:documentation>true/false. Used by createTransaction method.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="duplicateWindow">
<xs:annotation>
<xs:documentation>number. Used by createTransaction method.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="testRequest">
<xs:annotation>
<xs:documentation>true/false. Used by createTransaction method.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedProfileReturnUrl">
<xs:annotation>
<xs:documentation>string. Used by getHostedProfilePage method.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedProfileReturnUrlText">
<xs:annotation>
<xs:documentation>string. Used by getHostedProfilePage method.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedProfilePageBorderVisible">
<xs:annotation>
<xs:documentation>true/false. Used by getHostedProfilePage method.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedProfileIFrameCommunicatorUrl">
<xs:annotation>
<xs:documentation>string. Used by getHostedProfilePage method.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedProfileHeadingBgColor">
<xs:annotation>
<xs:documentation>#e0e0e0. Used by getHostedProfilePage method.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedProfileValidationMode">
<xs:annotation>
<xs:documentation>
liveMode/testMode
liveMode: generates a transaction to the processor in the amount of 0.01 or 0.00. is immediately voided, if successful.
testMode: performs field validation only, all fields are validated except unrestricted field definitions (viz. telephone number) do not generate errors.
If a validation transaction is unsuccessful, the profile is not created, and the merchant receives an error.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedProfileBillingAddressRequired">
<xs:annotation>
<xs:documentation>true/false. If true, sets First Name, Last Name, Address, City, State, and Zip Code as required fields in order for a payment profile to be created or updated within a hosted CIM form.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedProfileCardCodeRequired">
<xs:annotation>
<xs:documentation>true/false. If true, sets the Card Code field as required in order for a payment profile to be created or updated within a hosted CIM form.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedProfileBillingAddressOptions">
<xs:annotation>
<xs:documentation>
showBillingAddress/showNone
showBillingAddress: Allow merchant to show billing address.
showNone : Hide billing address and billing name.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedProfileManageOptions">
<xs:annotation>
<xs:documentation>
showAll/showPayment/ShowShipping
showAll: Shipping and Payment profiles are shown on the manage page, this is the default.
showPayment : Only Payment profiles are shown on the manage page.
showShipping : Only Shippiung profiles are shown on the manage page.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedPaymentIFrameCommunicatorUrl">
<xs:annotation>
<xs:documentation>JSON string. Used by getHostedPaymentPage method.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedPaymentButtonOptions">
<xs:annotation>
<xs:documentation>JSON string. Used by getHostedPaymentPage method.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedPaymentReturnOptions">
<xs:annotation>
<xs:documentation>JSON string. Used by getHostedPaymentPage method</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedPaymentOrderOptions">
<xs:annotation>
<xs:documentation>JSON string. Used by getHostedPaymentPage method</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedPaymentPaymentOptions">
<xs:annotation>
<xs:documentation>JSON string. Used by getHostedPaymentPage method</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedPaymentBillingAddressOptions">
<xs:annotation>
<xs:documentation>JSON string. Used by getHostedPaymentPage method</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedPaymentShippingAddressOptions">
<xs:annotation>
<xs:documentation>JSON string. Used by getHostedPaymentPage method</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedPaymentSecurityOptions">
<xs:annotation>
<xs:documentation>JSON string. Used by getHostedPaymentPage method</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedPaymentCustomerOptions">
<xs:annotation>
<xs:documentation>JSON string. Used by getHostedPaymentPage method</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedPaymentStyleOptions">
<xs:annotation>
<xs:documentation>JSON string. Used by getHostedPaymentPage method</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="typeEmailReceipt">
<xs:annotation>
<xs:documentation>JSON string. Used by sendCustomerTransactionReceipt method</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedProfilePaymentOptions">
<xs:annotation>
<xs:documentation>
showAll/showCreditCard/showBankAccount
showAll: both CreditCard and BankAccount sections will be shown on Add payment page, this is the default.
showCreditCard :only CreditCard payment form will be shown on Add payment page.
showBankAccount :only BankAccount payment form will be shown on Add payment page.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedProfileSaveButtonText">
<xs:annotation>
<xs:documentation>string. Used by getHostedProfilePage method to accept button text configuration.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="hostedPaymentVisaCheckoutOptions">
<xs:annotation>
<xs:documentation>string. Used by getHostedPaymentPage method to accept VisaCheckout configuration.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<!-- ===================================================== -->
<xs:complexType name="userField">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0"/>
<xs:element name="value" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="emvTag">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0"/>
<xs:element name="value" type="xs:string" minOccurs="0"/>
<xs:element name="formatted" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="customerPaymentProfileBaseType">
<xs:sequence>
<xs:element name="customerType" type="anet:customerTypeEnum" minOccurs="0"/>
<xs:element name="billTo" type="anet:customerAddressType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="customerPaymentProfileType">
<xs:complexContent>
<xs:extension base="anet:customerPaymentProfileBaseType">
<xs:sequence>
<xs:element name="payment" type="anet:paymentType" minOccurs="0"/>
<xs:element name="driversLicense" type="anet:driversLicenseType" minOccurs="0"/>
<!-- Format of taxId should be numeric string or four X's followed by the last four digits. -->
<xs:element name="taxId" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="8"/>
<xs:maxLength value="9"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="defaultPaymentProfile" type="xs:boolean" minOccurs="0"/>
<xs:element name="subsequentAuthInformation" type="anet:subsequentAuthInformation" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="customerPaymentProfileExType">
<xs:complexContent>
<xs:extension base="anet:customerPaymentProfileType">
<xs:sequence>
<xs:element name="customerPaymentProfileId" type="anet:numericString" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="customerPaymentProfileMaskedType">
<xs:complexContent>
<xs:extension base="anet:customerPaymentProfileBaseType">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString" minOccurs="0"/>
<xs:element name="customerPaymentProfileId" type="anet:numericString" minOccurs="1"/>
<xs:element name="defaultPaymentProfile" type="xs:boolean" minOccurs="0"/>
<xs:element name="payment" type="anet:paymentMaskedType" minOccurs="0"/>
<xs:element name="driversLicense" type="anet:driversLicenseMaskedType" minOccurs="0"/>
<xs:element name="taxId" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="subscriptionIds" type="anet:SubscriptionIdList" minOccurs="0" maxOccurs="1"/>
<xs:element name="originalNetworkTransId" type="anet:networkTransId" minOccurs="0" maxOccurs="1"/>
<xs:element name="originalAuthAmount" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.00"/>
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="SubscriptionIdList">
<xs:sequence>
<xs:element name="subscriptionId" type="anet:numericString" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="customerProfileBaseType">
<xs:sequence>
<xs:element name="merchantCustomerId" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="description" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="email" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="customerProfileType">
<xs:complexContent>
<xs:extension base="anet:customerProfileBaseType">
<xs:sequence>
<xs:element name="paymentProfiles" type="anet:customerPaymentProfileType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="shipToList" type="anet:customerAddressType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="profileType" type="anet:customerProfileTypeEnum" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="paymentEmvType">
<xs:sequence>
<xs:element name="emvData" minOccurs="1" maxOccurs="1"/>
<xs:element name="emvDescriptor" minOccurs="1" maxOccurs="1"/>
<xs:element name="emvVersion" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="customerProfileExType">
<xs:complexContent>
<xs:extension base="anet:customerProfileBaseType">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="customerProfileInfoExType">
<xs:complexContent>
<xs:extension base="anet:customerProfileExType">
<xs:sequence>
<xs:element name="profileType" type="anet:customerProfileTypeEnum" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="customerProfileMaskedType">
<xs:complexContent>
<xs:extension base="anet:customerProfileExType">
<xs:sequence>
<xs:element name="paymentProfiles" type="anet:customerPaymentProfileMaskedType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="shipToList" type="anet:customerAddressExType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="profileType" type="anet:customerProfileTypeEnum" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="customerAddressType">
<xs:complexContent>
<xs:extension base="anet:nameAndAddressType">
<xs:sequence>
<xs:element name="phoneNumber" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="faxNumber" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="email" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="customerAddressExType">
<xs:complexContent>
<xs:extension base="anet:customerAddressType">
<xs:sequence>
<xs:element name="customerAddressId" type="anet:numericString" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="extendedAmountType">
<xs:sequence>
<xs:element name="amount">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.00"/>
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="name" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="31"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="description" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<!-- ===================================================== -->
<xs:complexType name="otherTaxType">
<xs:sequence>
<xs:element name="nationalTaxAmount" minOccurs="0" type="xs:decimal" />
<xs:element name="localTaxAmount" minOccurs="0" type="xs:decimal" />
<xs:element name="alternateTaxAmount" minOccurs="0" type="xs:decimal" />
<xs:element name="alternateTaxId" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="15"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="vatTaxRate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="5"/>
<xs:fractionDigits value="5"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="vatTaxAmount" minOccurs="0" type="xs:decimal" />
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<!-- ===================================================== -->
<xs:complexType name="lineItemType">
<xs:sequence>
<xs:element name="itemId">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="31"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="name">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="31"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="description" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="quantity">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.00"/>
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="unitPrice">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.00"/>
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="taxable" minOccurs="0" type="xs:boolean" />
<xs:element name="unitOfMeasure" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="12"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="typeOfSupply" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="taxRate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="5"/>
<xs:fractionDigits value="5"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="taxAmount" minOccurs="0" type="xs:decimal" />
<xs:element name="nationalTax" minOccurs="0" type="xs:decimal"/>
<xs:element name="localTax" minOccurs="0" type="xs:decimal"/>
<xs:element name="vatRate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="5"/>
<xs:fractionDigits value="5"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="alternateTaxId" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="alternateTaxType" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="alternateTaxTypeApplied" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="alternateTaxRate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="5" />
<xs:fractionDigits value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="alternateTaxAmount" minOccurs="0" type="xs:decimal" />
<xs:element name="totalAmount" minOccurs="0" type="xs:decimal" />
<xs:element name="commodityCode" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="15"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="productCode" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="productSKU" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="discountRate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="5" />
<xs:fractionDigits value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="discountAmount" minOccurs="0" type="xs:decimal" />
<xs:element name="taxIncludedInTotal" minOccurs="0" type ="xs:boolean" />
<xs:element name="taxIsAfterDiscount" minOccurs="0" type="xs:boolean" >
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="profileTransAmountType">
<xs:sequence>
<xs:element name="amount">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.01"/>
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="tax" type="anet:extendedAmountType" minOccurs="0"/>
<xs:element name="shipping" type="anet:extendedAmountType" minOccurs="0"/>
<xs:element name="duty" type="anet:extendedAmountType" minOccurs="0"/>
<xs:element name="lineItems" type="anet:lineItemType" minOccurs="0" maxOccurs="30"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="profileTransOrderType">
<xs:complexContent>
<xs:extension base="anet:profileTransAmountType">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString"/>
<xs:element name="customerPaymentProfileId" type="anet:numericString"/>
<xs:element name="customerShippingAddressId" type="anet:numericString" minOccurs="0"/>
<xs:element name="order" type="anet:orderExType" minOccurs="0"/>
<xs:element name="taxExempt" type="xs:boolean" minOccurs="0"/>
<xs:element name="recurringBilling" type="xs:boolean" minOccurs="0"/>
<xs:element name="cardCode" type="anet:cardCode" minOccurs="0" maxOccurs="1"/>
<xs:element name="splitTenderId" type="anet:numericString" minOccurs="0"/>
<xs:element name="processingOptions" type="anet:processingOptions" minOccurs="0" maxOccurs="1"/>
<xs:element name="subsequentAuthInformation" type="anet:subsequentAuthInformation" minOccurs="0" maxOccurs="1"/>
<xs:element name="authorizationIndicatorType" type="anet:authorizationIndicatorType" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="profileTransAuthCaptureType">
<xs:complexContent>
<xs:extension base="anet:profileTransOrderType"/>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="profileTransAuthOnlyType">
<xs:complexContent>
<xs:extension base="anet:profileTransOrderType"/>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="profileTransPriorAuthCaptureType">
<xs:complexContent>
<xs:extension base="anet:profileTransAmountType">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString" minOccurs="0"/>
<xs:element name="customerPaymentProfileId" type="anet:numericString" minOccurs="0"/>
<xs:element name="customerShippingAddressId" type="anet:numericString" minOccurs="0"/>
<xs:element name="transId" type="anet:numericString"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="profileTransCaptureOnlyType">
<xs:complexContent>
<xs:extension base="anet:profileTransOrderType">
<xs:sequence>
<xs:element name="approvalCode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="profileTransRefundType">
<xs:complexContent>
<xs:extension base="anet:profileTransAmountType">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString" minOccurs="0"/>
<xs:element name="customerPaymentProfileId" type="anet:numericString" minOccurs="0"/>
<xs:element name="customerShippingAddressId" type="anet:numericString" minOccurs="0"/>
<!-- Format of creditCardNumberMasked should be four X's followed by the last four digits. -->
<xs:element name="creditCardNumberMasked" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="8"/>
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Format of bankRoutingNumberMasked should be four X's followed by the last four digits. -->
<xs:element name="bankRoutingNumberMasked" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="8"/>
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Format of bankAccountNumberMasked should be four X's followed by the last four digits. -->
<xs:element name="bankAccountNumberMasked" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="8"/>
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="order" type="anet:orderExType" minOccurs="0"/>
<xs:element name="transId" type="anet:numericString" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="profileTransVoidType">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString" minOccurs="0"/>
<xs:element name="customerPaymentProfileId" type="anet:numericString" minOccurs="0"/>
<xs:element name="customerShippingAddressId" type="anet:numericString" minOccurs="0"/>
<xs:element name="transId" type="anet:numericString"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="profileTransactionType">
<xs:choice>
<xs:element name="profileTransAuthCapture" type="anet:profileTransAuthCaptureType"/>
<xs:element name="profileTransAuthOnly" type="anet:profileTransAuthOnlyType"/>
<xs:element name="profileTransPriorAuthCapture" type="anet:profileTransPriorAuthCaptureType"/>
<xs:element name="profileTransCaptureOnly" type="anet:profileTransCaptureOnlyType"/>
<xs:element name="profileTransRefund" type="anet:profileTransRefundType"/>
<xs:element name="profileTransVoid" type="anet:profileTransVoidType"/>
</xs:choice>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="transactionSummaryType">
<xs:sequence>
<xs:element name="transId" type="anet:numericString"/>
<xs:element name="submitTimeUTC" type="xs:dateTime"/>
<xs:element name="submitTimeLocal" type="xs:dateTime"/>
<xs:element name="transactionStatus" type="xs:string"/>
<!-- anet:transactionStatusEnum -->
<xs:element name="invoiceNumber" type="xs:string" minOccurs="0"/>
<xs:element name="firstName" type="xs:string" minOccurs="0"/>
<xs:element name="lastName" type="xs:string" minOccurs="0"/>
<xs:element name="accountType" type="xs:string"/>
<!-- anet:accountTypeEnum -->
<xs:element name="accountNumber" type="xs:string"/>
<xs:element name="settleAmount" type="xs:decimal"/>
<xs:element name="marketType" type="xs:string" minOccurs="0"/>
<!-- anet:marketTypeEnum -->
<xs:element name="product" type="xs:string" minOccurs="0"/>
<!-- anet:productEnum -->
<xs:element name="mobileDeviceId" type="xs:string" minOccurs="0"/>
<xs:element name="subscription" type="anet:subscriptionPaymentType" minOccurs="0"/>
<xs:element name="hasReturnedItems" type="xs:boolean" minOccurs="0"/>
<xs:element name="fraudInformation" type="anet:fraudInformationType" minOccurs="0"/>
<xs:element name="profile" type="anet:customerProfileIdType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="arbTransaction">
<xs:sequence>
<xs:element name="transId" type="anet:numericString" minOccurs="0" maxOccurs="1"/>
<xs:element name="response" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="submitTimeUTC" type="xs:dateTime" minOccurs="0" maxOccurs="1"/>
<xs:element name="payNum" type="xs:int" minOccurs="0" maxOccurs="1"/>
<xs:element name="attemptNum" type="xs:int" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="transactionDetailsType">
<xs:sequence>
<xs:element name="transId" type="anet:numericString"/>
<xs:element name="refTransId" type="anet:numericString" minOccurs="0"/>
<xs:element name="splitTenderId" type="anet:numericString" minOccurs="0"/>
<xs:element name="submitTimeUTC" type="xs:dateTime"/>
<xs:element name="submitTimeLocal" type="xs:dateTime"/>
<xs:element name="transactionType" type="xs:string"/>
<!-- anet:transactionTypeEnum -->
<xs:element name="transactionStatus" type="xs:string"/>
<!-- anet:transactionStatusEnum -->
<xs:element name="responseCode" type="xs:int"/>
<xs:element name="responseReasonCode" type="xs:int"/>
<xs:element name="subscription" type="anet:subscriptionPaymentType" minOccurs="0"/>
<xs:element name="responseReasonDescription" type="xs:string"/>
<xs:element name="authCode" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AVSResponse" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cardCodeResponse" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CAVVResponse" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FDSFilterAction" type="xs:string" minOccurs="0"/>
<!-- anet:FDSFilterActionEnum -->
<xs:element name="FDSFilters" type="anet:ArrayOfFDSFilter" minOccurs="0"/>
<xs:element name="batch" type="anet:batchDetailsType" minOccurs="0"/>
<xs:element name="order" type="anet:orderExType" minOccurs="0"/>
<xs:element name="requestedAmount" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.00"/>
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="authAmount">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.00"/>
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="settleAmount">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.00"/>
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="tax" type="anet:extendedAmountType" minOccurs="0"/>
<xs:element name="shipping" type="anet:extendedAmountType" minOccurs="0"/>
<xs:element name="duty" type="anet:extendedAmountType" minOccurs="0"/>
<xs:element name="lineItems" type="anet:ArrayOfLineItem" minOccurs="0"/>
<xs:element name="prepaidBalanceRemaining" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="taxExempt" type="xs:boolean" minOccurs="0"/>
<xs:element name="payment" type="anet:paymentMaskedType"/>
<xs:element name="customer" type="anet:customerDataType" minOccurs="0"/>
<xs:element name="billTo" type="anet:customerAddressType" minOccurs="0"/>
<xs:element name="shipTo" type="anet:nameAndAddressType" minOccurs="0"/>
<xs:element name="recurringBilling" type="xs:boolean" minOccurs="0"/>
<xs:element name="customerIP" type="xs:string" minOccurs="0"/>
<xs:element name="product" type="xs:string" minOccurs="0"/>
<xs:element name="entryMode" type="xs:string" minOccurs="0"/>
<xs:element name="marketType" type="xs:string" minOccurs="0"/>
<xs:element name="mobileDeviceId" type="xs:string" minOccurs="0"/>
<xs:element name="customerSignature" type="xs:string" minOccurs="0"/>
<xs:element name="returnedItems" type="anet:ArrayOfReturnedItem" minOccurs="0"/>
<xs:element name="solution" type="anet:solutionType" minOccurs="0"/>
<xs:element name="emvDetails" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="tag" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="tagId" type="xs:string"/>
<xs:element name="data" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="profile" type="anet:customerProfileIdType" minOccurs="0"/>
<xs:element name="surcharge" type="anet:extendedAmountType" minOccurs="0"/>
<xs:element name="employeeId" type="xs:string" minOccurs="0" />
<xs:element name="tip" type="anet:extendedAmountType" minOccurs="0"/>
<xs:element name="otherTax" minOccurs="0" type="anet:otherTaxType" />
<xs:element name="shipFrom" minOccurs="0" type="anet:nameAndAddressType" />
<xs:element name="networkTransId" type="anet:networkTransId" minOccurs="0" />
<xs:element name="originalNetworkTransId" type="anet:networkTransId" minOccurs="0" maxOccurs="1"/>
<xs:element name="originalAuthAmount" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.00"/>
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="authorizationIndicator" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="solutionType">
<xs:sequence>
<xs:element name="id" type="xs:string" maxOccurs="1"/>
<xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="vendorName" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ArrayOfReturnedItem">
<xs:sequence>
<xs:element name="returnedItem" type="anet:returnedItemType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="returnedItemType">
<xs:sequence>
<xs:element name="id" type="anet:numericString"/>
<xs:element name="dateUTC" type="xs:dateTime"/>
<xs:element name="dateLocal" type="xs:dateTime"/>
<xs:element name="code" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="FDSFilterType">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="action" type="xs:string"/>
<!-- anet:FDSFilterActionEnum -->
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="batchDetailsType">
<xs:sequence>
<xs:element name="batchId" type="anet:numericString"/>
<xs:element name="settlementTimeUTC" type="xs:dateTime" minOccurs="0"/>
<xs:element name="settlementTimeLocal" type="xs:dateTime" minOccurs="0"/>
<xs:element name="settlementState" type="xs:string"/>
<!-- anet:settlementStateEnum -->
<xs:element name="paymentMethod" type="xs:string" minOccurs="0"/>
<!-- anet:paymentMethodEnum -->
<xs:element name="marketType" type="xs:string" minOccurs="0"/>
<!-- anet:marketTypeEnum -->
<xs:element name="product" type="xs:string" minOccurs="0"/>
<!-- anet:productEnum -->
<xs:element name="statistics" type="anet:ArrayOfBatchStatisticType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="batchStatisticType">
<xs:sequence>
<xs:element name="accountType" type="xs:string"/>
<!-- anet:accountTypeEnum -->
<xs:element name="chargeAmount" type="xs:decimal"/>
<xs:element name="chargeCount" type="xs:int"/>
<xs:element name="refundAmount" type="xs:decimal"/>
<xs:element name="refundCount" type="xs:int"/>
<xs:element name="voidCount" type="xs:int"/>
<xs:element name="declineCount" type="xs:int"/>
<xs:element name="errorCount" type="xs:int"/>
<xs:element name="returnedItemAmount" type="xs:decimal" minOccurs="0" maxOccurs="1"/>
<xs:element name="returnedItemCount" type="xs:int" minOccurs="0"/>
<xs:element name="chargebackAmount" type="xs:decimal" minOccurs="0"/>
<xs:element name="chargebackCount" type="xs:int" minOccurs="0"/>
<xs:element name="correctionNoticeCount" type="xs:int" minOccurs="0"/>
<xs:element name="chargeChargeBackAmount" type="xs:decimal" minOccurs="0"/>
<xs:element name="chargeChargeBackCount" type="xs:int" minOccurs="0"/>
<xs:element name="refundChargeBackAmount" type="xs:decimal" minOccurs="0"/>
<xs:element name="refundChargeBackCount" type="xs:int" minOccurs="0"/>
<xs:element name="chargeReturnedItemsAmount" type="xs:decimal" minOccurs="0"/>
<xs:element name="chargeReturnedItemsCount" type="xs:int" minOccurs="0"/>
<xs:element name="refundReturnedItemsAmount" type="xs:decimal" minOccurs="0"/>
<xs:element name="refundReturnedItemsCount" type="xs:int" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="transactionResponse">
<xs:sequence>
<xs:element name="responseCode" type="xs:string" minOccurs="0"/>
<xs:element name="rawResponseCode" type="xs:string" minOccurs="0"/>
<xs:element name="authCode" type="xs:string" minOccurs="0"/>
<xs:element name="avsResultCode" type="xs:string" minOccurs="0"/>
<xs:element name="cvvResultCode" type="xs:string" minOccurs="0"/>
<xs:element name="cavvResultCode" type="xs:string" minOccurs="0"/>
<xs:element name="transId" type="xs:string" minOccurs="0"/>
<xs:element name="refTransID" type="xs:string" minOccurs="0"/>
<xs:element name="transHash" type="xs:string" minOccurs="0"/>
<xs:element name="testRequest" type="xs:string" minOccurs="0"/>
<xs:element name="accountNumber" type="xs:string" minOccurs="0"/>
<xs:element name="entryMode" type="xs:string" minOccurs="0"/>
<xs:element name="accountType" type="xs:string" minOccurs="0"/>
<xs:element name="splitTenderId" type="xs:string" minOccurs="0"/>
<xs:element name="prePaidCard" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="requestedAmount" type="xs:string" minOccurs="0"/>
<xs:element name="approvedAmount" type="xs:string" minOccurs="0"/>
<xs:element name="balanceOnCard" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="messages" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="message" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="code" type="xs:string" minOccurs="0"/>
<xs:element name="description" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="errors" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="error" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="errorCode" type="xs:string" minOccurs="0"/>
<xs:element name="errorText" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="splitTenderPayments" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="splitTenderPayment" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="transId" type="xs:string" minOccurs="0"/>
<xs:element name="responseCode" type="xs:string" minOccurs="0"/>
<xs:element name="responseToCustomer" type="xs:string" minOccurs="0"/>
<xs:element name="authCode" type="xs:string" minOccurs="0"/>
<xs:element name="accountNumber" type="xs:string" minOccurs="0"/>
<xs:element name="accountType" type="xs:string" minOccurs="0"/>
<xs:element name="requestedAmount" type="xs:string" minOccurs="0"/>
<xs:element name="approvedAmount" type="xs:string" minOccurs="0"/>
<xs:element name="balanceOnCard" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="userFields" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="userField" type="anet:userField" minOccurs="0" maxOccurs="20"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="shipTo" type="anet:nameAndAddressType" minOccurs="0"/>
<xs:element name="secureAcceptance" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="SecureAcceptanceUrl" type="xs:string" minOccurs="0"/>
<xs:element name="PayerID" type="xs:string" minOccurs="0"/>
<xs:element name="PayerEmail" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="emvResponse" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="tlvData" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="tags" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="tag" type="anet:emvTag" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="transHashSha2" type="xs:string" minOccurs="0"/>
<xs:element name="profile" type="anet:customerProfileIdType" minOccurs="0"/>
<xs:element name="networkTransId" type="anet:networkTransId" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="ContactDetailType">
<xs:sequence>
<xs:element name="email" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="firstName" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="lastName" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
The ANetApiRequest defines elements common to all API method
requests.
===================================================================
-->
<xs:complexType name="ANetApiRequest">
<xs:sequence>
<xs:element name="merchantAuthentication" type="anet:merchantAuthenticationType"/>
<!-- Identifier of the API client application/SDK/library/binding e.g. PHP-SDK-1.0.9.1, ACTIVE_MERCHANT, etc. -->
<xs:element name="clientId" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="refId" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="emailSettingsType">
<xs:annotation>
<xs:documentation>Allowed values for settingName are: headerEmailReceipt and footerEmailReceipt</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="anet:ArrayOfSetting">
<xs:attribute name="version" use="optional">
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!--
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Response type definitions begin here
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-->
<!--
===================================================================
The messagesType provides the result of the request. The resultCode
element provides the overall result of the request. The individual
message(s) provide more detail, especially for errors, about the result.
Ok - The request was processed and accepted without error. If any
messages are present they will be informational only.
Error - The request resulted in one or more errors. See messages
for details.
===================================================================
-->
<xs:simpleType name="messageTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="Ok"/>
<xs:enumeration value="Error"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="messagesType">
<xs:sequence>
<xs:element name="resultCode" type="anet:messageTypeEnum"/>
<xs:element name="message" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="code" type="xs:string"/>
<xs:element name="text" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
The ANetApiResponse defines elements common to all API method
responses.
===================================================================
-->
<xs:complexType name="ANetApiResponse">
<xs:sequence>
<xs:element name="refId" type="xs:string" minOccurs="0"/>
<xs:sequence>
<xs:element name="messages" type="anet:messagesType"/>
</xs:sequence>
<xs:element name="sessionToken" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!--
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
API method definitions begin here
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-->
<!--
===================================================================
errorResponse
This is the response when an error occurs before the method can
be determined, such as an "unknown method" type of error.
===================================================================
-->
<xs:element name="ErrorResponse" type="anet:ANetApiResponse"/>
<!--
===================================================================
isAliveRequest
This method is used to test the availability of the API.
===================================================================
-->
<xs:element name="isAliveRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="refId" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!--
===================================================================
isAliveResponse
This is the response to isAliveRequest.
===================================================================
-->
<xs:element name="isAliveResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
authenticateTestRequest
This method is used to test the availability of the API.
===================================================================
-->
<xs:element name="authenticateTestRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
authenticateTestResponse
This is the response to authenticateTestRequest.
===================================================================
-->
<xs:element name="authenticateTestResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
ARBCreateSubscriptionRequest
This method is used to create a new ARB subscription.
The merchant must be signed up for the ARB service to use it.
===================================================================
-->
<xs:element name="ARBCreateSubscriptionRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="subscription" type="anet:ARBSubscriptionType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
ARBCreateSubscriptionResponse
This is the response to ARBCreateSubscriptionRequest.
===================================================================
-->
<xs:element name="ARBCreateSubscriptionResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<!-- subscriptionId will only be present if a subscription was created. -->
<xs:element name="subscriptionId" type="anet:numericString" minOccurs="0"/>
<xs:element name="profile" type="anet:customerProfileIdType" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
ARBUpdateSubscriptionRequest
This method is used to update an existing ARB subscription.
The merchant must be signed up for the ARB service to use it.
===================================================================
-->
<xs:element name="ARBUpdateSubscriptionRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="subscriptionId" type="anet:numericString"/>
<xs:element name="subscription" type="anet:ARBSubscriptionType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
ARBUpdateSubscriptionResponse
This is the response to ARBUpdateSubscriptionResponse.
===================================================================
-->
<xs:element name="ARBUpdateSubscriptionResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="profile" type="anet:customerProfileIdType" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
ARBCancelSubscriptionRequest
This method is used to cancel an existing ARB subscription.
The merchant must be signed up for the ARB service to use it.
===================================================================
-->
<xs:element name="ARBCancelSubscriptionRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="subscriptionId" type="anet:numericString"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
ARBCancelSubscriptionResponse
This is the response to ARBCancelSubscriptionRequest.
===================================================================
-->
<xs:element name="ARBCancelSubscriptionResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
ARBGetSubscriptionStatusRequest
This method is used to get the status of an existing ARB subscription.
The merchant must be signed up for the ARB service to use it.
===================================================================
-->
<xs:element name="ARBGetSubscriptionStatusRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="subscriptionId" type="anet:numericString"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
ARBGetSubscriptionStatusResponse
This is the response to ARBGetSubscriptionStatusRequest.
===================================================================
-->
<xs:element name="ARBGetSubscriptionStatusResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="status" type="anet:ARBSubscriptionStatusEnum" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
createCustomerProfileRequest
This method is used to create a new customer profile along with any
customer payment profiles and customer shipping addresses for the customer profile.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="createCustomerProfileRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="profile" type="anet:customerProfileType"/>
<xs:element name="validationMode" type="anet:validationModeEnum" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
createCustomerProfileResponse
This is the response to createCustomerProfileRequest.
===================================================================
-->
<xs:element name="createCustomerProfileResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<!-- customerProfileId will only be present if a profile was created. -->
<xs:element name="customerProfileId" type="anet:numericString" minOccurs="0"/>
<xs:element name="customerPaymentProfileIdList" type="anet:ArrayOfNumericString"/>
<xs:element name="customerShippingAddressIdList" type="anet:ArrayOfNumericString"/>
<xs:element name="validationDirectResponseList" type="anet:ArrayOfString"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
createProfileResponse
This is the partial response for createProfile in the transactionRequestType.
===================================================================
-->
<xs:complexType name="createProfileResponse">
<xs:sequence>
<xs:element name="messages" type="anet:messagesType" minOccurs="1" maxOccurs="1"/>
<!-- customerProfileId will only be present if a profile was created. -->
<xs:element name="customerProfileId" type="anet:numericString" minOccurs="0" maxOccurs="1"/>
<xs:element name="customerPaymentProfileIdList" type="anet:ArrayOfNumericString" minOccurs="0" maxOccurs="1"/>
<xs:element name="customerShippingAddressIdList" type="anet:ArrayOfNumericString" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
createCustomerPaymentProfileRequest
This method is used to create a new customer payment profile for an existing customer profile.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="createCustomerPaymentProfileRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString"/>
<xs:element name="paymentProfile" type="anet:customerPaymentProfileType"/>
<xs:element name="validationMode" type="anet:validationModeEnum" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
createCustomerPaymentProfileResponse
This is the response to createCustomerPaymentProfileRequest.
===================================================================
-->
<xs:element name="createCustomerPaymentProfileResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<!-- customerPaymentProfileId and customerProfileId will only be present
if a payment profile was created or a duplicate payment profile was found. -->
<xs:element name="customerProfileId" type="anet:numericString" minOccurs="0"/>
<xs:element name="customerPaymentProfileId" type="anet:numericString" minOccurs="0"/>
<!-- validationDirectResponse will only be present if validationMode is testMode or liveMode. -->
<xs:element name="validationDirectResponse" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2048"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
createCustomerShippingAddressRequest
This method is used to create a new customer shipping address for an existing customer profile.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="createCustomerShippingAddressRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString"/>
<xs:element name="address" type="anet:customerAddressType"/>
<xs:element name="defaultShippingAddress" type="xs:boolean" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
createCustomerShippingAddressResponse
This is the response to createCustomerShippingAddressRequest.
===================================================================
-->
<xs:element name="createCustomerShippingAddressResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<!-- customerAddressId and customerProfileId will only be present
if a shipping address was created or a duplicate shipping address was found. -->
<xs:element name="customerProfileId" type="anet:numericString" minOccurs="0"/>
<xs:element name="customerAddressId" type="anet:numericString" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
createCustomerProfileFromTransactionRequest
This method is used to create a Customer profile, payment profile, and shipping profile
from an existing successful transaction.
===================================================================
-->
<xs:element name="createCustomerProfileFromTransactionRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="transId" type="anet:numericString" minOccurs="1" maxOccurs="1"/>
<xs:element name="customer" type="anet:customerProfileBaseType" minOccurs="0" maxOccurs="1"/>
<xs:element name="customerProfileId" type="anet:numericString" minOccurs="0" maxOccurs="1"/>
<xs:element name="defaultPaymentProfile" type="xs:boolean" minOccurs="0"/>
<xs:element name="defaultShippingAddress" type="xs:boolean" minOccurs="0"/>
<xs:element name="profileType" type="anet:customerProfileTypeEnum" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getCustomerProfileRequest
This method is used to retrieve an existing customer profile along with all the
customer payment profiles and customer shipping addresses for the customer profile.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="getCustomerProfileRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString" minOccurs="0" maxOccurs="1"/>
<xs:element name="merchantCustomerId" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="email" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="unmaskExpirationDate" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
<xs:element name="includeIssuerInfo" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getCustomerProfileResponse
This is the response to getCustomerProfileRequest.
===================================================================
-->
<xs:element name="getCustomerProfileResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<!-- profile will only be present if a profile was successfully retrieved. -->
<xs:element name="profile" type="anet:customerProfileMaskedType" minOccurs="0"/>
<xs:element name="subscriptionIds" type="anet:SubscriptionIdList" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getCustomerPaymentProfileRequest
This method is used to retrieve an existing customer payment profile for a customer profile.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="getCustomerPaymentProfileRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString"/>
<xs:element name="customerPaymentProfileId" type="anet:numericString" minOccurs="0" maxOccurs="1"/>
<xs:element name="unmaskExpirationDate" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
<xs:element name="includeIssuerInfo" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getCustomerPaymentProfileResponse
This is the response to getCustomerPaymentProfileRequest.
===================================================================
-->
<xs:element name="getCustomerPaymentProfileResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<!-- paymentProfile and customerProfileId will only be present if a payment profile was successfully retrieved. -->
<xs:element name="paymentProfile" type="anet:customerPaymentProfileMaskedType" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getCustomerShippingAddressRequest
This method is used to retrieve an existing customer shipping address for a customer profile.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="getCustomerShippingAddressRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString"/>
<xs:element name="customerAddressId" type="anet:numericString" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getCustomerShippingAddressResponse
This is the response to getCustomerShippingAddressRequest.
===================================================================
-->
<xs:element name="getCustomerShippingAddressResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<!-- address and customerProfileId will only be present if a shipping address was successfully retrieved. -->
<xs:element name="defaultShippingAddress" type="xs:boolean" minOccurs="0"/>
<xs:element name="address" type="anet:customerAddressExType" minOccurs="0"/>
<xs:element name="subscriptionIds" type="anet:SubscriptionIdList" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
updateCustomerProfileRequest
This method is used to update an existing customer profile.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="updateCustomerProfileRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="profile" type="anet:customerProfileInfoExType" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
updateCustomerProfileResponse
This is the response to updateCustomerProfileRequest.
===================================================================
-->
<xs:element name="updateCustomerProfileResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
updateCustomerPaymentProfileRequest
This method is used to update an existing customer payment profile for a customer profile.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="updateCustomerPaymentProfileRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString"/>
<xs:element name="paymentProfile" type="anet:customerPaymentProfileExType"/>
<xs:element name="validationMode" type="anet:validationModeEnum" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
updateCustomerPaymentProfileResponse
This is the response to updateCustomerPaymentProfileRequest.
===================================================================
-->
<xs:element name="updateCustomerPaymentProfileResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<!-- validationDirectResponse will only be present if validationMode is testMode or liveMode. -->
<xs:element name="validationDirectResponse" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2048"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
updateCustomerShippingAddressRequest
This method is used to update an existing customer shipping address for a customer profile.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="updateCustomerShippingAddressRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString"/>
<xs:element name="address" type="anet:customerAddressExType"/>
<xs:element name="defaultShippingAddress" type="xs:boolean" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
updateCustomerShippingAddressResponse
This is the response to updateCustomerShippingAddressRequest.
===================================================================
-->
<xs:element name="updateCustomerShippingAddressResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
deleteCustomerProfileRequest
This method is used to delete an existing customer profile along with all the
customer payment profiles and customer shipping addresses for the customer profile.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="deleteCustomerProfileRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
deleteCustomerProfileResponse
This is the response to deleteCustomerProfileRequest.
===================================================================
-->
<xs:element name="deleteCustomerProfileResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
deleteCustomerPaymentProfileRequest
This method is used to delete an existing customer payment profile from a customer profile.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="deleteCustomerPaymentProfileRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString"/>
<xs:element name="customerPaymentProfileId" type="anet:numericString"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
deleteCustomerPaymentProfileResponse
This is the response to deleteCustomerPaymentProfileRequest.
===================================================================
-->
<xs:element name="deleteCustomerPaymentProfileResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
deleteCustomerShippingAddressRequest
This method is used to delete an existing customer shipping address from a customer profile.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="deleteCustomerShippingAddressRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString"/>
<xs:element name="customerAddressId" type="anet:numericString"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
deleteCustomerShippingAddressResponse
This is the response to deleteCustomerShippingAddressRequest.
===================================================================
-->
<xs:element name="deleteCustomerShippingAddressResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
createCustomerProfileTransactionRequest
This method is used to generate a payment transaction for a customer payment profile.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="createCustomerProfileTransactionRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="transaction" type="anet:profileTransactionType"/>
<xs:element name="extraOptions" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1024"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
createCustomerProfileTransactionResponse
This is the response to createCustomerProfileTransactionRequest.
===================================================================
-->
<xs:element name="createCustomerProfileTransactionResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="transactionResponse" type="anet:transactionResponse" minOccurs="0"/>
<xs:element name="directResponse" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2048"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
validateCustomerPaymentProfileRequest
This method is used to check a customer payment profile by generating a test transaction for it.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="validateCustomerPaymentProfileRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString"/>
<xs:element name="customerPaymentProfileId" type="anet:numericString"/>
<xs:element name="customerShippingAddressId" type="anet:numericString" minOccurs="0"/>
<xs:element name="cardCode" type="anet:cardCode" minOccurs="0" maxOccurs="1"/>
<xs:element name="validationMode" type="anet:validationModeEnum"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
validateCustomerPaymentProfileResponse
This is the response to validateCustomerPaymentProfileRequest.
===================================================================
-->
<xs:element name="validateCustomerPaymentProfileResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="directResponse" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2048"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getCustomerProfileIdsRequest
This method is used retrieve the customer profile ids for your account in case they get lost.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="getCustomerProfileIdsRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getCustomerProfileIdsResponse
This is the response to getCustomerProfileIdsRequest.
===================================================================
-->
<xs:element name="getCustomerProfileIdsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="ids" type="anet:ArrayOfNumericString"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
updateSplitTenderGroupRequest
This method is used to void or release an order after getting a partial authorization for a transaction.
===================================================================
-->
<xs:element name="updateSplitTenderGroupRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="splitTenderId" type="xs:string"/>
<xs:element name="splitTenderStatus" type="anet:splitTenderStatusEnum"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
updateSplitTenderGroupResponse
This is the response to updateSplitTenderGroupRequest.
===================================================================
-->
<xs:element name="updateSplitTenderGroupResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getTransactionDetailsRequest
This method is used to retrieve detailed information about a single transaction.
===================================================================
-->
<xs:element name="getTransactionDetailsRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="transId" type="anet:numericString"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getTransactionDetailsResponse
This is the response to getTransactionDetailsRequest.
===================================================================
-->
<xs:element name="getTransactionDetailsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="transaction" type="anet:transactionDetailsType"/>
<!-- Identifier of the API client application/SDK/library/binding e.g. PHP-SDK-1.0.9.1, ACTIVE_MERCHANT, etc. -->
<xs:element name="clientId" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="transrefId" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
createTransactionRequest
This method is used to process transactions.
===================================================================
-->
<xs:element name="createTransactionRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="transactionRequest" type="anet:transactionRequestType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
createTransactionResponse
This is the response that will be returned to a client following
any type of transaction request.
===================================================================
-->
<xs:element name="createTransactionResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="transactionResponse" type="anet:transactionResponse"/>
<xs:element name="profileResponse" type="anet:createProfileResponse" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
heldTransactionRequestType
These are the fields that are used for a FDS transaction request.
===================================================================
-->
<xs:complexType name="heldTransactionRequestType">
<xs:sequence>
<xs:element name="action" type="anet:afdsTransactionEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="refTransId" type="xs:string" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
updateHeldTransactionRequest
This method is used to approve or decline suspicious transactions.
===================================================================
-->
<xs:element name="updateHeldTransactionRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="heldTransactionRequest" type="anet:heldTransactionRequestType" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
updateHeldTransactionResponse
This is the response that will be returned to a client following
updateHeldTransactionRequest.
===================================================================
-->
<xs:element name="updateHeldTransactionResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="transactionResponse" type="anet:transactionResponse" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getBatchStatisticsRequest
This method is used to get the batch details for the specified BatchId
===================================================================
-->
<xs:element name="getBatchStatisticsRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="batchId" type="anet:numericString"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getBatchStatisticsResponse
This is the response to getBatchStatisticsRequest.
===================================================================
-->
<xs:element name="getBatchStatisticsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="batch" type="anet:batchDetailsType" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getSettledBatchListRequest
This method is used to retrieve a list of settled batches.
===================================================================
-->
<xs:element name="getSettledBatchListRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="includeStatistics" type="xs:boolean" minOccurs="0"/>
<xs:element name="firstSettlementDate" type="xs:dateTime" minOccurs="0"/>
<xs:element name="lastSettlementDate" type="xs:dateTime" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getSettledBatchListResponse
This is the response to getSettledBatchListRequest.
===================================================================
-->
<xs:element name="getSettledBatchListResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="batchList" type="anet:ArrayOfBatchDetailsType" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getTransactionListRequest
This method is used to retrieve a list of settled transactions.
===================================================================
-->
<xs:element name="getTransactionListRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="batchId" type="anet:numericString" minOccurs="0"/>
<xs:element name="sorting" type="anet:TransactionListSorting" minOccurs="0" maxOccurs="1"/>
<xs:element name="paging" type="anet:Paging" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getTransactionListResponse
This is the response to getTransactionListRequest.
===================================================================
-->
<xs:element name="getTransactionListResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="transactions" type="anet:ArrayOfTransactionSummaryType" minOccurs="0"/>
<xs:element name="totalNumInResultSet" type="xs:int" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getHostedProfilePageRequest
This method is used to give access to the hosted customer profile page to one of your customers.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="getHostedProfilePageRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString"/>
<xs:element name="hostedProfileSettings" type="anet:ArrayOfSetting" minOccurs="0">
<xs:annotation>
<xs:documentation>Allowed values for settingName are: hostedProfileReturnUrl, hostedProfileReturnUrlText, hostedProfilePageBorderVisible, hostedProfileIFrameCommunicatorUrl, hostedProfileHeadingBgColor, hostedProfileBillingAddressRequired, hostedProfileCardCodeRequired, hostedProfileBillingAddressOptions, hostedProfileManageOptions, hostedProfilePaymentOptions, hostedProfileSaveButtonText.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getHostedProfilePageResponse
This is the response to getHostedProfilePageRequest.
===================================================================
-->
<xs:element name="getHostedProfilePageResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="token" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getUnsettledTransactionListRequest
This method is used to retrieve a list of unsettled transactions.
===================================================================
-->
<xs:element name="getUnsettledTransactionListRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="status" type="anet:TransactionGroupStatusEnum" minOccurs="0" maxOccurs="1"/>
<xs:element name="sorting" type="anet:TransactionListSorting" minOccurs="0" maxOccurs="1"/>
<xs:element name="paging" type="anet:Paging" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getHostedPaymentPageRequest
This method is used to give access to the hosted payment page to one of your customers.
===================================================================
-->
<xs:element name="getHostedPaymentPageRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="transactionRequest" type="anet:transactionRequestType"/>
<xs:element name="hostedPaymentSettings" type="anet:ArrayOfSetting" minOccurs="0">
<xs:annotation>
<xs:documentation>Allowed values for settingName are: hostedPaymentIFrameCommunicatorUrl, hostedPaymentButtonOptions, hostedPaymentReturnOptions, hostedPaymentOrderOptions, hostedPaymentPaymentOptions, hostedPaymentBillingAddressOptions, hostedPaymentShippingAddressOptions, hostedPaymentSecurityOptions, hostedPaymentCustomerOptions, hostedPaymentStyleOptions</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getHostedPaymentPageResponse
This is the response to getHostedPaymentPageRequest.
===================================================================
-->
<xs:element name="getHostedPaymentPageResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="token" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:simpleType name="TransactionListOrderFieldEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="id"/>
<xs:enumeration value="submitTimeUTC"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="TransactionListSorting">
<xs:sequence>
<xs:element name="orderBy" type="anet:TransactionListOrderFieldEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="orderDescending" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
getUnsettledTransactionListResponse
This is the response to getUnsettledTransactionListRequest.
===================================================================
-->
<xs:element name="getUnsettledTransactionListResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="transactions" type="anet:ArrayOfTransactionSummaryType" minOccurs="0"/>
<xs:element name="totalNumInResultSet" type="xs:int" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
mobileDeviceRegistrationRequest
This method is used to request registration for a mobile device.
===================================================================
-->
<xs:element name="mobileDeviceRegistrationRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="mobileDevice" type="anet:mobileDeviceType" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
mobileDeviceRegistrationResponse
This is the response to mobileDeviceRegistrationRequest.
===================================================================
-->
<xs:element name="mobileDeviceRegistrationResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
mobileDeviceLoginRequest
This method is used to authenticate a mobile device.
===================================================================
-->
<xs:element name="mobileDeviceLoginRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
mobileDeviceLoginResponse
This is the response to mobileDeviceLoginRequest.
===================================================================
-->
<xs:element name="mobileDeviceLoginResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="merchantContact" type="anet:merchantContactType"/>
<xs:element name="userPermissions" type="anet:ArrayOfPermissionType"/>
<xs:element name="merchantAccount" type="anet:transRetailInfoType" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
logoutRequest
This method is used to end a session from a mobile device.
===================================================================
-->
<xs:element name="logoutRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
logoutResponse
This is the response to logoutRequest.
===================================================================
-->
<xs:element name="logoutResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
sendCustomerTransactionReceiptRequest
This method is used to send a transaction email receipt.
===================================================================
-->
<xs:element name="sendCustomerTransactionReceiptRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="transId" type="anet:numericString"/>
<xs:element name="customerEmail" type="xs:string"/>
<xs:element name="emailSettings" type="anet:emailSettingsType" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
sendCustomerTransactionReceiptResponse
This is the response to sendCustomerTransactionReceiptRequest.
===================================================================
-->
<xs:element name="sendCustomerTransactionReceiptResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
PayPal Payment Type.
===================================================================
-->
<xs:complexType name="payPalType">
<xs:sequence>
<xs:element name="successUrl" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2048"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cancelUrl" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2048"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="paypalLc" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="paypalHdrImg" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="127"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="paypalPayflowcolor" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="payerID" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="ARBGetSubscriptionListRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="searchType" type="anet:ARBGetSubscriptionListSearchTypeEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="sorting" type="anet:ARBGetSubscriptionListSorting" minOccurs="0" maxOccurs="1"/>
<xs:element name="paging" type="anet:Paging" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="Paging">
<xs:sequence>
<xs:element name="limit" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="1000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="offset" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="100000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ARBGetSubscriptionListSorting">
<xs:sequence>
<xs:element name="orderBy" type="anet:ARBGetSubscriptionListOrderFieldEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="orderDescending" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ARBGetSubscriptionListSearchTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="cardExpiringThisMonth"/>
<xs:enumeration value="subscriptionActive"/>
<xs:enumeration value="subscriptionExpiringThisMonth"/>
<xs:enumeration value="subscriptionInactive"/>
<!-- AboutExpire -->
<!-- ActiveCard -->
<!-- WillExpire -->
<!-- Inactive -->
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ARBGetSubscriptionListOrderFieldEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="id"/>
<xs:enumeration value="name"/>
<xs:enumeration value="status"/>
<xs:enumeration value="createTimeStampUTC"/>
<xs:enumeration value="lastName"/>
<xs:enumeration value="firstName"/>
<xs:enumeration value="accountNumber"/>
<xs:enumeration value="amount"/>
<xs:enumeration value="pastOccurrences"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="ARBGetSubscriptionListResponse">
<xs:complexType mixed="false">
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="totalNumInResultSet" type="xs:int" minOccurs="0" maxOccurs="1"/>
<xs:element name="subscriptionDetails" type="anet:ArrayOfSubscription" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="ArrayOfSubscription">
<xs:sequence>
<xs:element name="subscriptionDetail" type="anet:SubscriptionDetail" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SubscriptionDetail">
<xs:sequence>
<xs:element name="id" type="xs:int" minOccurs="1" maxOccurs="1"/>
<xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="status" type="anet:ARBSubscriptionStatusEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="createTimeStampUTC" type="xs:dateTime" minOccurs="1" maxOccurs="1"/>
<xs:element name="firstName" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="lastName" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="totalOccurrences" type="xs:int" minOccurs="1" maxOccurs="1"/>
<xs:element name="pastOccurrences" type="xs:int" minOccurs="1" maxOccurs="1"/>
<xs:element name="paymentMethod" type="anet:paymentMethodEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="accountNumber" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="invoice" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="amount" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.00"/>
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="currencyCode" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="customerProfileId" type="xs:int" minOccurs="1" maxOccurs="1"/>
<xs:element name="customerPaymentProfileId" type="xs:int" minOccurs="1" maxOccurs="1"/>
<xs:element name="customerShippingProfileId" type="xs:int" minOccurs="0" maxOccurs="1"/>
<!--
<xs:element minOccurs="1" maxOccurs="1" name="currencyId" type="xs:int" />
<xs:element minOccurs="1" maxOccurs="1" name="ARBStatusId" type="xs:int" />
<xs:element minOccurs="1" maxOccurs="1" name="PaymentMethodType" type="xs:int" />
-->
</xs:sequence>
</xs:complexType>
<xs:complexType name="customerProfileSummaryType">
<xs:sequence>
<xs:element name="customerProfileId" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="merchantCustomerId" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="email" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="createdDate" type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
<!-- Enums used in some complextypes that are not directly referenced -->
<xs:element name="EnumCollection">
<xs:complexType>
<xs:sequence>
<!-- classes -->
<xs:element name="customerProfileSummaryType" type="anet:customerProfileSummaryType" minOccurs="1" maxOccurs="1"/>
<xs:element name="paymentSimpleType" type="anet:paymentSimpleType" minOccurs="1" maxOccurs="1"/>
<!-- enums -->
<xs:element name="accountTypeEnum" type="anet:accountTypeEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="cardTypeEnum" type="anet:cardTypeEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="FDSFilterActionEnum" type="anet:FDSFilterActionEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="permissionsEnum" type="anet:permissionsEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="settingNameEnum" type="anet:settingNameEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="settlementStateEnum" type="anet:settlementStateEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="transactionStatusEnum" type="anet:transactionStatusEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="transactionTypeEnum" type="anet:transactionTypeEnum" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!--
===================================================================
Customer Profile Payment Type.
===================================================================
-->
<xs:complexType name="customerProfilePaymentType">
<xs:sequence>
<xs:element name="createProfile" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
<xs:element name="customerProfileId" type="anet:numericString" minOccurs="0" maxOccurs="1"/>
<xs:element name="paymentProfile" type="anet:paymentProfile" minOccurs="0" maxOccurs="1"/>
<xs:element name="shippingProfileId" type="anet:numericString" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
Payment Profile Type.
===================================================================
-->
<xs:complexType name="paymentProfile">
<xs:sequence>
<xs:element name="paymentProfileId" type="anet:numericString" minOccurs="1" maxOccurs="1"/>
<xs:element name="cardCode" type="anet:cardCode" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!-- Element definition for GetCustomerPaymentProfileList -->
<xs:element name="getCustomerPaymentProfileListRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="searchType" type="anet:CustomerPaymentProfileSearchTypeEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="month" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="4"/>
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sorting" type="anet:CustomerPaymentProfileSorting" minOccurs="0" maxOccurs="1"/>
<xs:element name="paging" type="anet:Paging" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="getCustomerPaymentProfileListResponse">
<xs:complexType mixed="false">
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="totalNumInResultSet" type="xs:int" minOccurs="1" maxOccurs="1"/>
<xs:element name="paymentProfiles" type="anet:arrayOfCustomerPaymentProfileListItemType" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:simpleType name="CustomerPaymentProfileOrderFieldEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="id"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="CustomerPaymentProfileSorting">
<xs:sequence>
<xs:element name="orderBy" type="anet:CustomerPaymentProfileOrderFieldEnum" minOccurs="1" maxOccurs="1"/>
<xs:element name="orderDescending" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="CustomerPaymentProfileSearchTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="cardsExpiringInMonth"/>
<!-- expired or expiring -->
</xs:restriction>
</xs:simpleType>
<xs:complexType name="customerPaymentProfileListItemType">
<xs:sequence>
<xs:element name="defaultPaymentProfile" type="xs:boolean" minOccurs="0"/>
<xs:element name="customerPaymentProfileId" type="xs:int" minOccurs="1" maxOccurs="1"/>
<xs:element name="customerProfileId" type="xs:int" minOccurs="1" maxOccurs="1"/>
<xs:element name="billTo" type="anet:customerAddressType" minOccurs="1" maxOccurs="1"/>
<xs:element name="payment" type="anet:paymentMaskedType" minOccurs="1" maxOccurs="1"/>
<xs:element name="originalNetworkTransId" type="anet:networkTransId" minOccurs="0" maxOccurs="1"/>
<xs:element name="originalAuthAmount" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.00"/>
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="arrayOfCustomerPaymentProfileListItemType">
<xs:sequence>
<xs:element name="paymentProfile" type="anet:customerPaymentProfileListItemType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
ARBGetSubscriptionRequest
This method is used to get details of an existing ARB subscription.
The merchant must be signed up for the ARB service to use it.
===================================================================
-->
<xs:element name="ARBGetSubscriptionRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="subscriptionId" type="anet:numericString" minOccurs="1" maxOccurs="1"/>
<xs:element name="includeTransactions" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
Get ARBSubscription Response
===================================================================
-->
<xs:element name="ARBGetSubscriptionResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="subscription" type="anet:ARBSubscriptionMaskedType" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
Get TransactionList For Customer Request
This method is used to retrieve a list of transactions for a customer profile, and optionally, a customer payment profile.
The merchant must be signed up for the CIM service to use it.
===================================================================
-->
<xs:element name="getTransactionListForCustomerRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString"/>
<xs:element name="customerPaymentProfileId" type="anet:numericString" minOccurs="0" maxOccurs="1"/>
<xs:element name="sorting" type="anet:TransactionListSorting" minOccurs="0" maxOccurs="1"/>
<xs:element name="paging" type="anet:Paging" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
Customer Profile Subscription Payment Type.
===================================================================
-->
<xs:complexType name="customerProfileIdType">
<xs:sequence>
<xs:element name="customerProfileId" type="anet:numericString" minOccurs="1" maxOccurs="1"/>
<xs:element name="customerPaymentProfileId" type="anet:numericString" minOccurs="0" maxOccurs="1"/>
<xs:element name="customerAddressId" type="anet:numericString" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
Get AUJobSummary Request
This method is used to get summary of jobs done by Account Updater.
===================================================================
-->
<xs:element name="getAUJobSummaryRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="month" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="4"/>
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
Get AUJobSummary Response
===================================================================
-->
<xs:element name="getAUJobSummaryResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="auSummary" type="anet:ArrayOfAUResponseType" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!-- ===================================================== -->
<xs:complexType name="ArrayOfAUResponseType">
<xs:sequence>
<xs:element name="auResponse" type="anet:auResponseType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="auResponseType">
<xs:sequence>
<xs:element name="auReasonCode" type="xs:string"/>
<xs:element name="profileCount" type="xs:long"/>
<xs:element name="reasonDescription" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
Get AUJobDetails Request
This method is used to get summary of jobs done by Account Updater.
===================================================================
-->
<xs:element name="getAUJobDetailsRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="month" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="4"/>
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="modifiedTypeFilter" type="anet:AUJobTypeEnum" minOccurs="0" maxOccurs="1"/>
<xs:element name="paging" type="anet:Paging" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!-- =========================================================== -->
<xs:simpleType name="AUJobTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="all"/>
<xs:enumeration value="updates"/>
<xs:enumeration value="deletes"/>
<!-- All Entries -->
<!-- Only Updated Entries -->
<!-- Only Deleted Entries -->
</xs:restriction>
</xs:simpleType>
<!--
===================================================================
Get AUJobDetails Response
===================================================================
-->
<xs:element name="getAUJobDetailsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="totalNumInResultSet" type="xs:int" minOccurs="0" maxOccurs="1"/>
<xs:element name="auDetails" type="anet:ListOfAUDetailsType" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!-- ===================================================== -->
<xs:complexType name="ListOfAUDetailsType">
<xs:choice maxOccurs="unbounded">
<xs:element name="auUpdate" type="anet:auUpdateType" minOccurs="0"/>
<xs:element name="auDelete" type="anet:auDeleteType" minOccurs="0"/>
</xs:choice>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="auUpdateType">
<xs:complexContent>
<xs:extension base="anet:auDetailsType">
<xs:sequence>
<xs:element name="newCreditCard" type="anet:creditCardMaskedType"/>
<xs:element name="oldCreditCard" type="anet:creditCardMaskedType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="auDeleteType">
<xs:complexContent>
<xs:extension base="anet:auDetailsType">
<xs:sequence>
<xs:element name="creditCard" type="anet:creditCardMaskedType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ===================================================== -->
<xs:complexType name="auDetailsType">
<xs:sequence>
<xs:element name="customerProfileID" type="xs:long"/>
<xs:element name="customerPaymentProfileID" type="xs:long"/>
<xs:element name="firstName" type="xs:string" minOccurs="0"/>
<xs:element name="lastName" type="xs:string" minOccurs="0"/>
<xs:element name="updateTimeUTC" type="xs:string"/>
<xs:element name="auReasonCode" type="xs:string"/>
<xs:element name="reasonDescription" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
Get MerchantDetails Request
This method is used to get merchant capabilities.
===================================================================
-->
<xs:element name="getMerchantDetailsRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!-- ===================================================== -->
<xs:simpleType name="currencyCodeType">
<xs:restriction base="xs:string">
<xs:minLength value="3"/>
<xs:maxLength value="3"/>
</xs:restriction>
</xs:simpleType>
<!--
==============================================================================
Processing Options type
Processing Options are used to pass additional transaction processing options
==============================================================================
-->
<xs:complexType name="processingOptions">
<xs:sequence>
<xs:element name="isFirstRecurringPayment" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
<xs:element name="isFirstSubsequentAuth" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
<xs:element name="isSubsequentAuth" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
<xs:element name="isStoredCredentials" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!--
==============================================================================
Processing Options type
Processing Options are used to pass additional transaction processing options
==============================================================================
-->
<xs:complexType name="authorizationIndicatorType">
<xs:sequence>
<xs:element name="authorizationIndicator" type="anet:authIndicatorEnum" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!--
==============================================================================
Subsequent Auth Information type
Subsequent Auth Information is used to pass additional information for
Merchant-Initiated transactions
==============================================================================
-->
<xs:complexType name="subsequentAuthInformation">
<xs:sequence>
<xs:element name="originalNetworkTransId" type="anet:networkTransId" minOccurs="0" maxOccurs="1"/>
<xs:element name="originalAuthAmount" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.00"/>
<xs:fractionDigits value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="reason" type="anet:merchantInitTransReasonEnum" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!--
==============================================================================
Credit Card processing network transaction id
==============================================================================
-->
<xs:simpleType name="networkTransId">
<xs:restriction base="anet:alphaNumericSpaceString">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
<!--
==============================================================================
Reason for Merchant Initiated Transaction
==============================================================================
-->
<xs:simpleType name="merchantInitTransReasonEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="resubmission"/>
<xs:enumeration value="delayedCharge"/>
<xs:enumeration value="reauthorization"/>
<xs:enumeration value="noShow"/>
</xs:restriction>
</xs:simpleType>
<!--
===================================================================
ArrayOfCurrencyCode
===================================================================
-->
<xs:complexType name="ArrayOfCurrencyCode">
<xs:sequence>
<xs:element name="currency" type="anet:currencyCodeType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
ArrayOfCardType
===================================================================
-->
<xs:complexType name="ArrayOfCardType">
<xs:sequence>
<xs:element name="cardType" type="xs:string" nillable="true" minOccurs="0" maxOccurs="30"/>
</xs:sequence>
</xs:complexType>
<!--============= processorType ======================================================-->
<xs:complexType name="processorType">
<xs:sequence>
<xs:element name="name">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="id" type="xs:int"></xs:element>
<xs:element name="cardTypes" type ="anet:ArrayOfCardType" minOccurs="0" maxOccurs="1" ></xs:element>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
ArrayOfProcessorType
===================================================================
-->
<xs:complexType name="ArrayOfProcessorType">
<xs:sequence>
<xs:element name="processor" type="anet:processorType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
marketType
Name of the marketType.
===================================================================
-->
<xs:simpleType name="marketType">
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
<!--
===================================================================
ArrayOfMarketType
===================================================================
-->
<xs:complexType name="ArrayOfMarketType">
<xs:sequence>
<xs:element name="marketType" type="anet:marketType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
productCodeType
Name of the productCode.
===================================================================
-->
<xs:simpleType name="productCodeType">
<xs:restriction base="xs:string">
<xs:maxLength value="3"/>
</xs:restriction>
</xs:simpleType>
<!--
===================================================================
ArrayOfProductCode
===================================================================
-->
<xs:complexType name="ArrayOfProductCode">
<xs:sequence>
<xs:element name="productCode" type="anet:productCodeType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
paymentMethodsType represents the array of payment methods.
===================================================================
-->
<xs:simpleType name="paymentMethodsTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="Visa"/>
<xs:enumeration value="MasterCard"/>
<xs:enumeration value="Discover"/>
<xs:enumeration value="AmericanExpress"/>
<xs:enumeration value="DinersClub"/>
<xs:enumeration value="JCB"/>
<xs:enumeration value="EnRoute"/>
<xs:enumeration value="Echeck"/>
<xs:enumeration value="Paypal"/>
<xs:enumeration value="VisaCheckout"/>
<xs:enumeration value="ApplePay"/>
<xs:enumeration value="AndroidPay"/>
<xs:enumeration value="GooglePay"/>
</xs:restriction>
</xs:simpleType>
<!--
===================================================================
ArrayOfPaymentMethod
===================================================================
-->
<xs:complexType name="ArrayOfPaymentMethod">
<xs:sequence>
<xs:element name="paymentMethod" type="anet:paymentMethodsTypeEnum" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="webCheckOutDataTypeToken">
<xs:sequence>
<xs:element name="cardNumber" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="4"/>
<xs:maxLength value="16"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="expirationDate" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="4"/>
<xs:maxLength value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cardCode" type="anet:cardCode" minOccurs="0" maxOccurs="1"/>
<xs:element name="zip" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fullName" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="64"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!--
===================================================================
Get MerchantDetails Response
===================================================================
-->
<xs:element name="getMerchantDetailsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="isTestMode" type="xs:boolean" minOccurs="0"/>
<xs:element name="processors" type="anet:ArrayOfProcessorType"/>
<xs:element name="merchantName" type="xs:string"/>
<xs:element name="gatewayId" type="anet:numericString"/>
<xs:element name="marketTypes" type="anet:ArrayOfMarketType"/>
<xs:element name="productCodes" type="anet:ArrayOfProductCode"/>
<xs:element name="paymentMethods" type="anet:ArrayOfPaymentMethod"/>
<xs:element name="currencies" type="anet:ArrayOfCurrencyCode"/>
<xs:element name="publicClientKey" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="businessInformation" type="anet:customerAddressType" minOccurs="0" maxOccurs="1" />
<xs:element name="merchantTimeZone" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="contactDetails" type="anet:ArrayOfContactDetail" minOccurs="0" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
Update MerchantDetails Request
This method is used for a partner to update merchant details.
===================================================================
-->
<xs:element name="updateMerchantDetailsRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element name="isTestMode" type="xs:boolean" minOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
Update MerchantDetails Response
This method is used for a partner to update merchant details.
===================================================================
-->
<xs:element name="updateMerchantDetailsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getCustomerPaymentProfileNonceRequest
This method is used to get Nonce (payment token) for an existing customer payment profile for a customer profile.
===================================================================
-->
<xs:element name="getCustomerPaymentProfileNonceRequest">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiRequest">
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="1" name="connectedAccessToken" type="xs:string"/>
<xs:element name="customerProfileId" type="anet:numericString" minOccurs="1" maxOccurs="1"/>
<xs:element name="customerPaymentProfileId" type="anet:numericString" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--
===================================================================
getCustomerPaymentProfileNonceResponse
===================================================================
-->
<xs:element name="getCustomerPaymentProfileNonceResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="anet:ANetApiResponse">
<xs:sequence>
<xs:element name="opaqueData" type="anet:opaqueDataType" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:schema>