<xsd:schema targetNamespace="http://convio.com/crm/v1.0"
xmlns:crm="http://convio.com/crm/v1.0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
jaxb:version="1.0"
jaxb:extensionBindingPrefixes="xjc"
elementFormDefault="qualified">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Convio Open ReST API Version 1.0 Donation API Types.
Convio All Rights Reserved.
</xsd:documentation>
</xsd:annotation>
<xsd:include schemaLocation="crm.public.common.v1.xsd"/>
<xsd:complexType name="getDesignationTypesResult">
<xsd:annotation>
<xsd:documentation>
The response from a request for the list of designated giving
designation types.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="type" type="crm:donationDesignationType"
minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="getDesigneesResult">
<xsd:annotation>
<xsd:documentation>
The response from a request for the list of designated giving
designees.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="designee" type="crm:donationDesignee"
minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="donationResult">
<xsd:annotation>
<xsd:documentation>
The response from a donation.
If successful, it will contain a "donation" element having
information about the donation.
If there is a failure, then it will contain an "errors" element
having the set of error information.
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="donation" type="crm:donationRecord"/>
<xsd:element name="redirect" type="crm:donationRedirect"/>
<xsd:element name="errors" type="crm:donationErrors"/>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="securePaymentResult">
<xsd:annotation>
<xsd:documentation>
The response from a payment made through the Blackbaud Secure Payments modal.
When successful, the response contains a "securePayment" element. In the event of a failure, the response contains an "errors" element with the set of error information.
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="securePayment" type="crm:securePaymentRecord"/>
<xsd:element name="errors" type="crm:donationErrors"/>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="donationRecord">
<xsd:annotation>
<xsd:documentation>
The response information for a successful donation.
transaction_id is a unique identifier used internally by the Convio system.
confirmation_code is a unique identifier often shown to the donor as a
reference to this transaction.
amount is the total amount of the transaction and tax_deductible_amount
is the portion of the amount that can be deducted as a charitable gift.
value_of_goods and services is the fair market value of anything that
the donor receives in exchange. This is not included in the
tax_deductible_amount.
reward_points_earned is the amount of points earned towards the
redemption of some reward. This is contingent on the organization
using the Rewards module.
summary_data is returned if "summary=data" is in the request and it
has a list of all form fields, each having the label and value
submitted.
summary_page is returned if "summary=page" is in the request and it
has the HTML of the "Thank You" page normally displayed for web
requests (it's the part of the HTML inside of the BODY element).
</xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="transaction_id" type="xsd:integer" />
<xsd:element name="cons_id" type="crm:nonNegInteger" />
<xsd:element name="confirmation_code" type="xsd:normalizedString" />
<xsd:element name="date_time" type="xsd:dateTime" />
<xsd:element name="amount" type="crm:transactionAmount" />
<xsd:element name="value_of_goods" type="crm:transactionAmount" />
<xsd:element name="tax_deductible_amount" type="crm:transactionAmount" />
<xsd:element name="reward_points_earned" type="crm:nonNegInteger" minOccurs="0" />
<xsd:element name="org_tax_id" type="xsd:normalizedString" />
<xsd:element name="summary_data" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="field" type="crm:donationFieldValue"
minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="summary_page" type="xsd:string" minOccurs="0" />
<xsd:element name="softCredit" minOccurs="0" type="crm:softCredit" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="securePaymentRecord">
<xsd:annotation>
<xsd:documentation>
The response information for a successful securePayment.
The primary fields correspond to those of a simple donationRecord.
The secondary field analytics represents the information
that should be passed on to Google Analytics, if it is in use.
</xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="transaction_id" type="xsd:integer" />
<xsd:element name="cons_id" type="crm:nonNegInteger" />
<xsd:element name="confirmation_code" type="xsd:normalizedString" />
<xsd:element name="transaction_date" type="xsd:dateTime" />
<xsd:element name="amount" type="crm:transactionAmount" />
<xsd:element name="org_tax_id" type="xsd:normalizedString" />
<xsd:element name="softCredit" minOccurs="0" type="crm:softCredit" />
<xsd:element name="analytics" type="crm:googleAnalyticsTransaction"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="googleAnalyticsTransaction">
<xsd:annotation>
<xsd:documentation>
The information that will be forwarded to Google Analytics after
a successful transaction.
</xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="orderId" type="xsd:normalizedString" />
<xsd:element name="affiliation" type="xsd:normalizedString" />
<xsd:element name="total" type="xsd:decimal" />
<xsd:element name="tax" type="xsd:decimal" />
<xsd:element name="shipping" type="xsd:decimal" />
<xsd:element name="city" type="xsd:normalizedString" />
<xsd:element name="state" type="xsd:normalizedString" />
<xsd:element name="country" type="xsd:normalizedString" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="crmDonationResult">
<xsd:annotation>
<xsd:documentation>
The response from a donation.
If successful, it will contain a "donation" element having
information about the donation.
If there is a failure, then it will contain an "errors" element
having the set of error information.
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="crmDonation" type="crm:crmDonationRecord" />
<xsd:element name="redirect" type="crm:donationRedirect"/>
<xsd:element name="errors" type="crm:donationErrors"/>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="crmDonationRecord">
<xsd:annotation>
<xsd:documentation>
The response information for a successful donation.
transaction_id is a unique identifier used internally by the Convio system.
confirmation_code is a unique identifier often shown to the donor as a
reference to this transaction.
amount is the total amount of the transaction and tax_deductible_amount
is the portion of the amount that can be deducted as a charitable gift.
value_of_goods and services is the fair market value of anything that
the donor receives in exchange. This is not included in the
tax_deductible_amount.
reward_points_earned is the amount of points earned towards the
redemption of some reward. This is contingent on the organization
using the Rewards module.
summary_data is returned if "summary=data" is in the request and it
has a list of all form fields, each having the label and value
submitted.
summary_page is returned if "summary=page" is in the request and it
has the HTML of the "Thank You" page normally displayed for web
requests (it's the part of the HTML inside of the BODY element).
</xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="transaction_id" type="xsd:integer" />
<xsd:element name="recurring_pledge_id" type="xsd:integer" nillable="true" minOccurs="0"/>
<xsd:element name="cons_id" type="crm:nonNegInteger" />
<xsd:element name="confirmation_code" type="xsd:normalizedString" />
<xsd:element name="date_time" type="xsd:dateTime" />
<xsd:element name="amount" type="crm:transactionAmount" />
<xsd:element name="value_of_goods" type="crm:transactionAmount" />
<xsd:element name="tax_deductible_amount" type="crm:transactionAmount" />
<xsd:element name="reward_points_earned" type="crm:nonNegInteger" minOccurs="0" />
<xsd:element name="org_tax_id" type="xsd:normalizedString" />
<xsd:element name="tender_type" type="xsd:string" />
<xsd:element name="tender_instance" type="xsd:string" />
<xsd:element name="credit_card_number" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="1"/>
<xsd:element name="account_number" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="1"/>
<xsd:element name="summary_data" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="field" type="crm:donationFieldValue"
minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="summary_page" type="xsd:string" minOccurs="0" />
<!--<xsd:element name="softCredit" minOccurs="0" type="crm:softCredit" />-->
</xsd:all>
</xsd:complexType>
<xsd:complexType name="softCredit">
<xsd:all>
<xsd:element name="softCreditType">
<xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:enumeration value="TR_PARTICIPANT" />
<xsd:enumeration value="TR_TEAM" />
<xsd:enumeration value="TR_EVENT" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="softCreditId" type="crm:nonNegInteger" />
<xsd:element name="softCreditName" type="xsd:string" />
<xsd:element name="frId" type="crm:nonNegInteger" />
<xsd:element name="eventName" type="xsd:string" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="offlineDonationRefundResult">
<xsd:annotation>
<xsd:documentation>
The response from an offline donation refund.
If successful, it will contain a refund element containing
information about the refund.
If there is a failure, then it will contain an "errors" element
having the set of error information.
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="refund" type="crm:refundRecord"/>
<xsd:element name="errors" type="crm:donationErrors"/>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="refundRecord">
<xsd:annotation>
<xsd:documentation>
The response information for a successful offline donation refund.
partial_refund is a boolean value signifying whether the refund was full or partial
initial_amount is the value of the transaction before the refund has been applied
amount_refunded is the amount that has been refunded
amount_remaining is the amount of the transaction after the refund has been applied
</xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="info" type="xsd:string" />
<xsd:element name="is_full_refund" type="xsd:boolean" />
<xsd:element name="initial_amount" type="crm:transactionAmount" />
<xsd:element name="refund_amount" type="crm:transactionAmount" />
<xsd:element name="final_amount" type="crm:transactionAmount" />
</xsd:all>
</xsd:complexType>
<xsd:simpleType name="donationErrorReasonType">
<xsd:annotation>
<xsd:documentation>
For a failed donation, this indicates different types of
reasons.
FIELD_VALIDATION indicates that "validate=true" was requested and
there was an error with some field(s).
CARD_DECLINE indicates that the credit card was declined.
All other errors are UNSPECIFIED.
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:token">
<xsd:enumeration value="UNSPECIFIED"/>
<xsd:enumeration value="FIELD_VALIDATION"/>
<xsd:enumeration value="CARD_DECLINED"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="donationDeclineReasonType">
<xsd:annotation>
<xsd:documentation>
For a donation that failed because the payment card was declined,
this indicates more specifically why it was declined.
CVV_DECLINE indicates the Card Verification Value did not match.
AVS_DECLINE indicates the Address Verification System did not
match.
CARD_EXPIRED indicates the card has expired.
CARD_DECLINE indicates all other reasons for a declined card.
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:token">
<xsd:enumeration value="CARD_DECLINE"/>
<xsd:enumeration value="CARD_EXPIRED"/>
<xsd:enumeration value="CVV_DECLINE"/>
<xsd:enumeration value="AVS_DECLINE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="donationErrors">
<xsd:annotation>
<xsd:documentation>
Contains information about an unsuccessful invocation of a
donation method.
The fieldError elements will only be present if field validation
was requested in the invocation. They are the error messages
that would be displayed in the donation form's standard web page
next to individual entry fields if a user entered the same
information there instead of using the API.
The pageError elements are the messages that would be displayed
at the top of the web page.
The declineReason and declineUserMessage are
only present if the reason is CARD_DECLINED.
The declineUserMessage is the message that would be displayed in
the donation web page.
The declineDetail is a message from the card processing service
that may have a more detailed explanation, but also may be too
technical or cryptic for display to the user.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="code" type="crm:errorCode" />
<xsd:element name="message" type="xsd:string" />
<xsd:element name="reason" type="crm:donationErrorReasonType" />
<xsd:element name="declineReason" type="crm:donationDeclineReasonType" minOccurs="0" />
<xsd:element name="declineUserMessage" type="xsd:string" minOccurs="0" />
<xsd:element name="pageError" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
<!--<xsd:element name="fieldError" type="xsd:string" minOccurs="0" maxOccurs="unbounded">-->
<xsd:element name="fieldError" maxOccurs="unbounded" minOccurs="0">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="fieldId" type="xsd:string" use="optional"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="donationFieldValue">
<xsd:annotation>
<xsd:documentation>
In the summary data, each input field of the form and the value
sent in the request is described by this type.
name is a unique internal name for the field.
label is the label that would be shown in the form's web page.
value is the value received in the request.
The header attribute indicates whether the field is a section
header used to divide sets of input fields in the web page.
</xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="name" type="xsd:token" />
<xsd:element name="label" type="xsd:string" />
<xsd:element name="value" type="xsd:string" />
</xsd:all>
<xsd:attribute name="header" type="xsd:boolean"/>
</xsd:complexType>
<xsd:complexType name="donationRedirect">
<xsd:annotation>
<xsd:documentation>
Contains a redirect URL for the next step in a donation.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="url" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="validateDonateCheckoutResult">
<xsd:all>
<xsd:element name="isValid" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation>
Whether the provided donate checkout payload was valid or not.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="errorCode" type="xsd:int">
<xsd:annotation>
<xsd:documentation>
Error code of the error.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="errorMessage" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true">
<xsd:annotation>
<xsd:documentation>
Error message indicating why the payload was not valid.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="ValidateOfflineOrganizationGiftCheckoutResult">
<xsd:all>
<xsd:element name="isValid" type="xsd:boolean">
<xsd:annotation>
<xsd:documentation>
Whether the provided offline organization gift checkout payload was valid or not.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="errorCode" type="xsd:int">
<xsd:annotation>
<xsd:documentation>
Error code of the error.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="errorMessage" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true">
<xsd:annotation>
<xsd:documentation>
Error message indicating why the payload was not valid.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:all>
</xsd:complexType>
<xsd:simpleType name="donationSustainingFrequency">
<xsd:annotation>
<xsd:documentation>
For sustaining and installment plan donations, this specifies
how frequently the payments repeat.
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:token">
<xsd:enumeration value="one-time"/>
<xsd:enumeration value="monthly"/>
<xsd:enumeration value="quarterly"/>
<xsd:enumeration value="semi-annually"/>
<xsd:enumeration value="annually"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="donationDesignationType">
<xsd:annotation>
<xsd:documentation>
Describes a type of designated giving designees.
</xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="name" type="xsd:string" />
<xsd:element name="id" type="crm:nonNegInteger" />
<xsd:element name="sortOrder" type="crm:nonNegInteger" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="donationDesignee">
<xsd:annotation>
<xsd:documentation>
Describes a recipient of a designated giving donation, which
allows all or part of a donation to be designated for a specific
purpose.
</xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="name" type="xsd:string" />
<xsd:element name="description">
<xsd:complexType>
<xsd:choice>
<xsd:element name="text" type="xsd:string" />
<xsd:element name="xhtml" type="crm:xhtml" />
</xsd:choice>
</xsd:complexType>
</xsd:element>
<xsd:element name="id" type="crm:nonNegInteger" />
<xsd:element name="typeId" type="crm:nonNegInteger" />
</xsd:all>
</xsd:complexType>
<xsd:element name="xhtmlParser" type="crm:xhtml"/>
<xsd:complexType name="xhtml">
<xsd:sequence>
<xsd:any namespace="http://www.w3.org/1999/xhtml"
minOccurs="0" maxOccurs="unbounded"
processContents="skip"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="refundRequest">
<xsd:annotation>
<xsd:documentation>
List of various types of refund info objects.
</xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="donRefundInfoList" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Array of RefundInfo object(s) for donation refunds.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="donRefundInfo" type="crm:apiDonRefundInfo" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="trRefundInfoList" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Array of RefundInfo object(s) for teamraiser refunds.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="trRefundInfo" type="crm:apiTrRefundInfo" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="pfRefundInfoList" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Array of RefundInfo object(s) for personal fundraising refunds.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="pfRefundInfo" type="crm:apiPfRefundInfo" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ticketRefundInfoList" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Array of RefundInfo object(s) for ticketed events.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ticketRefundInfo" type="crm:apiTicketRefundInfo" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ecommerceRefundInfoList" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Array of RefundInfo object(s) for ecommerce purchase.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ecommerceRefundInfo" type="crm:apiEcommerceRefundInfo" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="apiRefundInfo" abstract="true">
<xsd:annotation>
<xsd:documentation>
Base refund information object that holds information about refund request.
For each application specific refund, there is a separate refund information
object.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="transaction_id" type="xsd:integer" minOccurs="0" maxOccurs="1" default="0">
<xsd:annotation>
<xsd:documentation>
The transactionId to identify the transaction being refunded.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="processor_transaction_id" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true">
<xsd:annotation>
<xsd:documentation>
TransactionId/unique identifier returned by credit card processor.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="user_confirmation_code" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true">
<xsd:annotation>
<xsd:documentation>
User confirmation code to uniquely identify transaction to be refunded.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="process_transaction" type="xsd:boolean" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Boolean flag indicating whether we should process transaction before recording it. Default value for this field is false.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="refund_type" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Refund type. If you are refunding full amount, value should be 'full' otherwise 'partial'.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="full" />
<xsd:enumeration value="partial" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="send_autoresponder" type="xsd:boolean" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Boolean flag indicating whether auto responder should be sent or not.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="apiDonRefundInfo">
<xsd:annotation>
<xsd:documentation>
Refund information object for donations.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="crm:apiRefundInfo">
<xsd:all>
<xsd:element name="refund_amount" type="xsd:integer" minOccurs="0" maxOccurs="1" default="0">
<xsd:annotation>
<xsd:documentation>
Amount (smallest denomination) to be refunded.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:all>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="apiTrRefundInfo">
<xsd:annotation>
<xsd:documentation>
Refund information object for teamraiser refunds.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="crm:apiRefundInfo">
<!--<xsd:sequence>
<xsd:element name="gift_refund_amount" type="xsd:integer" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Relevant to registration refunds only. This field allows us to set additional gift refund amount.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>-->
<xsd:choice>
<xsd:element name="refund_amount" type="xsd:integer" minOccurs="0" maxOccurs="1" default="0" />
<xsd:element name="regRefundDataList" minOccurs="0" maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="regRefundData" type="crm:apiRegRefundData" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="apiRegRefundData">
<xsd:all>
<xsd:element name="registration_id" type="xsd:integer" minOccurs="0"/>
<xsd:element name="reg_refund_amount" type="xsd:integer" minOccurs="0" />
<xsd:element name="gift_refund_amount" type="xsd:integer" minOccurs="0" />
<!-- list of add on's -->
<xsd:element name="addOnRefundDataList">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="addOnRefundData" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="addon_id" type="xsd:integer" default="0" minOccurs="0" maxOccurs="1"/>
<xsd:element name="addon_name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="addon_refund_amount" type="xsd:integer" default="0" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="apiPfRefundInfo">
<xsd:annotation>
<xsd:documentation>
Refund information object for personal fundraising refunds.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="crm:apiDonRefundInfo">
<xsd:all>
<xsd:element name="gift_refund_amount" type="xsd:integer" minOccurs="0" maxOccurs="1" default="0">
<xsd:annotation>
<xsd:documentation>
Relevant to registration refunds only. This field allows us to set additional gift refund amount.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:all>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="apiTicketRefundInfo" >
<xsd:annotation>
<xsd:documentation>
Refund information object for personal fundraising refunds.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="crm:apiRefundInfo">
<xsd:sequence>
<xsd:element name="gift_refund_amount" type="xsd:integer" minOccurs="0" maxOccurs="1" default="0"/>
<xsd:element name="cancel_all_tickets" type="xsd:boolean" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
This field indicates whether all tickets should be cancelled or not.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ticketRefundItemList" minOccurs="0" maxOccurs="1">
<xsd:annotation></xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="apiTicketRefundItem" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:all>
<xsd:element name="ticket_class_id" type="xsd:integer" minOccurs="0" maxOccurs="1" default="0" />
<xsd:element name="ticket_class_name" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="ticket_refund_amount" type="xsd:integer" minOccurs="0" maxOccurs="1" default="0" />
<xsd:element name="num_of_tickets" type="xsd:integer" minOccurs="0" maxOccurs="1" default="0" />
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="apiEcommerceRefundInfo" >
<xsd:annotation>
<xsd:documentation>
Refund information object for Ecommerce purchase refunds.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="crm:apiRefundInfo">
<xsd:sequence>
<xsd:element name="gift_refund_amount" type="xsd:integer" minOccurs="0" maxOccurs="1" default="0"/>
<xsd:element name="shipping_refund_amount" type="xsd:integer" minOccurs="0" maxOccurs="1" default="0"/>
<xsd:element name="new_discount_amount" type="xsd:integer" minOccurs="0" maxOccurs="1" default="0" />
<xsd:element name="refundItemList" minOccurs="0" maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="refund_item_id" type="xsd:integer" minOccurs="0" maxOccurs="unbounded" default="0"/>
<!--<xsd:complexType>
<xsd:all>
<xsd:element name="refund_item_id" type="xsd:integer" minOccurs="0" maxOccurs="1" default="0"/>
<xsd:element name="refund_product_name" type="xsd:string" minOccurs="0" maxOccurs="1" />
</xsd:all>
</xsd:complexType>
</xsd:element>-->
<!--<xsd:element name="refund_item_id" type="xsd:integer" minOccurs="0" maxOccurs="unbounded" default="0"/>
<xsd:element name="refund_product_name" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />-->
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="refundResponse">
<xsd:annotation>
<xsd:documentation>
Response object sent back to the user when refundRequest API call is made.
</xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="refundResultList" type="crm:refundResultList" minOccurs="0" maxOccurs="1" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="refundResultList">
<xsd:annotation>
<xsd:documentation>
List of refund result objects.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="refundResult" type="crm:apiRefundResult" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="apiRefundResult">
<xsd:all>
<xsd:element name="success" type="xsd:boolean" minOccurs="1" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Boolean flag indicating whether refund succeeded or not. Returns true
if refund is successful, else returns false.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="payment_transaction_id" type="xsd:integer" minOccurs="1" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
This field returns the value for 'transaction_id' field in the
refund info object passed included in the request.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="payment_processor_transaction_id" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true">
<xsd:annotation>
<xsd:documentation>
This field returns value of 'processorTranasactionId' field passed
in refund info object included in the request.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="refund_transaction_id" type="xsd:string" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
This field returns value of transactionId which refrences refund
transaction in convio's schema.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="full_refund" type="xsd:boolean" minOccurs="0" maxOccurs="1" />
<xsd:element name="initial_amount" type="crm:transactionAmount" minOccurs="0" maxOccurs="1" />
<xsd:element name="refund_amount" type="crm:transactionAmount" minOccurs="0" maxOccurs="1" />
<xsd:element name="final_amount" type="crm:transactionAmount" minOccurs="0" maxOccurs="1" />
<xsd:element name="error" type="crm:apiPaymentError" minOccurs="0" maxOccurs="1" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="recordRecurringTransactionList">
<xsd:sequence>
<xsd:element name="recurPledgeRecord" type="crm:recurPledgeRecord" minOccurs="0" maxOccurs="unbounded" >
<xsd:annotation>
<xsd:documentation>
List of recurring pledge records.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="recordRecurringTransactionResult">
<xsd:sequence>
<xsd:element name="transactionRecordResult" type="crm:transactionRecordResult" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="transactionRecordResult">
<xsd:sequence>
<xsd:element name="success" type="xsd:boolean" />
<xsd:element name="seed_transaction_id" type="xsd:string"/>
<xsd:element name="processor_ref_id" type="xsd:string"/>
<xsd:element name="transaction_id" type="xsd:string" />
<xsd:element name="error" type="crm:apiPaymentError" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="recurPledgeRecord">
<xsd:annotation>
<xsd:documentation>
Recurring pledge info that will be used to record this transaction.
</xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="seed_transaction_id" type="xsd:string" minOccurs="0" >
<xsd:annotation>
<xsd:documentation>
COM transaction id of the initial payment
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="processor_ref_id" type="xsd:string" minOccurs="0" >
<xsd:annotation>
<xsd:documentation>
Subscription ID from the payment processor
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="recur_amount" type="xsd:integer" >
<xsd:annotation>
<xsd:documentation>
Transaction value for this recurring payment record
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="recur_date" type="xsd:date" minOccurs="0" >
<xsd:annotation>
<xsd:documentation>
Date in which this payment was processed. Default is the date of API call.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="recur_next_payment_date" type="xsd:date" minOccurs="0" >
<xsd:annotation>
<xsd:documentation>
Expected date of next payment.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="recur_success" type="xsd:boolean" minOccurs="0" >
<xsd:annotation>
<xsd:documentation>
Whether to record this payment as a successful transaction or a failed transaction.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="send_autoresponder" type="xsd:boolean" minOccurs="0" >
<xsd:annotation>
<xsd:documentation>
Whether to send an autoresponder to the constituent.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="process_lapsed" type="xsd:boolean" minOccurs="0" default="false">
<xsd:annotation>
<xsd:documentation>
Whether to process the pledge if it is in the lapsed state. Default is false.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="apiPaymentError">
<xsd:all>
<xsd:element name="code" type="xsd:int" />
<xsd:element name="message" type="xsd:string" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="captureDonationRequest">
<xsd:annotation>
<xsd:documentation>
List of pending payments to be captured.
</xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="pendingTransactionList" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Array of pending transactions to be captured.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="pendingTransaction" type="crm:pendingTransaction" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="pendingTransaction">
<xsd:annotation>
<xsd:documentation>
Pending transaction information object that has transactionId of pending
transaction to be captured.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="pending_transaction_id" type="xsd:integer" minOccurs="0" maxOccurs="1" default="0">
<xsd:annotation>
<xsd:documentation>
The transactionId of pending transaction to be captured.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="crm_batch_id" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true">
<xsd:annotation>
<xsd:documentation>
Id of batch in CRM.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="crm_batch_entry_id" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true">
<xsd:annotation>
<xsd:documentation>
Id of batch entry row associated with batchId.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="amount" type="xsd:decimal" minOccurs="0" maxOccurs="1" nillable="false" />
<xsd:element name="crm_campaign_id" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true" />
<xsd:element name="crm_opportunity_id" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
<xsd:element name="crm_pledge_id" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true" />
<xsd:element name="crm_recurring_gift_id" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true" />
<xsd:element name="recurrence_frequency" type="crm:donationSustainingFrequency" minOccurs="0" maxOccurs="1" nillable="true" />
<xsd:element name="recurrence_duration" type="xsd:nonNegativeInteger" minOccurs="0" maxOccurs="1" nillable="true" />
<xsd:element name="next_due_date" type="xsd:date" minOccurs="0" maxOccurs="1" nillable="true" />
<xsd:element name="crm_tr_id" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true" />
<xsd:element name="crm_proxy_type" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true" />
<xsd:element name="crm_proxy_id" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="captureDonationResponse">
<xsd:annotation>
<xsd:documentation>Result of capture donation request api call</xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="captureDonationResultList" minOccurs="0" maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="captureDonationResult" type="crm:captureDonationResult" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="captureDonationResult">
<xsd:annotation>
<xsd:documentation>
The response from a capturing an authorized transaction.
If successful, it will contain a "capturedDonation" element having
information about the donation.
If there is a failure, then it will contain an "errors" element
having the set of error information.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="approved" type="xsd:boolean" minOccurs="0" maxOccurs="1" />
<xsd:element name="pending_transaction_id" type="xsd:integer" minOccurs="0" maxOccurs="1" />
<xsd:element name="crm_batch_id" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="crm_batch_entry_id" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:choice>
<xsd:element name="captureDonationRecord" type="crm:captureDonationRecord"/>
<xsd:element name="errors" type="crm:donationErrors"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="captureDonationRecord">
<xsd:annotation>
<xsd:documentation></xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="transaction_id" type="xsd:integer" />
<xsd:element name="recurring_pledge_id" type="xsd:integer" nillable="true" minOccurs="0"/>
<xsd:element name="cons_id" type="crm:nonNegInteger" />
<xsd:element name="confirmation_code" type="xsd:normalizedString" />
<xsd:element name="date_time" type="xsd:dateTime" />
<xsd:element name="amount" type="crm:transactionAmount" />
<xsd:element name="value_of_goods" type="crm:transactionAmount" />
<xsd:element name="tax_deductible_amount" type="crm:transactionAmount" />
<xsd:element name="reward_points_earned" type="crm:nonNegInteger" minOccurs="0" />
<xsd:element name="org_tax_id" type="xsd:normalizedString" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="transactionRecord">
<xsd:annotation>
<xsd:documentation></xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="status" type="xsd:boolean" />
<xsd:element name="transaction_id" type="xsd:integer" />
<xsd:element name="confirmation_code" type="xsd:normalizedString" />
<xsd:element name="cons_id" type="crm:nonNegInteger" />
<xsd:element name="amount" type="crm:transactionAmount" />
<xsd:element name="transaction_date" type="xsd:dateTime" />
<xsd:element name="card_number" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="1"/>
<xsd:element name="card_exp_date" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="1"/>
<xsd:element name="account_number" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="1"/>
<xsd:element name="routing_number" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="1"/>
<xsd:element name="billing_name" type="crm:name" />
<xsd:element name="billing_address" type="crm:address" />
<xsd:element name="tender_type" type="xsd:string" />
<xsd:element name="tender_instance" type="xsd:string" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="getDonationFormInfoResult">
<xsd:sequence>
<xsd:element name="donationLevels" type="crm:levels" />
<xsd:element name="paymentCards" type="crm:paymentCards" />
<xsd:element name="bankTransfers" type="xsd:boolean" />
<xsd:element name="externalProcessors" type="crm:externalProcessors" />
<xsd:element name="donationFields" type="crm:donationFields" />
<xsd:element name="checkoutOptions" type="crm:checkoutOptions" />
<xsd:element name="supportsDesignation" type="xsd:boolean" />
<xsd:element name="supportsWriteInDesignation" type="xsd:boolean" />
<xsd:element name="supportsEcard" type="xsd:boolean" />
<xsd:element name="supportsInstallments" type="xsd:boolean" />
<xsd:element name="supportsSustaining" type="xsd:boolean" />
<xsd:element name="supportsLevelAutorepeat" type="xsd:boolean" />
<xsd:element name="supportsGiftAid" type="xsd:boolean" />
<xsd:element name="supportsTribute" type="xsd:boolean" />
<xsd:element name="teamraiserTeamGiftsAllowed" type="xsd:boolean" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="levels">
<xsd:sequence>
<xsd:element name="donationLevel" type="crm:level" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="level">
<xsd:sequence>
<xsd:element name="level_id" type="xsd:integer" />
<xsd:element name="name" type="xsd:string" />
<xsd:element name="amount" type="crm:transactionAmount" />
<xsd:element name="userSpecified" type="xsd:boolean" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="paymentCards">
<xsd:sequence>
<xsd:element name="paymentCard" type="xsd:string" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="externalProcessors">
<xsd:sequence>
<xsd:element name="externalProcessor" type="xsd:string" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="donationFields">
<xsd:sequence>
<xsd:element name="donationField" type="crm:donationField" maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="donationField">
<xsd:sequence>
<xsd:element name="elementName" type="xsd:string" />
<xsd:element name="required" type="xsd:boolean" />
<xsd:element name="defaultValue" type="xsd:string" />
<xsd:element name="optionValue" type="crm:optionValue" maxOccurs="unbounded" minOccurs="0" />
<xsd:element name="recaptchaData" type="crm:recaptchaData" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="optionValue">
<xsd:sequence>
<xsd:element name="value" type="xsd:string" />
<xsd:element name="text" type="xsd:string" />
<xsd:element name="icon" type="xsd:anyURI" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>