<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:platformCore="urn:core_2025_2.platform.webservices.netsuite.com" xmlns:platformCoreTyp="urn:types.core_2025_2.platform.webservices.netsuite.com" xmlns:tranSalesTyp="urn:types.sales_2025_2.transactions.webservices.netsuite.com" xmlns:tranSales="urn:sales_2025_2.transactions.webservices.netsuite.com" xmlns:platformCommon="urn:common_2025_2.platform.webservices.netsuite.com" xmlns:platformCommonTyp="urn:types.common_2025_2.platform.webservices.netsuite.com" targetNamespace="urn:sales_2025_2.transactions.webservices.netsuite.com" elementFormDefault="qualified">
    <xsd:import namespace="urn:core_2025_2.platform.webservices.netsuite.com" schemaLocation="../../../xsd/platform/v2025_2_0/core.xsd"/>
    <xsd:import namespace="urn:types.sales_2025_2.transactions.webservices.netsuite.com" schemaLocation="../../../xsd/transactions/v2025_2_0/saleTypes.xsd"/>
    <xsd:import namespace="urn:common_2025_2.platform.webservices.netsuite.com" schemaLocation="../../../xsd/platform/v2025_2_0/common.xsd"/>
    <xsd:import namespace="urn:types.common_2025_2.platform.webservices.netsuite.com" schemaLocation="../../../xsd/platform/v2025_2_0/commonTypes.xsd"/>
    <!-- opportunity/start -->
    <element name="Opportunity" type="tranSales:Opportunity"/>
    <complexType name="Opportunity">
        <complexContent>
            <extension base="platformCore:Record">
                <sequence>
                    <element name="customForm" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="currency" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="estimatedBudget" type="xsd:double" minOccurs="0"/>
                    <element name="entity" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="job" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="title" type="xsd:string" minOccurs="0"/>
                    <element name="tranId" type="xsd:string" minOccurs="0"/>
                    <element name="entityTaxRegNum" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="taxPointDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="oneTime" type="xsd:double" minOccurs="0"/>
                    <element name="recurWeekly" type="xsd:double" minOccurs="0"/>
                    <element name="recurMonthly" type="xsd:double" minOccurs="0"/>
                    <element name="recurQuarterly" type="xsd:double" minOccurs="0"/>
                    <element name="recurAnnually" type="xsd:double" minOccurs="0"/>
                    <element name="source" type="xsd:string" minOccurs="0"/>
                    <element name="salesRep" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="contribPct" type="xsd:string" minOccurs="0"/>
                    <element name="partner" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="salesGroup" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="syncSalesTeams" type="xsd:boolean" minOccurs="0"/>
                    <element name="leadSource" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="entityStatus" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="probability" type="xsd:double" minOccurs="0"/>
                    <element name="tranDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="expectedCloseDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="daysOpen" type="xsd:long" minOccurs="0"/>
                    <element name="forecastType" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="currencyName" type="xsd:string" minOccurs="0"/>
                    <element name="exchangeRate" type="xsd:double" minOccurs="0"/>
                    <element name="projectedTotal" type="xsd:double" minOccurs="0"/>
                    <element name="rangeLow" type="xsd:double" minOccurs="0"/>
                    <element name="rangeHigh" type="xsd:double" minOccurs="0"/>
                    <element name="projAltSalesAmt" type="xsd:double" minOccurs="0"/>
                    <element name="altSalesRangeLow" type="xsd:double" minOccurs="0"/>
                    <element name="altSalesRangeHigh" type="xsd:double" minOccurs="0"/>
                    <element name="weightedTotal" type="xsd:double" minOccurs="0"/>
                    <element name="actionItem" type="xsd:string" minOccurs="0"/>
                    <element name="winLossReason" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="memo" type="xsd:string" minOccurs="0"/>
                    <element name="taxTotal" type="xsd:double" minOccurs="0"/>
                    <element name="isBudgetApproved" type="xsd:boolean" minOccurs="0"/>
                    <element name="tax2Total" type="xsd:double" minOccurs="0"/>
                    <element name="salesReadiness" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="totalCostEstimate" type="xsd:double" minOccurs="0"/>
                    <element name="buyingTimeFrame" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="estGrossProfit" type="xsd:double" minOccurs="0"/>
                    <element name="buyingReason" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="estGrossProfitPercent" type="xsd:double" minOccurs="0"/>
                    <element name="billingAddress" type="platformCommon:Address" minOccurs="0"/>
                    <element name="billAddressList" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="shippingAddress" type="platformCommon:Address" minOccurs="0"/>
                    <element name="shipIsResidential" type="xsd:boolean" minOccurs="0"/>
                    <element name="shipAddressList" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="class" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="closeDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="createdDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="lastModifiedDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="nexus" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="subsidiaryTaxRegNum" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="taxRegOverride" type="xsd:boolean" minOccurs="0"/>
                    <element name="taxDetailsOverride" type="xsd:boolean" minOccurs="0"/>
                    <element name="department" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="location" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="subsidiary" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="status" type="xsd:string" minOccurs="0"/>
                    <element name="vatRegNum" type="xsd:string" minOccurs="0"/>
                    <element name="syncPartnerTeams" type="xsd:boolean" minOccurs="0"/>
                    <element name="salesTeamList" type="tranSales:OpportunitySalesTeamList" minOccurs="0"/>
                    <element name="partnersList" type="tranSales:OpportunityPartnersList" minOccurs="0"/>
                    <element name="itemList" type="tranSales:OpportunityItemList" minOccurs="0"/>
                    <element name="competitorsList" type="tranSales:OpportunityCompetitorsList" minOccurs="0"/>
                    <element name="accountingBookDetailList" type="platformCommon:AccountingBookDetailList" minOccurs="0"/>
                    <element name="taxDetailsList" type="platformCommon:TaxDetailsList" minOccurs="0"/>
                    <element name="customFieldList" type="platformCore:CustomFieldList" minOccurs="0"/>
                </sequence>
                <!-- primary record internalId -->
                <attribute name="internalId" type="xsd:string"/>
                <attribute name="externalId" type="xsd:string"/>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="OpportunitySalesTeam">
        <sequence>
            <element name="employee" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="salesRole" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="isPrimary" type="xsd:boolean" minOccurs="0"/>
            <element name="contribution" type="xsd:double" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="OpportunitySalesTeamList">
        <sequence>
            <element name="salesTeam" type="tranSales:OpportunitySalesTeam" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="OpportunityItem">
        <sequence>
            <element name="job" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="item" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="line" type="xsd:long" minOccurs="0"/>
            <element name="quantityAvailable" type="xsd:double" minOccurs="0"/>
            <element name="quantityOnHand" type="xsd:double" minOccurs="0"/>
            <element name="quantity" type="xsd:double" minOccurs="0"/>
            <element name="units" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="description" type="xsd:string" minOccurs="0"/>
            <element name="price" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="rate" type="xsd:string" minOccurs="0"/>
            <element name="amount" type="xsd:double" minOccurs="0"/>
            <element name="altSalesAmt" type="xsd:double" minOccurs="0"/>
            <element name="revRecTermInMonths" type="xsd:long" minOccurs="0"/>
            <element name="options" type="platformCore:CustomFieldList" minOccurs="0"/>
            <element name="fromJob" type="xsd:boolean" minOccurs="0"/>
            <element name="department" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="isEstimate" type="xsd:boolean" minOccurs="0"/>
            <element name="location" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="class" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="costEstimateType" type="platformCommonTyp:ItemCostEstimateType" minOccurs="0"/>
            <element name="costEstimate" type="xsd:double" minOccurs="0"/>
            <element name="taxAmount" type="xsd:double" minOccurs="0"/>
            <element name="taxDetailsReference" type="xsd:string" minOccurs="0"/>
            <element name="grossAmt" type="xsd:double" minOccurs="0"/>
            <element name="tax1Amt" type="xsd:double" minOccurs="0"/>
            <element name="taxCode" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="taxRate1" type="xsd:double" minOccurs="0"/>
            <element name="taxRate2" type="xsd:double" minOccurs="0"/>
            <element name="expectedShipDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="subscription" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="customFieldList" type="platformCore:CustomFieldList" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="OpportunityItemList">
        <sequence>
            <element name="item" type="tranSales:OpportunityItem" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="OpportunityCompetitors">
        <sequence>
            <element name="competitor" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="url" type="xsd:string" minOccurs="0"/>
            <element name="notes" type="xsd:string" minOccurs="0"/>
            <element name="strategy" type="xsd:string" minOccurs="0"/>
            <element name="winner" type="xsd:boolean" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="OpportunityCompetitorsList">
        <sequence>
            <element name="competitors" type="tranSales:OpportunityCompetitors" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <element name="opportunitySearch" type="tranSales:OpportunitySearch"/>
    <complexType name="OpportunitySearch">
        <complexContent>
            <extension base="platformCore:SearchRecord">
                <sequence>
                    <element name="basic" type="platformCommon:OpportunitySearchBasic" minOccurs="0"/>
                    <element name="actualJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="callJoin" type="platformCommon:PhoneCallSearchBasic" minOccurs="0"/>
                    <element name="customerJoin" type="platformCommon:CustomerSearchBasic" minOccurs="0"/>
                    <element name="decisionMakerJoin" type="platformCommon:ContactSearchBasic" minOccurs="0"/>
                    <element name="estimateJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="eventJoin" type="platformCommon:CalendarEventSearchBasic" minOccurs="0"/>
                    <element name="fileJoin" type="platformCommon:FileSearchBasic" minOccurs="0"/>
                    <element name="itemJoin" type="platformCommon:ItemSearchBasic" minOccurs="0"/>
                    <element name="leadSourceJoin" type="platformCommon:CampaignSearchBasic" minOccurs="0"/>
                    <element name="messagesJoin" type="platformCommon:MessageSearchBasic" minOccurs="0"/>
                    <element name="orderJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="originatingLeadJoin" type="platformCommon:OriginatingLeadSearchBasic" minOccurs="0"/>
                    <element name="partnerJoin" type="platformCommon:PartnerSearchBasic" minOccurs="0"/>
                    <element name="salesRepJoin" type="platformCommon:EmployeeSearchBasic" minOccurs="0"/>
                    <element name="taskJoin" type="platformCommon:TaskSearchBasic" minOccurs="0"/>
                    <element name="userNotesJoin" type="platformCommon:NoteSearchBasic" minOccurs="0"/>
                    <element name="customSearchJoin" type="platformCommon:CustomSearchJoin" minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="OpportunitySearchAdvanced">
        <complexContent>
            <extension base="platformCore:SearchRecord">
                <sequence>
                    <element name="criteria" type="tranSales:OpportunitySearch" minOccurs="0"/>
                    <element name="columns" type="tranSales:OpportunitySearchRow" minOccurs="0"/>
                </sequence>
                <attribute name="savedSearchId" type="xsd:string"/>
                <attribute name="savedSearchScriptId" type="xsd:string"/>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="OpportunitySearchRow">
        <complexContent>
            <extension base="platformCore:SearchRow">
                <sequence>
                    <element name="basic" type="platformCommon:OpportunitySearchRowBasic" minOccurs="0"/>
                    <element name="actualJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="callJoin" type="platformCommon:PhoneCallSearchRowBasic" minOccurs="0"/>
                    <element name="customerJoin" type="platformCommon:CustomerSearchRowBasic" minOccurs="0"/>
                    <element name="decisionMakerJoin" type="platformCommon:ContactSearchRowBasic" minOccurs="0"/>
                    <element name="estimateJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="eventJoin" type="platformCommon:CalendarEventSearchRowBasic" minOccurs="0"/>
                    <element name="fileJoin" type="platformCommon:FileSearchRowBasic" minOccurs="0"/>
                    <element name="itemJoin" type="platformCommon:ItemSearchRowBasic" minOccurs="0"/>
                    <element name="leadSourceJoin" type="platformCommon:CampaignSearchRowBasic" minOccurs="0"/>
                    <element name="messagesJoin" type="platformCommon:MessageSearchRowBasic" minOccurs="0"/>
                    <element name="orderJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="originatingLeadJoin" type="platformCommon:OriginatingLeadSearchRowBasic" minOccurs="0"/>
                    <element name="partnerJoin" type="platformCommon:PartnerSearchRowBasic" minOccurs="0"/>
                    <element name="salesRepJoin" type="platformCommon:EmployeeSearchRowBasic" minOccurs="0"/>
                    <element name="taskJoin" type="platformCommon:TaskSearchRowBasic" minOccurs="0"/>
                    <element name="userNotesJoin" type="platformCommon:NoteSearchRowBasic" minOccurs="0"/>
                    <element name="customSearchJoin" type="platformCommon:CustomSearchRowBasic" minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="OpportunityPartnersList">
        <sequence>
            <element name="partners" type="platformCommon:Partners" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <!-- opportunity/end -->
    <!-- salesOrder/start -->
    <element name="SalesOrder" type="tranSales:SalesOrder"/>
    <complexType name="SalesOrder">
        <complexContent>
            <extension base="platformCore:Record">
                <sequence>
                    <element name="createdDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="customForm" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="entity" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="job" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="currency" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="drAccount" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="fxAccount" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="tranDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="tranId" type="xsd:string" minOccurs="0"/>
                    <element name="entityTaxRegNum" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="source" type="xsd:string" minOccurs="0"/>
                    <element name="createdFrom" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="orderStatus" type="tranSalesTyp:SalesOrderOrderStatus" minOccurs="0"/>
                    <element name="nextBill" type="xsd:dateTime" minOccurs="0"/>
                    <element name="opportunity" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="salesRep" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="contribPct" type="xsd:string" minOccurs="0"/>
                    <element name="partner" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="salesGroup" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="syncSalesTeams" type="xsd:boolean" minOccurs="0"/>
                    <element name="leadSource" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="startDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="endDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="otherRefNum" type="xsd:string" minOccurs="0"/>
                    <element name="memo" type="xsd:string" minOccurs="0"/>
                    <element name="salesEffectiveDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="excludeCommission" type="xsd:boolean" minOccurs="0"/>
                    <element name="totalCostEstimate" type="xsd:double" minOccurs="0"/>
                    <element name="estGrossProfit" type="xsd:double" minOccurs="0"/>
                    <element name="estGrossProfitPercent" type="xsd:double" minOccurs="0"/>
                    <element name="exchangeRate" type="xsd:double" minOccurs="0"/>
                    <element name="promoCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="currencyName" type="xsd:string" minOccurs="0"/>
                    <element name="discountItem" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="discountRate" type="xsd:string" minOccurs="0"/>
                    <element name="isTaxable" type="xsd:boolean" minOccurs="0"/>
                    <element name="taxItem" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="taxRate" type="xsd:double" minOccurs="0"/>
                    <element name="toBePrinted" type="xsd:boolean" minOccurs="0"/>
                    <element name="toBeEmailed" type="xsd:boolean" minOccurs="0"/>
                    <element name="email" type="xsd:string" minOccurs="0"/>
                    <element name="toBeFaxed" type="xsd:boolean" minOccurs="0"/>
                    <element name="fax" type="xsd:string" minOccurs="0"/>
                    <element name="messageSel" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="message" type="xsd:string" minOccurs="0"/>
                    <element name="paymentOption" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="inputAuthCode" type="xsd:string" minOccurs="0"/>
                    <element name="inputReferenceCode" type="xsd:string" minOccurs="0"/>
                    <element name="checkNumber" type="xsd:string" minOccurs="0"/>
                    <element name="paymentCardCsc" type="xsd:string" minOccurs="0"/>
                    <element name="paymentProcessingProfile" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="handlingMode" type="tranSalesTyp:SalesOrderHandlingMode" minOccurs="0"/>
                    <element name="outputAuthCode" type="xsd:string" minOccurs="0"/>
                    <element name="outputReferenceCode" type="xsd:string" minOccurs="0"/>
                    <element name="paymentOperation" type="tranSalesTyp:SalesOrderPaymentOperation" minOccurs="0"/>
                    <element name="dynamicDescriptor" type="xsd:string" minOccurs="0"/>
                    <element name="billingAddress" type="platformCommon:Address" minOccurs="0"/>
                    <element name="billAddressList" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="shippingAddress" type="platformCommon:Address" minOccurs="0"/>
                    <element name="shipIsResidential" type="xsd:boolean" minOccurs="0"/>
                    <element name="shipAddressList" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="fob" type="xsd:string" minOccurs="0"/>
                    <element name="shipDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="actualShipDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="shipMethod" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="shippingCost" type="xsd:double" minOccurs="0"/>
                    <element name="shippingTax1Rate" type="xsd:double" minOccurs="0"/>
                    <element name="isMultiShipTo" type="xsd:boolean" minOccurs="0"/>
                    <element name="shippingTax2Rate" type="xsd:string" minOccurs="0"/>
                    <element name="shippingTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="handlingTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="handlingTax1Rate" type="xsd:double" minOccurs="0"/>
                    <element name="handlingTax2Rate" type="xsd:string" minOccurs="0"/>
                    <element name="handlingCost" type="xsd:double" minOccurs="0"/>
                    <element name="trackingNumbers" type="xsd:string" minOccurs="0"/>
                    <element name="linkedTrackingNumbers" type="xsd:string" minOccurs="0"/>
                    <element name="shipComplete" type="xsd:boolean" minOccurs="0"/>
                    <element name="paymentMethod" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="shopperIpAddress" type="xsd:string" minOccurs="0"/>
                    <element name="saveOnAuthDecline" type="xsd:boolean" minOccurs="0"/>
                    <element name="canHaveStackable" type="xsd:boolean" minOccurs="0"/>
                    <element name="creditCard" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="revenueStatus" type="platformCommonTyp:RevenueStatus" minOccurs="0"/>
                    <element name="recognizedRevenue" type="xsd:double" minOccurs="0"/>
                    <element name="deferredRevenue" type="xsd:double" minOccurs="0"/>
                    <element name="revRecOnRevCommitment" type="xsd:boolean" minOccurs="0"/>
                    <element name="revCommitStatus" type="platformCommonTyp:RevenueCommitStatus" minOccurs="0"/>
                    <element name="ccNumber" type="xsd:string" minOccurs="0"/>
                    <element name="ccExpireDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="ccName" type="xsd:string" minOccurs="0"/>
                    <element name="ccStreet" type="xsd:string" minOccurs="0"/>
                    <element name="ccZipCode" type="xsd:string" minOccurs="0"/>
                    <element name="payPalStatus" type="xsd:string" minOccurs="0"/>
                    <element name="creditCardProcessor" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="payPalTranId" type="xsd:string" minOccurs="0"/>
                    <element name="ccApproved" type="xsd:boolean" minOccurs="0"/>
                    <element name="getAuth" type="xsd:boolean" minOccurs="0"/>
                    <element name="authCode" type="xsd:string" minOccurs="0"/>
                    <element name="ccAvsStreetMatch" type="platformCommonTyp:AvsMatchCode" minOccurs="0"/>
                    <element name="ccAvsZipMatch" type="platformCommonTyp:AvsMatchCode" minOccurs="0"/>
                    <element name="isRecurringPayment" type="xsd:boolean" minOccurs="0"/>
                    <element name="ccSecurityCodeMatch" type="platformCommonTyp:AvsMatchCode" minOccurs="0"/>
                    <element name="altSalesTotal" type="xsd:double" minOccurs="0"/>
                    <element name="ignoreAvs" type="xsd:boolean" minOccurs="0"/>
                    <element name="paymentEventResult" type="tranSalesTyp:TransactionPaymentEventResult" minOccurs="0"/>
                    <element name="paymentEventHoldReason" type="tranSalesTyp:TransactionPaymentEventHoldReason" minOccurs="0"/>
                    <element name="paymentEventType" type="tranSalesTyp:TransactionPaymentEventType" minOccurs="0"/>
                    <element name="paymentEventDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="paymentEventUpdatedBy" type="xsd:string" minOccurs="0"/>
                    <element name="subTotal" type="xsd:double" minOccurs="0"/>
                    <element name="discountTotal" type="xsd:double" minOccurs="0"/>
                    <element name="taxTotal" type="xsd:double" minOccurs="0"/>
                    <element name="altShippingCost" type="xsd:double" minOccurs="0"/>
                    <element name="altHandlingCost" type="xsd:double" minOccurs="0"/>
                    <element name="total" type="xsd:double" minOccurs="0"/>
                    <element name="revRecSchedule" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="revRecStartDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="revRecEndDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="paypalAuthId" type="xsd:string" minOccurs="0"/>
                    <element name="balance" type="xsd:double" minOccurs="0"/>
                    <element name="paypalProcess" type="xsd:boolean" minOccurs="0"/>
                    <element name="billingSchedule" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="ccSecurityCode" type="xsd:string" minOccurs="0"/>
                    <element name="threeDStatusCode" type="xsd:string" minOccurs="0"/>
                    <element name="class" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="department" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="subsidiary" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="intercoTransaction" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="intercoStatus" type="platformCommonTyp:IntercoStatus" minOccurs="0"/>
                    <element name="debitCardIssueNo" type="xsd:string" minOccurs="0"/>
                    <element name="lastModifiedDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="nexus" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="subsidiaryTaxRegNum" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="taxRegOverride" type="xsd:boolean" minOccurs="0"/>
                    <element name="taxPointDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="taxDetailsOverride" type="xsd:boolean" minOccurs="0"/>
                    <element name="location" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="pnRefNum" type="xsd:string" minOccurs="0"/>
                    <element name="status" type="xsd:string" minOccurs="0"/>
                    <element name="tax2Total" type="xsd:double" minOccurs="0"/>
                    <element name="terms" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="validFrom" type="xsd:dateTime" minOccurs="0"/>
                    <element name="vatRegNum" type="xsd:string" minOccurs="0"/>
                    <element name="giftCertApplied" type="xsd:double" minOccurs="0"/>
                    <element name="oneTime" type="xsd:double" minOccurs="0"/>
                    <element name="recurWeekly" type="xsd:double" minOccurs="0"/>
                    <element name="recurMonthly" type="xsd:double" minOccurs="0"/>
                    <element name="recurQuarterly" type="xsd:double" minOccurs="0"/>
                    <element name="recurAnnually" type="xsd:double" minOccurs="0"/>
                    <element name="tranIsVsoeBundle" type="xsd:boolean" minOccurs="0"/>
                    <element name="vsoeAutoCalc" type="xsd:boolean" minOccurs="0"/>
                    <element name="syncPartnerTeams" type="xsd:boolean" minOccurs="0"/>
                    <element name="salesTeamList" type="tranSales:SalesOrderSalesTeamList" minOccurs="0"/>
                    <element name="partnersList" type="tranSales:SalesOrderPartnersList" minOccurs="0"/>
                    <element name="giftCertRedemptionList" type="platformCommon:GiftCertRedemptionList" minOccurs="0"/>
                    <element name="promotionsList" type="platformCommon:PromotionsList" minOccurs="0"/>
                    <element name="itemList" type="tranSales:SalesOrderItemList" minOccurs="0"/>
                    <element name="shipGroupList" type="tranSales:SalesOrderShipGroupList" minOccurs="0"/>
                    <element name="accountingBookDetailList" type="platformCommon:AccountingBookDetailList" minOccurs="0"/>
                    <element name="taxDetailsList" type="platformCommon:TaxDetailsList" minOccurs="0"/>
                    <element name="customFieldList" type="platformCore:CustomFieldList" minOccurs="0"/>
                </sequence>
                <!-- primary record internalId -->
                <attribute name="internalId" type="xsd:string"/>
                <attribute name="externalId" type="xsd:string"/>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="SalesOrderSalesTeam">
        <sequence>
            <element name="employee" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="salesRole" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="isPrimary" type="xsd:boolean" minOccurs="0"/>
            <element name="contribution" type="xsd:double" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="SalesOrderSalesTeamList">
        <sequence>
            <element name="salesTeam" type="tranSales:SalesOrderSalesTeam" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="SalesOrderItem">
        <sequence>
            <element name="job" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="subscription" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="item" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="quantityAvailable" type="xsd:double" minOccurs="0"/>
            <element name="expandItemGroup" type="xsd:boolean" minOccurs="0"/>
            <element name="lineUniqueKey" type="xsd:long" minOccurs="0"/>
            <element name="quantityOnHand" type="xsd:double" minOccurs="0"/>
            <element name="quantity" type="xsd:double" minOccurs="0"/>
            <element name="units" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="inventoryDetail" type="platformCommon:InventoryDetail" minOccurs="0"/>
            <element name="description" type="xsd:string" minOccurs="0"/>
            <element name="price" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="rate" type="xsd:string" minOccurs="0"/>
            <element name="serialNumbers" type="xsd:string" minOccurs="0"/>
            <element name="amount" type="xsd:double" minOccurs="0"/>
            <element name="isTaxable" type="xsd:boolean" minOccurs="0"/>
            <element name="commitInventory" type="tranSalesTyp:SalesOrderItemCommitInventory" minOccurs="0"/>
            <element name="orderPriority" type="xsd:double" minOccurs="0"/>
            <element name="licenseCode" type="xsd:string" minOccurs="0"/>
            <element name="options" type="platformCore:CustomFieldList" minOccurs="0"/>
            <element name="department" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="class" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="location" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="createPo" type="tranSalesTyp:SalesOrderItemCreatePo" minOccurs="0"/>
            <element name="createdPo" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="altSalesAmt" type="xsd:double" minOccurs="0"/>
            <element name="createWo" type="xsd:boolean" minOccurs="0"/>
            <element name="poVendor" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="poCurrency" type="xsd:string" minOccurs="0"/>
            <element name="poRate" type="xsd:double" minOccurs="0"/>
            <element name="revRecSchedule" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="revRecStartDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="revRecTermInMonths" type="xsd:long" minOccurs="0"/>
            <element name="revRecEndDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="deferRevRec" type="xsd:boolean" minOccurs="0"/>
            <element name="isClosed" type="xsd:boolean" minOccurs="0"/>
            <element name="itemFulfillmentChoice" type="tranSalesTyp:SalesOrderItemFulfillmentChoice" minOccurs="0"/>
            <element name="catchUpPeriod" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="billingSchedule" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="fromJob" type="xsd:boolean" minOccurs="0"/>
            <element name="grossAmt" type="xsd:double" minOccurs="0"/>
            <element name="taxAmount" type="xsd:double" minOccurs="0"/>
            <element name="excludeFromRateRequest" type="xsd:boolean" minOccurs="0"/>
            <element name="isEstimate" type="xsd:boolean" minOccurs="0"/>
            <element name="inventoryLocation" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="inventorySubsidiary" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="line" type="xsd:long" minOccurs="0"/>
            <element name="percentComplete" type="xsd:double" minOccurs="0"/>
            <element name="costEstimateType" type="platformCommonTyp:ItemCostEstimateType" minOccurs="0"/>
            <element name="costEstimate" type="xsd:double" minOccurs="0"/>
            <element name="quantityBackOrdered" type="xsd:double" minOccurs="0"/>
            <element name="quantityBilled" type="xsd:double" minOccurs="0"/>
            <element name="quantityCommitted" type="xsd:double" minOccurs="0"/>
            <element name="quantityFulfilled" type="xsd:double" minOccurs="0"/>
            <element name="quantityPacked" type="xsd:double" minOccurs="0"/>
            <element name="quantityPicked" type="xsd:double" minOccurs="0"/>
            <element name="tax1Amt" type="xsd:double" minOccurs="0"/>
            <element name="taxCode" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="taxRate1" type="xsd:double" minOccurs="0"/>
            <element name="taxRate2" type="xsd:double" minOccurs="0"/>
            <element name="giftCertFrom" type="xsd:string" minOccurs="0"/>
            <element name="giftCertRecipientName" type="xsd:string" minOccurs="0"/>
            <element name="giftCertRecipientEmail" type="xsd:string" minOccurs="0"/>
            <element name="giftCertMessage" type="xsd:string" minOccurs="0"/>
            <element name="giftCertNumber" type="xsd:string" minOccurs="0"/>
            <element name="shipGroup" type="xsd:long" minOccurs="0"/>
            <element name="itemIsFulfilled" type="xsd:boolean" minOccurs="0"/>
            <element name="shipAddress" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="shipMethod" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="vsoeSopGroup" type="platformCommonTyp:VsoeSopGroup" minOccurs="0"/>
            <element name="vsoeIsEstimate" type="xsd:boolean" minOccurs="0"/>
            <element name="vsoePrice" type="xsd:double" minOccurs="0"/>
            <element name="vsoeAmount" type="xsd:double" minOccurs="0"/>
            <element name="vsoeAllocation" type="xsd:double" minOccurs="0"/>
            <element name="vsoeDeferral" type="platformCommonTyp:VsoeDeferral" minOccurs="0"/>
            <element name="vsoePermitDiscount" type="platformCommonTyp:VsoePermitDiscount" minOccurs="0"/>
            <element name="vsoeDelivered" type="xsd:boolean" minOccurs="0"/>
            <element name="expectedShipDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="noAutoAssignLocation" type="xsd:boolean" minOccurs="0"/>
            <element name="locationAutoAssigned" type="xsd:boolean" minOccurs="0"/>
            <element name="taxDetailsReference" type="xsd:string" minOccurs="0"/>
            <element name="chargeType" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="orderAllocationStrategy" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="requestedDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="customFieldList" type="platformCore:CustomFieldList" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="SalesOrderItemList">
        <sequence>
            <element name="item" type="tranSales:SalesOrderItem" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="SalesOrderPartnersList">
        <sequence>
            <element name="partners" type="platformCommon:Partners" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="SalesOrderShipGroupList">
        <sequence>
            <element name="shipGroup" type="tranSales:TransactionShipGroup" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <!-- salesOrder/end -->
    <!-- transaction/start -->
    <element name="transactionSearch" type="tranSales:TransactionSearch"/>
    <complexType name="TransactionSearch">
        <complexContent>
            <extension base="platformCore:SearchRecord">
                <sequence>
                    <element name="basic" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="accountJoin" type="platformCommon:AccountSearchBasic" minOccurs="0"/>
                    <element name="accountingPeriodJoin" type="platformCommon:AccountingPeriodSearchBasic" minOccurs="0"/>
                    <element name="accountingTransactionJoin" type="platformCommon:AccountingTransactionSearchBasic" minOccurs="0"/>
                    <element name="advanceToApplyAccountJoin" type="platformCommon:AccountSearchBasic" minOccurs="0"/>
                    <element name="appliedToTransactionJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="applyingTransactionJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="assemblyJoin" type="platformCommon:ItemSearchBasic" minOccurs="0"/>
                    <element name="billingAddressJoin" type="platformCommon:AddressSearchBasic" minOccurs="0"/>
                    <element name="billingTransactionJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="binNumberJoin" type="platformCommon:BinSearchBasic" minOccurs="0"/>
                    <element name="bomJoin" type="platformCommon:BomSearchBasic" minOccurs="0"/>
                    <element name="bomRevisionJoin" type="platformCommon:BomRevisionSearchBasic" minOccurs="0"/>
                    <element name="callJoin" type="platformCommon:PhoneCallSearchBasic" minOccurs="0"/>
                    <element name="caseJoin" type="platformCommon:SupportCaseSearchBasic" minOccurs="0"/>
                    <element name="classJoin" type="platformCommon:ClassificationSearchBasic" minOccurs="0"/>
                    <element name="cogsPurchaseJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="cogsSaleJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="contactPrimaryJoin" type="platformCommon:ContactSearchBasic" minOccurs="0"/>
                    <element name="createdFromJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="customerJoin" type="platformCommon:CustomerSearchBasic" minOccurs="0"/>
                    <element name="customerMainJoin" type="platformCommon:CustomerSearchBasic" minOccurs="0"/>
                    <element name="departmentJoin" type="platformCommon:DepartmentSearchBasic" minOccurs="0"/>
                    <element name="depositTransactionJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="employeeJoin" type="platformCommon:EmployeeSearchBasic" minOccurs="0"/>
                    <element name="eventJoin" type="platformCommon:CalendarEventSearchBasic" minOccurs="0"/>
                    <element name="expenseCategoryJoin" type="platformCommon:ExpenseCategorySearchBasic" minOccurs="0"/>
                    <element name="fileJoin" type="platformCommon:FileSearchBasic" minOccurs="0"/>
                    <element name="fromLocationJoin" type="platformCommon:LocationSearchBasic" minOccurs="0"/>
                    <element name="fulfillingTransactionJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="headerBillingAccountJoin" type="platformCommon:BillingAccountSearchBasic" minOccurs="0"/>
                    <element name="installmentJoin" type="platformCommon:InstallmentSearchBasic" minOccurs="0"/>
                    <element name="inventoryDetailJoin" type="platformCommon:InventoryDetailSearchBasic" minOccurs="0"/>
                    <element name="itemJoin" type="platformCommon:ItemSearchBasic" minOccurs="0"/>
                    <element name="itemNumberJoin" type="platformCommon:InventoryNumberSearchBasic" minOccurs="0"/>
                    <element name="jobJoin" type="platformCommon:JobSearchBasic" minOccurs="0"/>
                    <element name="jobMainJoin" type="platformCommon:JobSearchBasic" minOccurs="0"/>
                    <element name="leadSourceJoin" type="platformCommon:CampaignSearchBasic" minOccurs="0"/>
                    <element name="lineBillingAccountJoin" type="platformCommon:BillingAccountSearchBasic" minOccurs="0"/>
                    <element name="lineFileJoin" type="platformCommon:FileSearchBasic" minOccurs="0"/>
                    <element name="locationJoin" type="platformCommon:LocationSearchBasic" minOccurs="0"/>
                    <element name="manufacturingOperationTaskJoin" type="platformCommon:ManufacturingOperationTaskSearchBasic" minOccurs="0"/>
                    <element name="messagesJoin" type="platformCommon:MessageSearchBasic" minOccurs="0"/>
                    <element name="nextApproverJoin" type="platformCommon:EntitySearchBasic" minOccurs="0"/>
                    <element name="opportunityJoin" type="platformCommon:OpportunitySearchBasic" minOccurs="0"/>
                    <element name="outsourcingVendorJoin" type="platformCommon:VendorSearchBasic" minOccurs="0"/>
                    <element name="paidTransactionJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="partnerJoin" type="platformCommon:PartnerSearchBasic" minOccurs="0"/>
                    <element name="payingTransactionJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="paymentInstrumentJoin" type="platformCommon:PaymentInstrumentSearchBasic" minOccurs="0"/>
                    <element name="paymentOptionJoin" type="platformCommon:PaymentOptionSearchBasic" minOccurs="0"/>
                    <element name="payrollItemJoin" type="platformCommon:PayrollItemSearchBasic" minOccurs="0"/>
                    <element name="projectTaskJoin" type="platformCommon:ProjectTaskSearchBasic" minOccurs="0"/>
                    <element name="purchaseOrderJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="requestorJoin" type="platformCommon:EmployeeSearchBasic" minOccurs="0"/>
                    <element name="revCommittingTransactionJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="revisionJoin" type="platformCommon:ItemRevisionSearchBasic" minOccurs="0"/>
                    <element name="revRecScheduleJoin" type="platformCommon:RevRecScheduleSearchBasic" minOccurs="0"/>
                    <element name="rgPostingTransactionJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="salesOrderJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                    <element name="salesRepJoin" type="platformCommon:EmployeeSearchBasic" minOccurs="0"/>
                    <element name="shippingAddressJoin" type="platformCommon:AddressSearchBasic" minOccurs="0"/>
                    <element name="subsidiaryJoin" type="platformCommon:SubsidiarySearchBasic" minOccurs="0"/>
                    <element name="taskJoin" type="platformCommon:TaskSearchBasic" minOccurs="0"/>
                    <element name="taxCodeJoin" type="platformCommon:SalesTaxItemSearchBasic" minOccurs="0"/>
                    <element name="taxDetailJoin" type="platformCommon:TaxDetailSearchBasic" minOccurs="0"/>
                    <element name="taxItemJoin" type="platformCommon:SalesTaxItemSearchBasic" minOccurs="0"/>
                    <element name="timeJoin" type="platformCommon:TimeBillSearchBasic" minOccurs="0"/>
                    <element name="toLocationJoin" type="platformCommon:LocationSearchBasic" minOccurs="0"/>
                    <element name="userJoin" type="platformCommon:EmployeeSearchBasic" minOccurs="0"/>
                    <element name="userNotesJoin" type="platformCommon:NoteSearchBasic" minOccurs="0"/>
                    <element name="vendorJoin" type="platformCommon:VendorSearchBasic" minOccurs="0"/>
                    <element name="vendorLineJoin" type="platformCommon:VendorSearchBasic" minOccurs="0"/>
                    <element name="customSearchJoin" type="platformCommon:CustomSearchJoin" minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="TransactionSearchAdvanced">
        <complexContent>
            <extension base="platformCore:SearchRecord">
                <sequence>
                    <element name="criteria" type="tranSales:TransactionSearch" minOccurs="0"/>
                    <element name="columns" type="tranSales:TransactionSearchRow" minOccurs="0"/>
                </sequence>
                <attribute name="savedSearchId" type="xsd:string"/>
                <attribute name="savedSearchScriptId" type="xsd:string"/>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="TransactionSearchRow">
        <complexContent>
            <extension base="platformCore:SearchRow">
                <sequence>
                    <element name="basic" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="accountJoin" type="platformCommon:AccountSearchRowBasic" minOccurs="0"/>
                    <element name="accountingPeriodJoin" type="platformCommon:AccountingPeriodSearchRowBasic" minOccurs="0"/>
                    <element name="accountingTransactionJoin" type="platformCommon:AccountingTransactionSearchRowBasic" minOccurs="0"/>
                    <element name="advanceToApplyAccountJoin" type="platformCommon:AccountSearchRowBasic" minOccurs="0"/>
                    <element name="appliedToTransactionJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="applyingTransactionJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="assemblyJoin" type="platformCommon:ItemSearchRowBasic" minOccurs="0"/>
                    <element name="billingAddressJoin" type="platformCommon:AddressSearchRowBasic" minOccurs="0"/>
                    <element name="billingTransactionJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="binNumberJoin" type="platformCommon:BinSearchRowBasic" minOccurs="0"/>
                    <element name="bomJoin" type="platformCommon:BomSearchRowBasic" minOccurs="0"/>
                    <element name="bomRevisionJoin" type="platformCommon:BomRevisionSearchRowBasic" minOccurs="0"/>
                    <element name="callJoin" type="platformCommon:PhoneCallSearchRowBasic" minOccurs="0"/>
                    <element name="caseJoin" type="platformCommon:SupportCaseSearchRowBasic" minOccurs="0"/>
                    <element name="classJoin" type="platformCommon:ClassificationSearchRowBasic" minOccurs="0"/>
                    <element name="cogsPurchaseJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="cogsSaleJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="contactPrimaryJoin" type="platformCommon:ContactSearchRowBasic" minOccurs="0"/>
                    <element name="createdFromJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="customerJoin" type="platformCommon:CustomerSearchRowBasic" minOccurs="0"/>
                    <element name="customerMainJoin" type="platformCommon:CustomerSearchRowBasic" minOccurs="0"/>
                    <element name="departmentJoin" type="platformCommon:DepartmentSearchRowBasic" minOccurs="0"/>
                    <element name="depositTransactionJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="employeeJoin" type="platformCommon:EmployeeSearchRowBasic" minOccurs="0"/>
                    <element name="eventJoin" type="platformCommon:CalendarEventSearchRowBasic" minOccurs="0"/>
                    <element name="expenseCategoryJoin" type="platformCommon:ExpenseCategorySearchRowBasic" minOccurs="0"/>
                    <element name="fileJoin" type="platformCommon:FileSearchRowBasic" minOccurs="0"/>
                    <element name="fromLocationJoin" type="platformCommon:LocationSearchRowBasic" minOccurs="0"/>
                    <element name="fulfillingTransactionJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="headerBillingAccountJoin" type="platformCommon:BillingAccountSearchRowBasic" minOccurs="0"/>
                    <element name="installmentJoin" type="platformCommon:InstallmentSearchRowBasic" minOccurs="0"/>
                    <element name="inventoryDetailJoin" type="platformCommon:InventoryDetailSearchRowBasic" minOccurs="0"/>
                    <element name="itemJoin" type="platformCommon:ItemSearchRowBasic" minOccurs="0"/>
                    <element name="itemNumberJoin" type="platformCommon:InventoryNumberSearchRowBasic" minOccurs="0"/>
                    <element name="jobJoin" type="platformCommon:JobSearchRowBasic" minOccurs="0"/>
                    <element name="jobMainJoin" type="platformCommon:JobSearchRowBasic" minOccurs="0"/>
                    <element name="leadSourceJoin" type="platformCommon:CampaignSearchRowBasic" minOccurs="0"/>
                    <element name="lineBillingAccountJoin" type="platformCommon:BillingAccountSearchRowBasic" minOccurs="0"/>
                    <element name="lineFileJoin" type="platformCommon:FileSearchRowBasic" minOccurs="0"/>
                    <element name="locationJoin" type="platformCommon:LocationSearchRowBasic" minOccurs="0"/>
                    <element name="manufacturingOperationTaskJoin" type="platformCommon:ManufacturingOperationTaskSearchRowBasic" minOccurs="0"/>
                    <element name="messagesJoin" type="platformCommon:MessageSearchRowBasic" minOccurs="0"/>
                    <element name="nextApproverJoin" type="platformCommon:EntitySearchRowBasic" minOccurs="0"/>
                    <element name="opportunityJoin" type="platformCommon:OpportunitySearchRowBasic" minOccurs="0"/>
                    <element name="outsourcingVendorJoin" type="platformCommon:VendorSearchRowBasic" minOccurs="0"/>
                    <element name="paidTransactionJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="partnerJoin" type="platformCommon:PartnerSearchRowBasic" minOccurs="0"/>
                    <element name="payingTransactionJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="paymentInstrumentJoin" type="platformCommon:PaymentInstrumentSearchRowBasic" minOccurs="0"/>
                    <element name="paymentOptionJoin" type="platformCommon:PaymentOptionSearchRowBasic" minOccurs="0"/>
                    <element name="payrollItemJoin" type="platformCommon:PayrollItemSearchRowBasic" minOccurs="0"/>
                    <element name="projectTaskJoin" type="platformCommon:ProjectTaskSearchRowBasic" minOccurs="0"/>
                    <element name="purchaseOrderJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="requestorJoin" type="platformCommon:EmployeeSearchRowBasic" minOccurs="0"/>
                    <element name="revCommittingTransactionJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="revisionJoin" type="platformCommon:ItemRevisionSearchRowBasic" minOccurs="0"/>
                    <element name="revRecScheduleJoin" type="platformCommon:RevRecScheduleSearchRowBasic" minOccurs="0"/>
                    <element name="rgPostingTransactionJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="salesOrderJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                    <element name="salesRepJoin" type="platformCommon:EmployeeSearchRowBasic" minOccurs="0"/>
                    <element name="shippingAddressJoin" type="platformCommon:AddressSearchRowBasic" minOccurs="0"/>
                    <element name="subsidiaryJoin" type="platformCommon:SubsidiarySearchRowBasic" minOccurs="0"/>
                    <element name="taskJoin" type="platformCommon:TaskSearchRowBasic" minOccurs="0"/>
                    <element name="taxCodeJoin" type="platformCommon:SalesTaxItemSearchRowBasic" minOccurs="0"/>
                    <element name="taxDetailJoin" type="platformCommon:TaxDetailSearchRowBasic" minOccurs="0"/>
                    <element name="taxItemJoin" type="platformCommon:SalesTaxItemSearchRowBasic" minOccurs="0"/>
                    <element name="timeJoin" type="platformCommon:TimeBillSearchRowBasic" minOccurs="0"/>
                    <element name="toLocationJoin" type="platformCommon:LocationSearchRowBasic" minOccurs="0"/>
                    <element name="userJoin" type="platformCommon:EmployeeSearchRowBasic" minOccurs="0"/>
                    <element name="userNotesJoin" type="platformCommon:NoteSearchRowBasic" minOccurs="0"/>
                    <element name="vendorJoin" type="platformCommon:VendorSearchRowBasic" minOccurs="0"/>
                    <element name="vendorLineJoin" type="platformCommon:VendorSearchRowBasic" minOccurs="0"/>
                    <element name="customSearchJoin" type="platformCommon:CustomSearchRowBasic" minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
    <!-- transaction/end -->
    <!-- itemFulfillment/start -->
    <element name="ItemFulfillment" type="tranSales:ItemFulfillment"/>
    <complexType name="ItemFulfillment">
        <complexContent>
            <extension base="platformCore:Record">
                <sequence>
                    <element name="createdDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="lastModifiedDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="customForm" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="postingPeriod" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="entity" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="createdFrom" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="requestedBy" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="createdFromShipGroup" type="xsd:long" minOccurs="0"/>
                    <element name="partner" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="shippingAddress" type="platformCommon:Address" minOccurs="0"/>
                    <element name="pickedDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="packedDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="shippedDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="shipIsResidential" type="xsd:boolean" minOccurs="0"/>
                    <element name="shipAddressList" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="shipStatus" type="tranSalesTyp:ItemFulfillmentShipStatus" minOccurs="0"/>
                    <element name="saturdayDeliveryUps" type="xsd:boolean" minOccurs="0"/>
                    <element name="sendShipNotifyEmailUps" type="xsd:boolean" minOccurs="0"/>
                    <element name="sendBackupEmailUps" type="xsd:boolean" minOccurs="0"/>
                    <element name="shipNotifyEmailAddressUps" type="xsd:string" minOccurs="0"/>
                    <element name="shipNotifyEmailAddress2Ups" type="xsd:string" minOccurs="0"/>
                    <element name="backupEmailAddressUps" type="xsd:string" minOccurs="0"/>
                    <element name="shipNotifyEmailMessageUps" type="xsd:string" minOccurs="0"/>
                    <element name="thirdPartyAcctUps" type="xsd:string" minOccurs="0"/>
                    <element name="thirdPartyZipcodeUps" type="xsd:string" minOccurs="0"/>
                    <element name="thirdPartyCountryUps" type="platformCommonTyp:Country" minOccurs="0"/>
                    <element name="thirdPartyTypeUps" type="tranSalesTyp:ItemFulfillmentThirdPartyTypeUps" minOccurs="0"/>
                    <element name="partiesToTransactionUps" type="xsd:boolean" minOccurs="0"/>
                    <element name="exportTypeUps" type="tranSalesTyp:ItemFulfillmentExportTypeUps" minOccurs="0"/>
                    <element name="methodOfTransportUps" type="tranSalesTyp:ItemFulfillmentMethodOfTransportUps" minOccurs="0"/>
                    <element name="carrierIdUps" type="xsd:string" minOccurs="0"/>
                    <element name="entryNumberUps" type="xsd:string" minOccurs="0"/>
                    <element name="inbondCodeUps" type="xsd:string" minOccurs="0"/>
                    <element name="isRoutedExportTransactionUps" type="xsd:boolean" minOccurs="0"/>
                    <element name="licenseNumberUps" type="xsd:string" minOccurs="0"/>
                    <element name="licenseDateUps" type="xsd:dateTime" minOccurs="0"/>
                    <element name="licenseExceptionUps" type="tranSalesTyp:ItemFulfillmentLicenseExceptionUps" minOccurs="0"/>
                    <element name="eccNumberUps" type="xsd:string" minOccurs="0"/>
                    <element name="recipientTaxIdUps" type="xsd:string" minOccurs="0"/>
                    <element name="blanketStartDateUps" type="xsd:dateTime" minOccurs="0"/>
                    <element name="blanketEndDateUps" type="xsd:dateTime" minOccurs="0"/>
                    <element name="shipmentWeightUps" type="xsd:double" minOccurs="0"/>
                    <element name="saturdayDeliveryFedEx" type="xsd:boolean" minOccurs="0"/>
                    <element name="saturdayPickupFedex" type="xsd:boolean" minOccurs="0"/>
                    <element name="sendShipNotifyEmailFedEx" type="xsd:boolean" minOccurs="0"/>
                    <element name="sendBackupEmailFedEx" type="xsd:boolean" minOccurs="0"/>
                    <element name="signatureHomeDeliveryFedEx" type="xsd:boolean" minOccurs="0"/>
                    <element name="shipNotifyEmailAddressFedEx" type="xsd:string" minOccurs="0"/>
                    <element name="backupEmailAddressFedEx" type="xsd:string" minOccurs="0"/>
                    <element name="shipDateFedEx" type="xsd:dateTime" minOccurs="0"/>
                    <element name="homeDeliveryTypeFedEx" type="tranSalesTyp:ItemFulfillmentHomeDeliveryTypeFedEx" minOccurs="0"/>
                    <element name="homeDeliveryDateFedEx" type="xsd:dateTime" minOccurs="0"/>
                    <element name="bookingConfirmationNumFedEx" type="xsd:string" minOccurs="0"/>
                    <element name="intlExemptionNumFedEx" type="xsd:string" minOccurs="0"/>
                    <element name="b13aFilingOptionFedEx" type="tranSalesTyp:ItemFulfillmentB13AFilingOptionFedEx" minOccurs="0"/>
                    <element name="b13aStatementDataFedEx" type="xsd:string" minOccurs="0"/>
                    <element name="thirdPartyAcctFedEx" type="xsd:string" minOccurs="0"/>
                    <element name="thirdPartyCountryFedEx" type="platformCommonTyp:Country" minOccurs="0"/>
                    <element name="thirdPartyTypeFedEx" type="tranSalesTyp:ItemFulfillmentThirdPartyTypeFedEx" minOccurs="0"/>
                    <element name="shipmentWeightFedEx" type="xsd:double" minOccurs="0"/>
                    <element name="termsOfSaleFedEx" type="tranSalesTyp:ItemFulfillmentTermsOfSaleFedEx" minOccurs="0"/>
                    <element name="termsFreightChargeFedEx" type="xsd:double" minOccurs="0"/>
                    <element name="termsInsuranceChargeFedEx" type="xsd:double" minOccurs="0"/>
                    <element name="insideDeliveryFedEx" type="xsd:boolean" minOccurs="0"/>
                    <element name="insidePickupFedEx" type="xsd:boolean" minOccurs="0"/>
                    <element name="ancillaryEndorsementFedEx" type="tranSalesTyp:ItemFulfillmentAncillaryEndorsementFedEx" minOccurs="0"/>
                    <element name="holdAtLocationFedEx" type="xsd:boolean" minOccurs="0"/>
                    <element name="halPhoneFedEx" type="xsd:string" minOccurs="0"/>
                    <element name="halAddr1FedEx" type="xsd:string" minOccurs="0"/>
                    <element name="halAddr2FedEx" type="xsd:string" minOccurs="0"/>
                    <element name="halAddr3FedEx" type="xsd:string" minOccurs="0"/>
                    <element name="halCityFedEx" type="xsd:string" minOccurs="0"/>
                    <element name="halZipFedEx" type="xsd:string" minOccurs="0"/>
                    <element name="halStateFedEx" type="xsd:string" minOccurs="0"/>
                    <element name="halCountryFedEx" type="xsd:string" minOccurs="0"/>
                    <element name="hazmatTypeFedEx" type="tranSalesTyp:ItemFulfillmentHazmatTypeFedEx" minOccurs="0"/>
                    <element name="accessibilityTypeFedEx" type="tranSalesTyp:ItemFulfillmentAccessibilityTypeFedEx" minOccurs="0"/>
                    <element name="isCargoAircraftOnlyFedEx" type="xsd:boolean" minOccurs="0"/>
                    <element name="tranDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="tranId" type="xsd:string" minOccurs="0"/>
                    <element name="shipMethod" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="inventoryLocation" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="generateIntegratedShipperLabel" type="xsd:boolean" minOccurs="0"/>
                    <element name="shippingCost" type="xsd:double" minOccurs="0"/>
                    <element name="handlingCost" type="xsd:double" minOccurs="0"/>
                    <element name="memo" type="xsd:string" minOccurs="0"/>
                    <element name="transferLocation" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="packageList" type="tranSales:ItemFulfillmentPackageList" minOccurs="0"/>
                    <element name="packageUpsList" type="tranSales:ItemFulfillmentPackageUpsList" minOccurs="0"/>
                    <element name="packageUspsList" type="tranSales:ItemFulfillmentPackageUspsList" minOccurs="0"/>
                    <element name="packageFedExList" type="tranSales:ItemFulfillmentPackageFedExList" minOccurs="0"/>
                    <element name="itemList" type="tranSales:ItemFulfillmentItemList" minOccurs="0"/>
                    <element name="accountingBookDetailList" type="platformCommon:AccountingBookDetailList" minOccurs="0"/>
                    <element name="customFieldList" type="platformCore:CustomFieldList" minOccurs="0"/>
                </sequence>
                <!-- primary record internalId -->
                <attribute name="internalId" type="xsd:string"/>
                <attribute name="externalId" type="xsd:string"/>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="ItemFulfillmentItem">
        <sequence>
            <element name="jobName" type="xsd:string" minOccurs="0"/>
            <element name="itemReceive" type="xsd:boolean" minOccurs="0"/>
            <element name="itemName" type="xsd:string" minOccurs="0"/>
            <element name="description" type="xsd:string" minOccurs="0"/>
            <element name="department" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="class" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="location" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="onHand" type="xsd:double" minOccurs="0"/>
            <element name="quantity" type="xsd:double" minOccurs="0"/>
            <element name="unitsDisplay" type="xsd:string" minOccurs="0"/>
            <element name="createPo" type="xsd:string" minOccurs="0"/>
            <element name="inventoryDetail" type="platformCommon:InventoryDetail" minOccurs="0"/>
            <element name="binNumbers" type="xsd:string" minOccurs="0"/>
            <element name="serialNumbers" type="xsd:string" minOccurs="0"/>
            <element name="poNum" type="xsd:string" minOccurs="0"/>
            <element name="item" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="orderLine" type="xsd:long" minOccurs="0"/>
            <element name="quantityRemaining" type="xsd:double" minOccurs="0"/>
            <element name="options" type="platformCore:CustomFieldList" minOccurs="0"/>
            <element name="shipGroup" type="xsd:long" minOccurs="0"/>
            <element name="itemIsFulfilled" type="xsd:boolean" minOccurs="0"/>
            <element name="shipAddress" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="shipMethod" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="customFieldList" type="platformCore:CustomFieldList" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="ItemFulfillmentItemList">
        <sequence>
            <element name="item" type="tranSales:ItemFulfillmentItem" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="ItemFulfillmentPackage">
        <sequence>
            <element name="packageWeight" type="xsd:double" minOccurs="0"/>
            <element name="packageDescr" type="xsd:string" minOccurs="0"/>
            <element name="packageTrackingNumber" type="xsd:string" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="ItemFulfillmentPackageList">
        <sequence>
            <element name="package" type="tranSales:ItemFulfillmentPackage" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="ItemFulfillmentPackageUps">
        <sequence>
            <element name="packageWeightUps" type="xsd:double" minOccurs="0"/>
            <element name="packageDescrUps" type="xsd:string" minOccurs="0"/>
            <element name="packageTrackingNumberUps" type="xsd:string" minOccurs="0"/>
            <element name="packagingUps" type="tranSalesTyp:ItemFulfillmentPackageUpsPackagingUps" minOccurs="0"/>
            <element name="useInsuredValueUps" type="xsd:boolean" minOccurs="0"/>
            <element name="insuredValueUps" type="xsd:double" minOccurs="0"/>
            <element name="reference1Ups" type="xsd:string" minOccurs="0"/>
            <element name="reference2Ups" type="xsd:string" minOccurs="0"/>
            <element name="packageLengthUps" type="xsd:long" minOccurs="0"/>
            <element name="packageWidthUps" type="xsd:long" minOccurs="0"/>
            <element name="packageHeightUps" type="xsd:long" minOccurs="0"/>
            <element name="additionalHandlingUps" type="xsd:boolean" minOccurs="0"/>
            <element name="useCodUps" type="xsd:boolean" minOccurs="0"/>
            <element name="codAmountUps" type="xsd:double" minOccurs="0"/>
            <element name="codMethodUps" type="tranSalesTyp:ItemFulfillmentPackageUpsCodMethodUps" minOccurs="0"/>
            <element name="deliveryConfUps" type="tranSalesTyp:ItemFulfillmentPackageUpsDeliveryConfUps" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="ItemFulfillmentPackageUpsList">
        <sequence>
            <element name="packageUps" type="tranSales:ItemFulfillmentPackageUps" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="ItemFulfillmentPackageUsps">
        <sequence>
            <element name="packageWeightUsps" type="xsd:double" minOccurs="0"/>
            <element name="packageDescrUsps" type="xsd:string" minOccurs="0"/>
            <element name="packageTrackingNumberUsps" type="xsd:string" minOccurs="0"/>
            <element name="packagingUsps" type="tranSalesTyp:ItemFulfillmentPackageUspsPackagingUsps" minOccurs="0"/>
            <element name="useInsuredValueUsps" type="xsd:boolean" minOccurs="0"/>
            <element name="insuredValueUsps" type="xsd:double" minOccurs="0"/>
            <element name="reference1Usps" type="xsd:string" minOccurs="0"/>
            <element name="reference2Usps" type="xsd:string" minOccurs="0"/>
            <element name="packageLengthUsps" type="xsd:long" minOccurs="0"/>
            <element name="packageWidthUsps" type="xsd:long" minOccurs="0"/>
            <element name="packageHeightUsps" type="xsd:long" minOccurs="0"/>
            <element name="deliveryConfUsps" type="tranSalesTyp:ItemFulfillmentPackageUspsDeliveryConfUsps" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="ItemFulfillmentPackageUspsList">
        <sequence>
            <element name="packageUsps" type="tranSales:ItemFulfillmentPackageUsps" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="ItemFulfillmentPackageFedEx">
        <sequence>
            <element name="packageWeightFedEx" type="xsd:double" minOccurs="0"/>
            <element name="dryIceWeightFedEx" type="xsd:double" minOccurs="0"/>
            <element name="packageTrackingNumberFedEx" type="xsd:string" minOccurs="0"/>
            <element name="packagingFedEx" type="tranSalesTyp:ItemFulfillmentPackageFedExPackagingFedEx" minOccurs="0"/>
            <element name="admPackageTypeFedEx" type="tranSalesTyp:ItemFulfillmentPackageFedExAdmPackageTypeFedEx" minOccurs="0"/>
            <element name="isNonStandardContainerFedEx" type="xsd:boolean" minOccurs="0"/>
            <element name="isAlcoholFedEx" type="xsd:boolean" minOccurs="0"/>
            <element name="alcoholRecipientTypeFedEx" type="platformCommonTyp:AlcoholRecipientType" minOccurs="0"/>
            <element name="isNonHazLithiumFedEx" type="xsd:boolean" minOccurs="0"/>
            <element name="insuredValueFedEx" type="xsd:double" minOccurs="0"/>
            <element name="useInsuredValueFedEx" type="xsd:boolean" minOccurs="0"/>
            <element name="reference1FedEx" type="xsd:string" minOccurs="0"/>
            <element name="priorityAlertTypeFedEx" type="tranSalesTyp:ItemFulfillmentPackageFedExPriorityAlertTypeFedEx" minOccurs="0"/>
            <element name="priorityAlertContentFedEx" type="xsd:string" minOccurs="0"/>
            <element name="packageLengthFedEx" type="xsd:long" minOccurs="0"/>
            <element name="packageWidthFedEx" type="xsd:long" minOccurs="0"/>
            <element name="packageHeightFedEx" type="xsd:long" minOccurs="0"/>
            <element name="useCodFedEx" type="xsd:boolean" minOccurs="0"/>
            <element name="codAmountFedEx" type="xsd:double" minOccurs="0"/>
            <element name="codMethodFedEx" type="tranSalesTyp:ItemFulfillmentPackageFedExCodMethodFedEx" minOccurs="0"/>
            <element name="codFreightTypeFedEx" type="tranSalesTyp:ItemFulfillmentPackageFedExCodFreightTypeFedEx" minOccurs="0"/>
            <element name="deliveryConfFedEx" type="tranSalesTyp:ItemFulfillmentPackageFedExDeliveryConfFedEx" minOccurs="0"/>
            <element name="signatureOptionsFedEx" type="tranSalesTyp:ItemFulfillmentPackageFedExSignatureOptionsFedEx" minOccurs="0"/>
            <element name="signatureReleaseFedEx" type="xsd:string" minOccurs="0"/>
            <element name="authorizationNumberFedEx" type="xsd:string" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="ItemFulfillmentPackageFedExList">
        <sequence>
            <element name="packageFedEx" type="tranSales:ItemFulfillmentPackageFedEx" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <!-- itemFulfillment/end -->
    <!-- invoice/start -->
    <element name="Invoice" type="tranSales:Invoice"/>
    <complexType name="Invoice">
        <complexContent>
            <extension base="platformCore:Record">
                <sequence>
                    <element name="createdDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="lastModifiedDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="nexus" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="subsidiaryTaxRegNum" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="taxRegOverride" type="xsd:boolean" minOccurs="0"/>
                    <element name="taxDetailsOverride" type="xsd:boolean" minOccurs="0"/>
                    <element name="customForm" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="nextApprover" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="entity" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="billingAccount" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="recurringBill" type="xsd:boolean" minOccurs="0"/>
                    <element name="tranDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="tranId" type="xsd:string" minOccurs="0"/>
                    <element name="entityTaxRegNum" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="taxPointDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="source" type="xsd:string" minOccurs="0"/>
                    <element name="createdFrom" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="postingPeriod" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="opportunity" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="department" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="class" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="terms" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="location" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="subsidiary" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="currency" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="dueDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="discountDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="discountAmount" type="xsd:double" minOccurs="0"/>
                    <element name="salesRep" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="contribPct" type="xsd:string" minOccurs="0"/>
                    <element name="partner" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="leadSource" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="startDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="endDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="otherRefNum" type="xsd:string" minOccurs="0"/>
                    <element name="memo" type="xsd:string" minOccurs="0"/>
                    <element name="salesEffectiveDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="excludeCommission" type="xsd:boolean" minOccurs="0"/>
                    <element name="totalCostEstimate" type="xsd:double" minOccurs="0"/>
                    <element name="estGrossProfit" type="xsd:double" minOccurs="0"/>
                    <element name="estGrossProfitPercent" type="xsd:double" minOccurs="0"/>
                    <element name="revRecSchedule" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="revRecStartDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="revRecEndDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="amountPaid" type="xsd:double" minOccurs="0"/>
                    <element name="amountRemaining" type="xsd:double" minOccurs="0"/>
                    <element name="balance" type="xsd:double" minOccurs="0"/>
                    <element name="account" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="onCreditHold" type="xsd:string" minOccurs="0"/>
                    <element name="exchangeRate" type="xsd:double" minOccurs="0"/>
                    <element name="currencyName" type="xsd:string" minOccurs="0"/>
                    <element name="promoCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="discountItem" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="discountRate" type="xsd:string" minOccurs="0"/>
                    <element name="isTaxable" type="xsd:boolean" minOccurs="0"/>
                    <element name="taxItem" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="taxRate" type="xsd:double" minOccurs="0"/>
                    <element name="toBePrinted" type="xsd:boolean" minOccurs="0"/>
                    <element name="toBeEmailed" type="xsd:boolean" minOccurs="0"/>
                    <element name="toBeFaxed" type="xsd:boolean" minOccurs="0"/>
                    <element name="fax" type="xsd:string" minOccurs="0"/>
                    <element name="messageSel" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="message" type="xsd:string" minOccurs="0"/>
                    <element name="billingAddress" type="platformCommon:Address" minOccurs="0"/>
                    <element name="billAddressList" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="shippingAddress" type="platformCommon:Address" minOccurs="0"/>
                    <element name="shipIsResidential" type="xsd:boolean" minOccurs="0"/>
                    <element name="shipAddressList" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="fob" type="xsd:string" minOccurs="0"/>
                    <element name="shipDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="shipMethod" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="shippingCost" type="xsd:double" minOccurs="0"/>
                    <element name="shippingTax1Rate" type="xsd:double" minOccurs="0"/>
                    <element name="shippingTax2Rate" type="xsd:string" minOccurs="0"/>
                    <element name="shippingTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="handlingTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="handlingTax1Rate" type="xsd:double" minOccurs="0"/>
                    <element name="handlingCost" type="xsd:double" minOccurs="0"/>
                    <element name="handlingTax2Rate" type="xsd:string" minOccurs="0"/>
                    <element name="trackingNumbers" type="xsd:string" minOccurs="0"/>
                    <element name="linkedTrackingNumbers" type="xsd:string" minOccurs="0"/>
                    <element name="salesGroup" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="subTotal" type="xsd:double" minOccurs="0"/>
                    <element name="canHaveStackable" type="xsd:boolean" minOccurs="0"/>
                    <element name="revenueStatus" type="platformCommonTyp:RevenueStatus" minOccurs="0"/>
                    <element name="recognizedRevenue" type="xsd:double" minOccurs="0"/>
                    <element name="deferredRevenue" type="xsd:double" minOccurs="0"/>
                    <element name="revRecOnRevCommitment" type="xsd:boolean" minOccurs="0"/>
                    <element name="syncSalesTeams" type="xsd:boolean" minOccurs="0"/>
                    <element name="discountTotal" type="xsd:double" minOccurs="0"/>
                    <element name="taxTotal" type="xsd:double" minOccurs="0"/>
                    <element name="altShippingCost" type="xsd:double" minOccurs="0"/>
                    <element name="altHandlingCost" type="xsd:double" minOccurs="0"/>
                    <element name="total" type="xsd:double" minOccurs="0"/>
                    <element name="status" type="xsd:string" minOccurs="0"/>
                    <element name="job" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="billingSchedule" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="email" type="xsd:string" minOccurs="0"/>
                    <element name="tax2Total" type="xsd:double" minOccurs="0"/>
                    <element name="vatRegNum" type="xsd:string" minOccurs="0"/>
                    <element name="expCostDiscount" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="itemCostDiscount" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="timeDiscount" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="expCostDiscRate" type="xsd:string" minOccurs="0"/>
                    <element name="itemCostDiscRate" type="xsd:string" minOccurs="0"/>
                    <element name="timeDiscRate" type="xsd:string" minOccurs="0"/>
                    <element name="expCostDiscAmount" type="xsd:double" minOccurs="0"/>
                    <element name="expCostTaxRate1" type="xsd:double" minOccurs="0"/>
                    <element name="expCostTaxRate2" type="xsd:double" minOccurs="0"/>
                    <element name="itemCostDiscAmount" type="xsd:double" minOccurs="0"/>
                    <element name="expCostTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="expCostDiscTax1Amt" type="xsd:double" minOccurs="0"/>
                    <element name="itemCostTaxRate1" type="xsd:double" minOccurs="0"/>
                    <element name="timeDiscAmount" type="xsd:double" minOccurs="0"/>
                    <element name="itemCostTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="expCostDiscTaxable" type="xsd:boolean" minOccurs="0"/>
                    <element name="itemCostDiscTaxable" type="xsd:boolean" minOccurs="0"/>
                    <element name="itemCostTaxRate2" type="xsd:double" minOccurs="0"/>
                    <element name="itemCostDiscTax1Amt" type="xsd:double" minOccurs="0"/>
                    <element name="itemCostDiscPrint" type="xsd:boolean" minOccurs="0"/>
                    <element name="timeDiscTaxable" type="xsd:boolean" minOccurs="0"/>
                    <element name="timeTaxRate1" type="xsd:double" minOccurs="0"/>
                    <element name="expCostDiscPrint" type="xsd:boolean" minOccurs="0"/>
                    <element name="timeTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="timeDiscPrint" type="xsd:boolean" minOccurs="0"/>
                    <element name="giftCertApplied" type="xsd:double" minOccurs="0"/>
                    <element name="timeDiscTax1Amt" type="xsd:double" minOccurs="0"/>
                    <element name="tranIsVsoeBundle" type="xsd:boolean" minOccurs="0"/>
                    <element name="timeTaxRate2" type="xsd:double" minOccurs="0"/>
                    <element name="vsoeAutoCalc" type="xsd:boolean" minOccurs="0"/>
                    <element name="syncPartnerTeams" type="xsd:boolean" minOccurs="0"/>
                    <element name="salesTeamList" type="tranSales:InvoiceSalesTeamList" minOccurs="0"/>
                    <element name="partnersList" type="tranSales:InvoicePartnersList" minOccurs="0"/>
                    <element name="itemList" type="tranSales:InvoiceItemList" minOccurs="0"/>
                    <element name="itemCostList" type="tranSales:InvoiceItemCostList" minOccurs="0"/>
                    <element name="giftCertRedemptionList" type="platformCommon:GiftCertRedemptionList" minOccurs="0"/>
                    <element name="promotionsList" type="platformCommon:PromotionsList" minOccurs="0"/>
                    <element name="expCostList" type="tranSales:InvoiceExpCostList" minOccurs="0"/>
                    <element name="timeList" type="tranSales:InvoiceTimeList" minOccurs="0"/>
                    <element name="shipGroupList" type="tranSales:InvoiceShipGroupList" minOccurs="0"/>
                    <element name="approvalStatus" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="accountingBookDetailList" type="platformCommon:AccountingBookDetailList" minOccurs="0"/>
                    <element name="taxDetailsList" type="platformCommon:TaxDetailsList" minOccurs="0"/>
                    <element name="installmentList" type="platformCommon:InstallmentList" minOccurs="0"/>
                    <element name="overrideInstallments" type="xsd:boolean" minOccurs="0"/>
                    <element name="customFieldList" type="platformCore:CustomFieldList" minOccurs="0"/>
                </sequence>
                <!-- primary record internalId -->
                <attribute name="internalId" type="xsd:string"/>
                <attribute name="externalId" type="xsd:string"/>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="InvoiceSalesTeam">
        <sequence>
            <element name="employee" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="salesRole" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="isPrimary" type="xsd:boolean" minOccurs="0"/>
            <element name="contribution" type="xsd:double" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="InvoiceSalesTeamList">
        <sequence>
            <element name="salesTeam" type="tranSales:InvoiceSalesTeam" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="InvoiceItem">
        <sequence>
            <element name="job" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="item" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="line" type="xsd:long" minOccurs="0"/>
            <element name="description" type="xsd:string" minOccurs="0"/>
            <element name="amount" type="xsd:double" minOccurs="0"/>
            <element name="isTaxable" type="xsd:boolean" minOccurs="0"/>
            <element name="options" type="platformCore:CustomFieldList" minOccurs="0"/>
            <element name="subscriptionLine" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="deferRevRec" type="xsd:boolean" minOccurs="0"/>
            <element name="quantity" type="xsd:double" minOccurs="0"/>
            <element name="currentPercent" type="xsd:double" minOccurs="0"/>
            <element name="units" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="inventoryDetail" type="platformCommon:InventoryDetail" minOccurs="0"/>
            <element name="serialNumbers" type="xsd:string" minOccurs="0"/>
            <element name="binNumbers" type="xsd:string" minOccurs="0"/>
            <element name="price" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="rate" type="xsd:string" minOccurs="0"/>
            <element name="percentComplete" type="xsd:double" minOccurs="0"/>
            <element name="quantityOnHand" type="xsd:double" minOccurs="0"/>
            <element name="quantityAvailable" type="xsd:double" minOccurs="0"/>
            <element name="quantityOrdered" type="xsd:double" minOccurs="0"/>
            <element name="quantityRemaining" type="xsd:double" minOccurs="0"/>
            <element name="quantityFulfilled" type="xsd:double" minOccurs="0"/>
            <element name="amountOrdered" type="xsd:double" minOccurs="0"/>
            <element name="department" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="orderLine" type="xsd:long" minOccurs="0"/>
            <element name="licenseCode" type="xsd:string" minOccurs="0"/>
            <element name="class" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="location" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="revRecSchedule" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="revRecStartDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="revRecEndDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="grossAmt" type="xsd:double" minOccurs="0"/>
            <element name="costEstimateType" type="platformCommonTyp:ItemCostEstimateType" minOccurs="0"/>
            <element name="costEstimate" type="xsd:double" minOccurs="0"/>
            <element name="taxDetailsReference" type="xsd:string" minOccurs="0"/>
            <element name="excludeFromRateRequest" type="xsd:boolean" minOccurs="0"/>
            <element name="catchUpPeriod" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="tax1Amt" type="xsd:double" minOccurs="0"/>
            <element name="taxCode" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="taxRate1" type="xsd:double" minOccurs="0"/>
            <element name="taxRate2" type="xsd:double" minOccurs="0"/>
            <element name="giftCertFrom" type="xsd:string" minOccurs="0"/>
            <element name="giftCertRecipientName" type="xsd:string" minOccurs="0"/>
            <element name="giftCertRecipientEmail" type="xsd:string" minOccurs="0"/>
            <element name="giftCertMessage" type="xsd:string" minOccurs="0"/>
            <element name="taxAmount" type="xsd:double" minOccurs="0"/>
            <element name="giftCertNumber" type="xsd:string" minOccurs="0"/>
            <element name="shipGroup" type="xsd:long" minOccurs="0"/>
            <element name="itemIsFulfilled" type="xsd:boolean" minOccurs="0"/>
            <element name="shipAddress" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="shipMethod" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="vsoeSopGroup" type="platformCommonTyp:VsoeSopGroup" minOccurs="0"/>
            <element name="vsoeIsEstimate" type="xsd:boolean" minOccurs="0"/>
            <element name="vsoePrice" type="xsd:double" minOccurs="0"/>
            <element name="vsoeAmount" type="xsd:double" minOccurs="0"/>
            <element name="vsoeAllocation" type="xsd:double" minOccurs="0"/>
            <element name="vsoeDeferral" type="platformCommonTyp:VsoeDeferral" minOccurs="0"/>
            <element name="vsoePermitDiscount" type="platformCommonTyp:VsoePermitDiscount" minOccurs="0"/>
            <element name="vsoeDelivered" type="xsd:boolean" minOccurs="0"/>
            <element name="chargeType" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="chargesList" type="platformCore:RecordRefList" minOccurs="0"/>
            <element name="customFieldList" type="platformCore:CustomFieldList" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="InvoiceItemList">
        <sequence>
            <element name="item" type="tranSales:InvoiceItem" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="InvoiceItemCost">
        <sequence>
            <element name="apply" type="xsd:boolean" minOccurs="0"/>
            <element name="doc" type="xsd:long" minOccurs="0"/>
            <element name="line" type="xsd:long" minOccurs="0"/>
            <element name="taxDetailsReference" type="xsd:string" minOccurs="0"/>
            <element name="billedDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="itemDisp" type="xsd:string" minOccurs="0"/>
            <element name="memo" type="xsd:string" minOccurs="0"/>
            <element name="jobDisp" type="xsd:string" minOccurs="0"/>
            <element name="department" type="xsd:string" minOccurs="0"/>
            <element name="class" type="xsd:string" minOccurs="0"/>
            <element name="location" type="xsd:string" minOccurs="0"/>
            <element name="unitDisp" type="xsd:string" minOccurs="0"/>
            <element name="options" type="platformCore:CustomFieldList" minOccurs="0"/>
            <element name="itemCostCount" type="xsd:string" minOccurs="0"/>
            <element name="quantity" type="xsd:string" minOccurs="0"/>
            <element name="serialNumbers" type="xsd:string" minOccurs="0"/>
            <element name="cost" type="xsd:double" minOccurs="0"/>
            <element name="amount" type="xsd:double" minOccurs="0"/>
            <element name="taxAmount" type="xsd:double" minOccurs="0"/>
            <element name="revRecSchedule" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="revRecStartDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="revRecEndDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="grossAmt" type="xsd:double" minOccurs="0"/>
            <element name="tax1Amt" type="xsd:double" minOccurs="0"/>
            <element name="taxCode" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="taxRate1" type="xsd:double" minOccurs="0"/>
            <element name="taxRate2" type="xsd:double" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="InvoiceItemCostList">
        <sequence>
            <element name="itemCost" type="tranSales:InvoiceItemCost" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="InvoiceExpCost">
        <sequence>
            <element name="apply" type="xsd:boolean" minOccurs="0"/>
            <element name="doc" type="xsd:long" minOccurs="0"/>
            <element name="line" type="xsd:long" minOccurs="0"/>
            <element name="taxDetailsReference" type="xsd:string" minOccurs="0"/>
            <element name="billedDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="jobDisp" type="xsd:string" minOccurs="0"/>
            <element name="employeeDisp" type="xsd:string" minOccurs="0"/>
            <element name="categoryDisp" type="xsd:string" minOccurs="0"/>
            <element name="memo" type="xsd:string" minOccurs="0"/>
            <element name="department" type="xsd:string" minOccurs="0"/>
            <element name="class" type="xsd:string" minOccurs="0"/>
            <element name="location" type="xsd:string" minOccurs="0"/>
            <element name="originalAmount" type="xsd:double" minOccurs="0"/>
            <element name="amount" type="xsd:double" minOccurs="0"/>
            <element name="taxAmount" type="xsd:double" minOccurs="0"/>
            <element name="taxableDisp" type="xsd:string" minOccurs="0"/>
            <element name="revRecSchedule" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="revRecStartDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="revRecEndDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="grossAmt" type="xsd:double" minOccurs="0"/>
            <element name="tax1Amt" type="xsd:double" minOccurs="0"/>
            <element name="taxCode" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="taxRate1" type="xsd:double" minOccurs="0"/>
            <element name="taxRate2" type="xsd:double" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="InvoiceExpCostList">
        <sequence>
            <element name="expCost" type="tranSales:InvoiceExpCost" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="InvoiceTime">
        <sequence>
            <element name="apply" type="xsd:boolean" minOccurs="0"/>
            <element name="doc" type="xsd:long" minOccurs="0"/>
            <element name="line" type="xsd:long" minOccurs="0"/>
            <element name="billedDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="employeeDisp" type="xsd:string" minOccurs="0"/>
            <element name="itemDisp" type="xsd:string" minOccurs="0"/>
            <element name="jobDisp" type="xsd:string" minOccurs="0"/>
            <element name="department" type="xsd:string" minOccurs="0"/>
            <element name="class" type="xsd:string" minOccurs="0"/>
            <element name="location" type="xsd:string" minOccurs="0"/>
            <element name="quantity" type="xsd:string" minOccurs="0"/>
            <element name="rate" type="xsd:double" minOccurs="0"/>
            <element name="unitDisp" type="xsd:string" minOccurs="0"/>
            <element name="amount" type="xsd:double" minOccurs="0"/>
            <element name="memo" type="xsd:string" minOccurs="0"/>
            <element name="taxAmount" type="xsd:double" minOccurs="0"/>
            <element name="revRecSchedule" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="revRecStartDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="revRecEndDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="grossAmt" type="xsd:double" minOccurs="0"/>
            <element name="taxDetailsReference" type="xsd:string" minOccurs="0"/>
            <element name="tax1Amt" type="xsd:double" minOccurs="0"/>
            <element name="taxCode" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="taxRate1" type="xsd:double" minOccurs="0"/>
            <element name="taxRate2" type="xsd:double" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="InvoiceTimeList">
        <sequence>
            <element name="time" type="tranSales:InvoiceTime" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="InvoicePartnersList">
        <sequence>
            <element name="partners" type="platformCommon:Partners" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="InvoiceShipGroupList">
        <sequence>
            <element name="shipGroup" type="tranSales:TransactionShipGroup" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <!-- invoice/end -->
    <!-- cashSale/start -->
    <element name="CashSale" type="tranSales:CashSale"/>
    <complexType name="CashSale">
        <complexContent>
            <extension base="platformCore:Record">
                <sequence>
                    <element name="createdDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="lastModifiedDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="nexus" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="subsidiaryTaxRegNum" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="taxRegOverride" type="xsd:boolean" minOccurs="0"/>
                    <element name="taxDetailsOverride" type="xsd:boolean" minOccurs="0"/>
                    <element name="customForm" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="entity" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="billingAccount" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="recurringBill" type="xsd:boolean" minOccurs="0"/>
                    <element name="tranDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="tranId" type="xsd:string" minOccurs="0"/>
                    <element name="entityTaxRegNum" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="taxPointDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="source" type="xsd:string" minOccurs="0"/>
                    <element name="postingPeriod" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="createdFrom" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="opportunity" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="department" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="class" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="location" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="subsidiary" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="salesRep" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="contribPct" type="xsd:string" minOccurs="0"/>
                    <element name="partner" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="leadSource" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="startDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="endDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="otherRefNum" type="xsd:string" minOccurs="0"/>
                    <element name="memo" type="xsd:string" minOccurs="0"/>
                    <element name="salesEffectiveDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="excludeCommission" type="xsd:boolean" minOccurs="0"/>
                    <element name="revRecSchedule" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="undepFunds" type="xsd:boolean" minOccurs="0"/>
                    <element name="canHaveStackable" type="xsd:boolean" minOccurs="0"/>
                    <element name="currency" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="account" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="revRecStartDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="revRecEndDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="totalCostEstimate" type="xsd:double" minOccurs="0"/>
                    <element name="estGrossProfit" type="xsd:double" minOccurs="0"/>
                    <element name="estGrossProfitPercent" type="xsd:double" minOccurs="0"/>
                    <element name="exchangeRate" type="xsd:double" minOccurs="0"/>
                    <element name="currencyName" type="xsd:string" minOccurs="0"/>
                    <element name="promoCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="discountItem" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="discountRate" type="xsd:string" minOccurs="0"/>
                    <element name="isTaxable" type="xsd:boolean" minOccurs="0"/>
                    <element name="taxItem" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="taxRate" type="xsd:double" minOccurs="0"/>
                    <element name="toBePrinted" type="xsd:boolean" minOccurs="0"/>
                    <element name="toBeEmailed" type="xsd:boolean" minOccurs="0"/>
                    <element name="toBeFaxed" type="xsd:boolean" minOccurs="0"/>
                    <element name="fax" type="xsd:string" minOccurs="0"/>
                    <element name="messageSel" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="message" type="xsd:string" minOccurs="0"/>
                    <element name="paymentOption" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="inputAuthCode" type="xsd:string" minOccurs="0"/>
                    <element name="inputReferenceCode" type="xsd:string" minOccurs="0"/>
                    <element name="checkNumber" type="xsd:string" minOccurs="0"/>
                    <element name="paymentCardCsc" type="xsd:string" minOccurs="0"/>
                    <element name="paymentProcessingProfile" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="handlingMode" type="tranSalesTyp:CashSaleHandlingMode" minOccurs="0"/>
                    <element name="outputAuthCode" type="xsd:string" minOccurs="0"/>
                    <element name="outputReferenceCode" type="xsd:string" minOccurs="0"/>
                    <element name="paymentOperation" type="tranSalesTyp:CashSalePaymentOperation" minOccurs="0"/>
                    <element name="dynamicDescriptor" type="xsd:string" minOccurs="0"/>
                    <element name="billingAddress" type="platformCommon:Address" minOccurs="0"/>
                    <element name="billAddressList" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="shippingAddress" type="platformCommon:Address" minOccurs="0"/>
                    <element name="shipIsResidential" type="xsd:boolean" minOccurs="0"/>
                    <element name="shipAddressList" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="fob" type="xsd:string" minOccurs="0"/>
                    <element name="shipDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="shipMethod" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="shippingCost" type="xsd:double" minOccurs="0"/>
                    <element name="shippingTax1Rate" type="xsd:double" minOccurs="0"/>
                    <element name="shippingTax2Rate" type="xsd:string" minOccurs="0"/>
                    <element name="shippingTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="handlingTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="handlingTax1Rate" type="xsd:double" minOccurs="0"/>
                    <element name="handlingCost" type="xsd:double" minOccurs="0"/>
                    <element name="handlingTax2Rate" type="xsd:string" minOccurs="0"/>
                    <element name="linkedTrackingNumbers" type="xsd:string" minOccurs="0"/>
                    <element name="trackingNumbers" type="xsd:string" minOccurs="0"/>
                    <element name="salesGroup" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="revenueStatus" type="platformCommonTyp:RevenueStatus" minOccurs="0"/>
                    <element name="recognizedRevenue" type="xsd:double" minOccurs="0"/>
                    <element name="deferredRevenue" type="xsd:double" minOccurs="0"/>
                    <element name="revRecOnRevCommitment" type="xsd:boolean" minOccurs="0"/>
                    <element name="syncSalesTeams" type="xsd:boolean" minOccurs="0"/>
                    <element name="paymentMethod" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="payPalStatus" type="xsd:string" minOccurs="0"/>
                    <element name="creditCard" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="ccNumber" type="xsd:string" minOccurs="0"/>
                    <element name="ccExpireDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="ccName" type="xsd:string" minOccurs="0"/>
                    <element name="ccStreet" type="xsd:string" minOccurs="0"/>
                    <element name="ccZipCode" type="xsd:string" minOccurs="0"/>
                    <element name="creditCardProcessor" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="ccApproved" type="xsd:boolean" minOccurs="0"/>
                    <element name="authCode" type="xsd:string" minOccurs="0"/>
                    <element name="ccAvsStreetMatch" type="platformCommonTyp:AvsMatchCode" minOccurs="0"/>
                    <element name="ccAvsZipMatch" type="platformCommonTyp:AvsMatchCode" minOccurs="0"/>
                    <element name="isRecurringPayment" type="xsd:boolean" minOccurs="0"/>
                    <element name="payPalTranId" type="xsd:string" minOccurs="0"/>
                    <element name="subTotal" type="xsd:double" minOccurs="0"/>
                    <element name="ccIsPurchaseCardBin" type="xsd:boolean" minOccurs="0"/>
                    <element name="ignoreAvs" type="xsd:boolean" minOccurs="0"/>
                    <element name="ccProcessAsPurchaseCard" type="xsd:boolean" minOccurs="0"/>
                    <element name="itemCostDiscount" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="itemCostDiscRate" type="xsd:string" minOccurs="0"/>
                    <element name="itemCostDiscAmount" type="xsd:double" minOccurs="0"/>
                    <element name="itemCostTaxRate1" type="xsd:double" minOccurs="0"/>
                    <element name="itemCostTaxRate2" type="xsd:double" minOccurs="0"/>
                    <element name="itemCostDiscTaxable" type="xsd:boolean" minOccurs="0"/>
                    <element name="itemCostTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="itemCostDiscTax1Amt" type="xsd:double" minOccurs="0"/>
                    <element name="itemCostDiscPrint" type="xsd:boolean" minOccurs="0"/>
                    <element name="expCostDiscount" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="expCostDiscRate" type="xsd:string" minOccurs="0"/>
                    <element name="expCostDiscAmount" type="xsd:double" minOccurs="0"/>
                    <element name="expCostDiscTaxable" type="xsd:boolean" minOccurs="0"/>
                    <element name="expCostDiscprint" type="xsd:boolean" minOccurs="0"/>
                    <element name="expCostTaxRate1" type="xsd:double" minOccurs="0"/>
                    <element name="timeDiscount" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="expCostTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="timeDiscRate" type="xsd:string" minOccurs="0"/>
                    <element name="expCostTaxRate2" type="xsd:double" minOccurs="0"/>
                    <element name="expCostDiscTax1Amt" type="xsd:double" minOccurs="0"/>
                    <element name="timeDiscAmount" type="xsd:double" minOccurs="0"/>
                    <element name="timeDiscTaxable" type="xsd:boolean" minOccurs="0"/>
                    <element name="timeDiscPrint" type="xsd:boolean" minOccurs="0"/>
                    <element name="discountTotal" type="xsd:double" minOccurs="0"/>
                    <element name="taxTotal" type="xsd:double" minOccurs="0"/>
                    <element name="timeTaxRate1" type="xsd:double" minOccurs="0"/>
                    <element name="altShippingCost" type="xsd:double" minOccurs="0"/>
                    <element name="timeTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="altHandlingCost" type="xsd:double" minOccurs="0"/>
                    <element name="total" type="xsd:double" minOccurs="0"/>
                    <element name="timeDiscTax1Amt" type="xsd:double" minOccurs="0"/>
                    <element name="ccSecurityCode" type="xsd:string" minOccurs="0"/>
                    <element name="timeTaxRate2" type="xsd:double" minOccurs="0"/>
                    <element name="ccSecurityCodeMatch" type="platformCommonTyp:AvsMatchCode" minOccurs="0"/>
                    <element name="chargeIt" type="xsd:boolean" minOccurs="0"/>
                    <element name="debitCardIssueNo" type="xsd:string" minOccurs="0"/>
                    <element name="threeDStatusCode" type="xsd:string" minOccurs="0"/>
                    <element name="pnRefNum" type="xsd:string" minOccurs="0"/>
                    <element name="paypalAuthId" type="xsd:string" minOccurs="0"/>
                    <element name="status" type="xsd:string" minOccurs="0"/>
                    <element name="paypalProcess" type="xsd:boolean" minOccurs="0"/>
                    <element name="job" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="billingSchedule" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="email" type="xsd:string" minOccurs="0"/>
                    <element name="tax2Total" type="xsd:double" minOccurs="0"/>
                    <element name="validFrom" type="xsd:dateTime" minOccurs="0"/>
                    <element name="vatRegNum" type="xsd:string" minOccurs="0"/>
                    <element name="giftCertApplied" type="xsd:double" minOccurs="0"/>
                    <element name="tranIsVsoeBundle" type="xsd:boolean" minOccurs="0"/>
                    <element name="vsoeAutoCalc" type="xsd:boolean" minOccurs="0"/>
                    <element name="syncPartnerTeams" type="xsd:boolean" minOccurs="0"/>
                    <element name="salesTeamList" type="tranSales:CashSaleSalesTeamList" minOccurs="0"/>
                    <element name="partnersList" type="tranSales:CashSalePartnersList" minOccurs="0"/>
                    <element name="itemList" type="tranSales:CashSaleItemList" minOccurs="0"/>
                    <element name="accountingBookDetailList" type="platformCommon:AccountingBookDetailList" minOccurs="0"/>
                    <element name="itemCostList" type="tranSales:CashSaleItemCostList" minOccurs="0"/>
                    <element name="giftCertRedemptionList" type="platformCommon:GiftCertRedemptionList" minOccurs="0"/>
                    <element name="promotionsList" type="platformCommon:PromotionsList" minOccurs="0"/>
                    <element name="expCostList" type="tranSales:CashSaleExpCostList" minOccurs="0"/>
                    <element name="timeList" type="tranSales:CashSaleTimeList" minOccurs="0"/>
                    <element name="shipGroupList" type="tranSales:CashSaleShipGroupList" minOccurs="0"/>
                    <element name="taxDetailsList" type="platformCommon:TaxDetailsList" minOccurs="0"/>
                    <element name="customFieldList" type="platformCore:CustomFieldList" minOccurs="0"/>
                </sequence>
                <!-- primary record internalId -->
                <attribute name="internalId" type="xsd:string"/>
                <attribute name="externalId" type="xsd:string"/>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="CashSaleSalesTeam">
        <sequence>
            <element name="employee" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="salesRole" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="isPrimary" type="xsd:boolean" minOccurs="0"/>
            <element name="contribution" type="xsd:double" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="CashSaleSalesTeamList">
        <sequence>
            <element name="salesTeam" type="tranSales:CashSaleSalesTeam" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="CashSaleItem">
        <sequence>
            <element name="job" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="item" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="line" type="xsd:long" minOccurs="0"/>
            <element name="quantityAvailable" type="xsd:double" minOccurs="0"/>
            <element name="quantityOnHand" type="xsd:double" minOccurs="0"/>
            <element name="quantityFulfilled" type="xsd:double" minOccurs="0"/>
            <element name="quantity" type="xsd:double" minOccurs="0"/>
            <element name="units" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="inventoryDetail" type="platformCommon:InventoryDetail" minOccurs="0"/>
            <element name="serialNumbers" type="xsd:string" minOccurs="0"/>
            <element name="binNumbers" type="xsd:string" minOccurs="0"/>
            <element name="description" type="xsd:string" minOccurs="0"/>
            <element name="price" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="rate" type="xsd:string" minOccurs="0"/>
            <element name="amount" type="xsd:double" minOccurs="0"/>
            <element name="orderLine" type="xsd:long" minOccurs="0"/>
            <element name="licenseCode" type="xsd:string" minOccurs="0"/>
            <element name="isTaxable" type="xsd:boolean" minOccurs="0"/>
            <element name="options" type="platformCore:CustomFieldList" minOccurs="0"/>
            <element name="deferRevRec" type="xsd:boolean" minOccurs="0"/>
            <element name="currentPercent" type="xsd:double" minOccurs="0"/>
            <element name="department" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="percentComplete" type="xsd:double" minOccurs="0"/>
            <element name="class" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="location" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="revRecSchedule" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="revRecStartDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="revRecEndDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="subscriptionLine" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="grossAmt" type="xsd:double" minOccurs="0"/>
            <element name="costEstimateType" type="platformCommonTyp:ItemCostEstimateType" minOccurs="0"/>
            <element name="excludeFromRateRequest" type="xsd:boolean" minOccurs="0"/>
            <element name="catchUpPeriod" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="costEstimate" type="xsd:double" minOccurs="0"/>
            <element name="taxDetailsReference" type="xsd:string" minOccurs="0"/>
            <element name="amountOrdered" type="xsd:double" minOccurs="0"/>
            <element name="tax1Amt" type="xsd:double" minOccurs="0"/>
            <element name="quantityOrdered" type="xsd:double" minOccurs="0"/>
            <element name="quantityRemaining" type="xsd:double" minOccurs="0"/>
            <element name="taxCode" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="taxRate1" type="xsd:double" minOccurs="0"/>
            <element name="taxRate2" type="xsd:double" minOccurs="0"/>
            <element name="giftCertFrom" type="xsd:string" minOccurs="0"/>
            <element name="giftCertRecipientName" type="xsd:string" minOccurs="0"/>
            <element name="giftCertRecipientEmail" type="xsd:string" minOccurs="0"/>
            <element name="giftCertMessage" type="xsd:string" minOccurs="0"/>
            <element name="taxAmount" type="xsd:double" minOccurs="0"/>
            <element name="giftCertNumber" type="xsd:string" minOccurs="0"/>
            <element name="shipGroup" type="xsd:long" minOccurs="0"/>
            <element name="itemIsFulfilled" type="xsd:boolean" minOccurs="0"/>
            <element name="shipAddress" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="shipMethod" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="vsoeSopGroup" type="platformCommonTyp:VsoeSopGroup" minOccurs="0"/>
            <element name="vsoeIsEstimate" type="xsd:boolean" minOccurs="0"/>
            <element name="vsoePrice" type="xsd:double" minOccurs="0"/>
            <element name="vsoeAmount" type="xsd:double" minOccurs="0"/>
            <element name="vsoeAllocation" type="xsd:double" minOccurs="0"/>
            <element name="vsoeDeferral" type="platformCommonTyp:VsoeDeferral" minOccurs="0"/>
            <element name="vsoePermitDiscount" type="platformCommonTyp:VsoePermitDiscount" minOccurs="0"/>
            <element name="vsoeDelivered" type="xsd:boolean" minOccurs="0"/>
            <element name="chargeType" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="chargesList" type="platformCore:RecordRefList" minOccurs="0"/>
            <element name="customFieldList" type="platformCore:CustomFieldList" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="CashSaleItemList">
        <sequence>
            <element name="item" type="tranSales:CashSaleItem" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="CashSaleItemCost">
        <sequence>
            <element name="apply" type="xsd:boolean" minOccurs="0"/>
            <element name="doc" type="xsd:long" minOccurs="0"/>
            <element name="line" type="xsd:long" minOccurs="0"/>
            <element name="taxDetailsReference" type="xsd:string" minOccurs="0"/>
            <element name="billedDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="itemDisp" type="xsd:string" minOccurs="0"/>
            <element name="memo" type="xsd:string" minOccurs="0"/>
            <element name="jobDisp" type="xsd:string" minOccurs="0"/>
            <element name="department" type="xsd:string" minOccurs="0"/>
            <element name="class" type="xsd:string" minOccurs="0"/>
            <element name="location" type="xsd:string" minOccurs="0"/>
            <element name="unitDisp" type="xsd:string" minOccurs="0"/>
            <element name="options" type="platformCore:CustomFieldList" minOccurs="0"/>
            <element name="itemCostCount" type="xsd:string" minOccurs="0"/>
            <element name="quantity" type="xsd:string" minOccurs="0"/>
            <element name="serialNumbers" type="xsd:string" minOccurs="0"/>
            <element name="cost" type="xsd:double" minOccurs="0"/>
            <element name="amount" type="xsd:double" minOccurs="0"/>
            <element name="taxAmount" type="xsd:double" minOccurs="0"/>
            <element name="revRecSchedule" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="revRecStartDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="revRecEndDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="grossAmt" type="xsd:double" minOccurs="0"/>
            <element name="tax1Amt" type="xsd:double" minOccurs="0"/>
            <element name="taxCode" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="taxRate1" type="xsd:double" minOccurs="0"/>
            <element name="taxRate2" type="xsd:double" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="CashSaleItemCostList">
        <sequence>
            <element name="itemCost" type="tranSales:CashSaleItemCost" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="CashSaleExpCost">
        <sequence>
            <element name="apply" type="xsd:boolean" minOccurs="0"/>
            <element name="doc" type="xsd:long" minOccurs="0"/>
            <element name="line" type="xsd:long" minOccurs="0"/>
            <element name="taxDetailsReference" type="xsd:string" minOccurs="0"/>
            <element name="billedDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="jobDisp" type="xsd:string" minOccurs="0"/>
            <element name="employeeDisp" type="xsd:string" minOccurs="0"/>
            <element name="categoryDisp" type="xsd:string" minOccurs="0"/>
            <element name="memo" type="xsd:string" minOccurs="0"/>
            <element name="department" type="xsd:string" minOccurs="0"/>
            <element name="class" type="xsd:string" minOccurs="0"/>
            <element name="location" type="xsd:string" minOccurs="0"/>
            <element name="originalAmount" type="xsd:double" minOccurs="0"/>
            <element name="amount" type="xsd:double" minOccurs="0"/>
            <element name="taxAmount" type="xsd:double" minOccurs="0"/>
            <element name="taxableDisp" type="xsd:string" minOccurs="0"/>
            <element name="revRecSchedule" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="revRecStartDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="revRecEndDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="grossAmt" type="xsd:double" minOccurs="0"/>
            <element name="tax1Amt" type="xsd:double" minOccurs="0"/>
            <element name="taxCode" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="taxRate1" type="xsd:double" minOccurs="0"/>
            <element name="taxRate2" type="xsd:double" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="CashSaleExpCostList">
        <sequence>
            <element name="expCost" type="tranSales:CashSaleExpCost" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="CashSaleTime">
        <sequence>
            <element name="apply" type="xsd:boolean" minOccurs="0"/>
            <element name="doc" type="xsd:long" minOccurs="0"/>
            <element name="line" type="xsd:long" minOccurs="0"/>
            <element name="billedDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="employeeDisp" type="xsd:string" minOccurs="0"/>
            <element name="itemDisp" type="xsd:string" minOccurs="0"/>
            <element name="jobDisp" type="xsd:string" minOccurs="0"/>
            <element name="department" type="xsd:string" minOccurs="0"/>
            <element name="class" type="xsd:string" minOccurs="0"/>
            <element name="location" type="xsd:string" minOccurs="0"/>
            <element name="quantity" type="xsd:string" minOccurs="0"/>
            <element name="rate" type="xsd:double" minOccurs="0"/>
            <element name="unitDisp" type="xsd:string" minOccurs="0"/>
            <element name="amount" type="xsd:double" minOccurs="0"/>
            <element name="memo" type="xsd:string" minOccurs="0"/>
            <element name="taxAmount" type="xsd:double" minOccurs="0"/>
            <element name="revRecSchedule" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="revRecStartDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="revRecEndDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="grossAmt" type="xsd:double" minOccurs="0"/>
            <element name="taxDetailsReference" type="xsd:string" minOccurs="0"/>
            <element name="tax1Amt" type="xsd:double" minOccurs="0"/>
            <element name="taxCode" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="taxRate1" type="xsd:double" minOccurs="0"/>
            <element name="taxRate2" type="xsd:double" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="CashSaleTimeList">
        <sequence>
            <element name="time" type="tranSales:CashSaleTime" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="CashSalePartnersList">
        <sequence>
            <element name="partners" type="platformCommon:Partners" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="CashSaleShipGroupList">
        <sequence>
            <element name="shipGroup" type="tranSales:TransactionShipGroup" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <!-- cashSale/end -->
    <!-- estimate/start -->
    <element name="Estimate" type="tranSales:Estimate"/>
    <complexType name="Estimate">
        <complexContent>
            <extension base="platformCore:Record">
                <sequence>
                    <element name="createdDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="lastModifiedDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="nexus" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="subsidiaryTaxRegNum" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="taxRegOverride" type="xsd:boolean" minOccurs="0"/>
                    <element name="taxDetailsOverride" type="xsd:boolean" minOccurs="0"/>
                    <element name="entity" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="job" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="tranDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="tranId" type="xsd:string" minOccurs="0"/>
                    <element name="entityTaxRegNum" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="taxPointDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="source" type="xsd:string" minOccurs="0"/>
                    <element name="customForm" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="currency" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="title" type="xsd:string" minOccurs="0"/>
                    <element name="entityStatus" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="probability" type="xsd:double" minOccurs="0"/>
                    <element name="includeInForecast" type="xsd:boolean" minOccurs="0"/>
                    <element name="forecastType" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="opportunity" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="department" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="class" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="terms" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="dueDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="location" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="subsidiary" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="billingSchedule" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="status" type="xsd:string" minOccurs="0"/>
                    <element name="salesRep" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="partner" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="contribPct" type="xsd:string" minOccurs="0"/>
                    <element name="leadSource" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="expectedCloseDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="otherRefNum" type="xsd:string" minOccurs="0"/>
                    <element name="memo" type="xsd:string" minOccurs="0"/>
                    <element name="endDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="startDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="totalCostEstimate" type="xsd:double" minOccurs="0"/>
                    <element name="estGrossProfit" type="xsd:double" minOccurs="0"/>
                    <element name="estGrossProfitPercent" type="xsd:double" minOccurs="0"/>
                    <element name="createdFrom" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="exchangeRate" type="xsd:double" minOccurs="0"/>
                    <element name="currencyName" type="xsd:string" minOccurs="0"/>
                    <element name="promoCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="discountItem" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="discountRate" type="xsd:string" minOccurs="0"/>
                    <element name="isTaxable" type="xsd:boolean" minOccurs="0"/>
                    <element name="taxItem" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="taxRate" type="xsd:double" minOccurs="0"/>
                    <element name="vatRegNum" type="xsd:string" minOccurs="0"/>
                    <element name="toBePrinted" type="xsd:boolean" minOccurs="0"/>
                    <element name="toBeEmailed" type="xsd:boolean" minOccurs="0"/>
                    <element name="email" type="xsd:string" minOccurs="0"/>
                    <element name="toBeFaxed" type="xsd:boolean" minOccurs="0"/>
                    <element name="fax" type="xsd:string" minOccurs="0"/>
                    <element name="visibleToCustomer" type="xsd:boolean" minOccurs="0"/>
                    <element name="messageSel" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="message" type="xsd:string" minOccurs="0"/>
                    <element name="billingAddress" type="platformCommon:Address" minOccurs="0"/>
                    <element name="billAddressList" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="shippingAddress" type="platformCommon:Address" minOccurs="0"/>
                    <element name="shipIsResidential" type="xsd:boolean" minOccurs="0"/>
                    <element name="shipAddressList" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="fob" type="xsd:string" minOccurs="0"/>
                    <element name="shipDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="shipMethod" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="shippingCost" type="xsd:double" minOccurs="0"/>
                    <element name="shippingTax1Rate" type="xsd:double" minOccurs="0"/>
                    <element name="shippingTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="shippingTax2Rate" type="xsd:string" minOccurs="0"/>
                    <element name="handlingTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="handlingTax1Rate" type="xsd:double" minOccurs="0"/>
                    <element name="handlingCost" type="xsd:double" minOccurs="0"/>
                    <element name="trackingNumbers" type="xsd:string" minOccurs="0"/>
                    <element name="handlingTax2Rate" type="xsd:string" minOccurs="0"/>
                    <element name="linkedTrackingNumbers" type="xsd:string" minOccurs="0"/>
                    <element name="salesGroup" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="syncSalesTeams" type="xsd:boolean" minOccurs="0"/>
                    <element name="altSalesTotal" type="xsd:double" minOccurs="0"/>
                    <element name="canHaveStackable" type="xsd:boolean" minOccurs="0"/>
                    <element name="oneTime" type="xsd:double" minOccurs="0"/>
                    <element name="recurWeekly" type="xsd:double" minOccurs="0"/>
                    <element name="recurMonthly" type="xsd:double" minOccurs="0"/>
                    <element name="recurQuarterly" type="xsd:double" minOccurs="0"/>
                    <element name="recurAnnually" type="xsd:double" minOccurs="0"/>
                    <element name="subTotal" type="xsd:double" minOccurs="0"/>
                    <element name="discountTotal" type="xsd:double" minOccurs="0"/>
                    <element name="taxTotal" type="xsd:double" minOccurs="0"/>
                    <element name="altShippingCost" type="xsd:double" minOccurs="0"/>
                    <element name="altHandlingCost" type="xsd:double" minOccurs="0"/>
                    <element name="total" type="xsd:double" minOccurs="0"/>
                    <element name="tax2Total" type="xsd:double" minOccurs="0"/>
                    <element name="itemList" type="tranSales:EstimateItemList" minOccurs="0"/>
                    <element name="accountingBookDetailList" type="platformCommon:AccountingBookDetailList" minOccurs="0"/>
                    <element name="salesTeamList" type="tranSales:EstimateSalesTeamList" minOccurs="0"/>
                    <element name="syncPartnerTeams" type="xsd:boolean" minOccurs="0"/>
                    <element name="partnersList" type="tranSales:EstimatePartnersList" minOccurs="0"/>
                    <element name="promotionsList" type="platformCommon:PromotionsList" minOccurs="0"/>
                    <element name="shipGroupList" type="tranSales:EstimateShipGroupList" minOccurs="0"/>
                    <element name="taxDetailsList" type="platformCommon:TaxDetailsList" minOccurs="0"/>
                    <element name="customFieldList" type="platformCore:CustomFieldList" minOccurs="0"/>
                </sequence>
                <!-- primary record internalId -->
                <attribute name="internalId" type="xsd:string"/>
                <attribute name="externalId" type="xsd:string"/>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="EstimateItem">
        <sequence>
            <element name="job" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="item" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="line" type="xsd:long" minOccurs="0"/>
            <element name="expandItemGroup" type="xsd:boolean" minOccurs="0"/>
            <element name="quantityAvailable" type="xsd:double" minOccurs="0"/>
            <element name="quantityOnHand" type="xsd:double" minOccurs="0"/>
            <element name="quantity" type="xsd:double" minOccurs="0"/>
            <element name="units" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="description" type="xsd:string" minOccurs="0"/>
            <element name="serialNumbers" type="xsd:string" minOccurs="0"/>
            <element name="price" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="rate" type="xsd:string" minOccurs="0"/>
            <element name="amount" type="xsd:double" minOccurs="0"/>
            <element name="options" type="platformCore:CustomFieldList" minOccurs="0"/>
            <element name="revRecTermInMonths" type="xsd:long" minOccurs="0"/>
            <element name="department" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="class" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="location" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="isTaxable" type="xsd:boolean" minOccurs="0"/>
            <element name="altSalesAmt" type="xsd:double" minOccurs="0"/>
            <element name="taxAmount" type="xsd:double" minOccurs="0"/>
            <element name="fromJob" type="xsd:boolean" minOccurs="0"/>
            <element name="grossAmt" type="xsd:double" minOccurs="0"/>
            <element name="isEstimate" type="xsd:boolean" minOccurs="0"/>
            <element name="subscription" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="tax1Amt" type="xsd:double" minOccurs="0"/>
            <element name="taxCode" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="costEstimateType" type="platformCommonTyp:ItemCostEstimateType" minOccurs="0"/>
            <element name="costEstimate" type="xsd:double" minOccurs="0"/>
            <element name="excludeFromRateRequest" type="xsd:boolean" minOccurs="0"/>
            <element name="taxDetailsReference" type="xsd:string" minOccurs="0"/>
            <element name="taxRate1" type="xsd:double" minOccurs="0"/>
            <element name="taxRate2" type="xsd:double" minOccurs="0"/>
            <element name="shipGroup" type="xsd:long" minOccurs="0"/>
            <element name="itemIsFulfilled" type="xsd:boolean" minOccurs="0"/>
            <element name="shipAddress" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="shipMethod" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="expectedShipDate" type="xsd:dateTime" minOccurs="0"/>
            <element name="chargeType" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="customFieldList" type="platformCore:CustomFieldList" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="EstimateItemList">
        <sequence>
            <element name="item" type="tranSales:EstimateItem" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="EstimateSalesTeam">
        <sequence>
            <element name="employee" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="salesRole" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="isPrimary" type="xsd:boolean" minOccurs="0"/>
            <element name="contribution" type="xsd:double" minOccurs="0"/>
        </sequence>
    </complexType>
    <complexType name="EstimateSalesTeamList">
        <sequence>
            <element name="salesTeam" type="tranSales:EstimateSalesTeam" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="EstimatePartnersList">
        <sequence>
            <element name="partners" type="platformCommon:Partners" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <complexType name="EstimateShipGroupList">
        <sequence>
            <element name="shipGroup" type="tranSales:TransactionShipGroup" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="replaceAll" type="xsd:boolean" default="true"/>
    </complexType>
    <!-- estimate/end -->
    <complexType name="TransactionShipGroup">
        <sequence>
            <element name="id" type="xsd:long" minOccurs="0"/>
            <element name="isFulfilled" type="xsd:boolean" minOccurs="0"/>
            <element name="weight" type="xsd:double" minOccurs="0"/>
            <element name="sourceAddressRef" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="sourceAddress" type="xsd:string" minOccurs="0"/>
            <element name="destinationAddressRef" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="destinationAddress" type="xsd:string" minOccurs="0"/>
            <element name="shippingMethodRef" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="shippingMethod" type="xsd:string" minOccurs="0"/>
            <element name="isHandlingTaxable" type="xsd:boolean" minOccurs="0"/>
            <element name="handlingTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="handlingTaxRate" type="xsd:string" minOccurs="0"/>
            <element name="handlingTax2Rate" type="xsd:string" minOccurs="0"/>
            <element name="handlingRate" type="xsd:double" minOccurs="0"/>
            <element name="handlingTaxAmt" type="xsd:double" minOccurs="0"/>
            <element name="handlingTax2Amt" type="xsd:double" minOccurs="0"/>
            <element name="isShippingTaxable" type="xsd:boolean" minOccurs="0"/>
            <element name="shippingTaxCode" type="platformCore:RecordRef" minOccurs="0"/>
            <element name="shippingTaxRate" type="xsd:string" minOccurs="0"/>
            <element name="shippingTax2Rate" type="xsd:string" minOccurs="0"/>
            <element name="shippingRate" type="xsd:double" minOccurs="0"/>
            <element name="shippingTaxAmt" type="xsd:double" minOccurs="0"/>
            <element name="shippingTax2Amt" type="xsd:double" minOccurs="0"/>
        </sequence>
    </complexType>
    <element name="accountingTransactionSearch" type="tranSales:AccountingTransactionSearch"/>
    <complexType name="AccountingTransactionSearch">
        <complexContent>
            <extension base="platformCore:SearchRecord">
                <sequence>
                    <element name="basic" type="platformCommon:AccountingTransactionSearchBasic" minOccurs="0"/>
                    <element name="accountJoin" type="platformCommon:AccountSearchBasic" minOccurs="0"/>
                    <element name="revRecScheduleJoin" type="platformCommon:RevRecScheduleSearchBasic" minOccurs="0"/>
                    <element name="transactionJoin" type="platformCommon:TransactionSearchBasic" minOccurs="0"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="AccountingTransactionSearchAdvanced">
        <complexContent>
            <extension base="platformCore:SearchRecord">
                <sequence>
                    <element name="criteria" type="tranSales:AccountingTransactionSearch" minOccurs="0"/>
                    <element name="columns" type="tranSales:AccountingTransactionSearchRow" minOccurs="0"/>
                </sequence>
                <attribute name="savedSearchId" type="xsd:string"/>
                <attribute name="savedSearchScriptId" type="xsd:string"/>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="AccountingTransactionSearchRow">
        <complexContent>
            <extension base="platformCore:SearchRow">
                <sequence>
                    <element name="basic" type="platformCommon:AccountingTransactionSearchRowBasic" minOccurs="0"/>
                    <element name="accountJoin" type="platformCommon:AccountSearchRowBasic" minOccurs="0"/>
                    <element name="revRecScheduleJoin" type="platformCommon:RevRecScheduleSearchRowBasic" minOccurs="0"/>
                    <element name="transactionJoin" type="platformCommon:TransactionSearchRowBasic" minOccurs="0"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
    <element name="usage" type="tranSales:Usage"/>
    <complexType name="Usage">
        <complexContent>
            <extension base="platformCore:Record">
                <sequence>
                    <element name="customForm" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="memo" type="xsd:string" minOccurs="0"/>
                    <element name="item" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="subscriptionPlan" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="customer" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="usageSubscription" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="usageSubscriptionLine" type="platformCore:RecordRef" minOccurs="0"/>
                    <element name="usageQuantity" type="xsd:double" minOccurs="0"/>
                    <element name="usageDate" type="xsd:dateTime" minOccurs="0"/>
                    <element name="status" type="tranSalesTyp:UsageStatus" minOccurs="0"/>
                </sequence>
                <!-- primary record internalId -->
                <attribute name="internalId" type="xsd:string"/>
                <attribute name="externalId" type="xsd:string"/>
            </extension>
        </complexContent>
    </complexType>
    <element name="usageSearch" type="tranSales:UsageSearch"/>
    <complexType name="UsageSearch">
        <complexContent>
            <extension base="platformCore:SearchRecord">
                <sequence>
                    <element name="basic" type="platformCommon:UsageSearchBasic" minOccurs="0"/>
                    <element name="chargeJoin" type="platformCommon:ChargeSearchBasic" minOccurs="0"/>
                    <element name="customerJoin" type="platformCommon:CustomerSearchBasic" minOccurs="0"/>
                    <element name="itemJoin" type="platformCommon:ItemSearchBasic" minOccurs="0"/>
                    <element name="subscriptionPlanJoin" type="platformCommon:ItemSearchBasic" minOccurs="0"/>
                    <element name="customSearchJoin" type="platformCommon:CustomSearchJoin" minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="UsageSearchAdvanced">
        <complexContent>
            <extension base="platformCore:SearchRecord">
                <sequence>
                    <element name="criteria" type="tranSales:UsageSearch" minOccurs="0"/>
                    <element name="columns" type="tranSales:UsageSearchRow" minOccurs="0"/>
                </sequence>
                <attribute name="savedSearchId" type="xsd:string"/>
                <attribute name="savedSearchScriptId" type="xsd:string"/>
            </extension>
        </complexContent>
    </complexType>
    <complexType name="UsageSearchRow">
        <complexContent>
            <extension base="platformCore:SearchRow">
                <sequence>
                    <element name="basic" type="platformCommon:UsageSearchRowBasic" minOccurs="0"/>
                    <element name="chargeJoin" type="platformCommon:ChargeSearchRowBasic" minOccurs="0"/>
                    <element name="customerJoin" type="platformCommon:CustomerSearchRowBasic" minOccurs="0"/>
                    <element name="itemJoin" type="platformCommon:ItemSearchRowBasic" minOccurs="0"/>
                    <element name="subscriptionPlanJoin" type="platformCommon:ItemSearchRowBasic" minOccurs="0"/>
                    <element name="customSearchJoin" type="platformCommon:CustomSearchRowBasic" minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
</xsd:schema>
