<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:mule="http://www.mulesoft.org/schema/mule/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="http://www.mulesoft.org/schema/mule/netsuite">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace"></xs:import>
  <xs:import schemaLocation="http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" namespace="http://www.springframework.org/schema/beans"></xs:import>
  <xs:import schemaLocation="http://www.mulesoft.org/schema/mule/core/current/mule.xsd" namespace="http://www.mulesoft.org/schema/mule/core"></xs:import>
  <xs:import schemaLocation="http://www.mulesoft.org/schema/mule/devkit/current/mule-devkit.xsd" namespace="http://www.mulesoft.org/schema/mule/devkit"></xs:import>
  <xs:simpleType name="integerType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:integer"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="decimalType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:decimal"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="floatType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:float"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="doubleType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:double"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="dateTimeType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:dateTime"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="longType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:long"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="byteType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:byte"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="booleanType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:boolean"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="anyUriType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:anyURI"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="charType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:minLength value="1"></xs:minLength>
          <xs:maxLength value="1"></xs:maxLength>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:complexType name="XmlType">
    <xs:sequence>
      <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
    </xs:sequence>
    <xs:attribute name="ref" use="optional" type="xs:string">
      <xs:annotation>
        <xs:documentation>The reference object for this parameter</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:element xmlns:devkit="http://www.mulesoft.org/schema/mule/devkit" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="config" substitutionGroup="mule:abstract-extension" devkit:javaClass="org.mule.module.netsuite.adapters.NetSuiteCloudConnectorLifecycleAdapter">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="mule:abstractExtensionType">
          <xs:annotation>
            <xs:documentation>The NetSuite cloud connector facade, based on a</xs:documentation>
          </xs:annotation>
          <xs:attribute name="name" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Give a name to this configuration so it can be later referenced by config-ref.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="endpoint" default="https://webservices.netsuite.com/services/NetSuitePort_2012_1" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Service endpoint

&lt;ul&gt;Supports:

&lt;li&gt;Live: https://webservices.netsuite.com/services/NetSuitePort_2012_1&lt;/li&gt;
&lt;li&gt;Sandbox: https://webservices.sandbox.netsuite.com/services/NetSuitePort_2012_1&lt;/li&gt;
&lt;/ul&gt;
Defaults to Live</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="email" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>The login email of both NetSuite UI and SuiteTalk</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="password" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>The login password of both the NetSuite UI and SuiteTalk</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="account" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>SuiteTalk -NetSuite WebService - account id. It looks like TSTDRVXXXXXX</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="roleId" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>The id of the role used to login in SuiteTalk, which determines the Processor privileges</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="attach-record" substitutionGroup="mule:abstract-message-processor" type="AttachRecordType">
    <xs:annotation>
      <xs:documentation>Attaches a source record - that is, the attachment - to another destination one,
optionally specifying a contact for the
attachment. Not all record type are supported as source, destination or
contact. Please consult NetSuite documentation.
Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AttachRecordType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="sourceRecordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of the target record to be attached</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="sourceId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the target record to be attached</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="sourceIdType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the id type of the record to be attached</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="destinationRecordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of the record to be attached to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="destinationId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the record to be attached to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="destinationIdType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the id type of the record to be attached to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="contanctRecordType" use="optional" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the record type of the optional contact record</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="contanctId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the optional contact record</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="contanctIdType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the id type of the optional contact record</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-record" substitutionGroup="mule:abstract-message-processor" type="DeleteRecordType">
    <xs:annotation>
      <xs:documentation>Deletes a record. Not all records can be deleted. Please consult NetSuite documentation

Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteRecordType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of the record to delete</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="id" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the record to delete</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="idType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the type of id of the record to delete</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="detach-record" substitutionGroup="mule:abstract-message-processor" type="DetachRecordType">
    <xs:annotation>
      <xs:documentation>Detaches a source record - that is, the attachment - from a destination record.
Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DetachRecordType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="sourceRecordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of the target record to be detached</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="sourceId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the target record to be detached</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="sourceIdType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the id type of the record to be detached</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="destinationRecordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of the record to be detached to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="destinationId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the record to be detached to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="destinationIdType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the id type of the record to be detached to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-budget-exchange-rates" substitutionGroup="mule:abstract-message-processor" type="GetBudgetExchangeRatesType">
    <xs:annotation>
      <xs:documentation>Answers the list of budget exchange rates
Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetBudgetExchangeRatesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="periodId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the period</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="periodIdType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the period id type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="fromSubsidiaryId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the staring  subsidiary</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="fromSubsidiaryIdType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the starting subsidiary id type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="toSubsidiaryId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the  the id of the optional ending subsidiary</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="toSubsidiaryIdType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the id type of the optional ending subsidiary</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-consolidated-exchange-rates" substitutionGroup="mule:abstract-message-processor" type="GetConsolidatedExchangeRatesType">
    <xs:annotation>
      <xs:documentation>Answers the list of consolidated exchange rates
Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetConsolidatedExchangeRatesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="periodId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the period</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="periodIdType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the period id type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="fromSubsidiaryId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the staring  subsidiary</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="fromSubsidiaryIdType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the starting subsidiary id type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="toSubsidiaryId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the  the id of the optional ending subsidiary</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="toSubsidiaryIdType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the id type of the optional ending subsidiary</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-customization-ids" substitutionGroup="mule:abstract-message-processor" type="GetCustomizationIdsType">
    <xs:annotation>
      <xs:documentation>Answers the ids of available customizations for a given record type.

Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetCustomizationIdsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="type" use="required" type="GetCustomizationTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the target record type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="includeInactives" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>if inactive customizations should also be returned</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-deleted-records" substitutionGroup="mule:abstract-message-processor" type="GetDeletedRecordsType">
    <xs:annotation>
      <xs:documentation>Answers a list of deleted records of a given record type that match a given date expression.
This Processors accepts two different date expression passing styles: string oriented,
and object oriented. If whenExpression is specified, it is parsed and used as date expression.
Otherwise, a date expression is build from date1, date2 and operator parameters.

The first style is more appropriate when the date expression can be harcdoded, while the second style
is better when client code already has date objects. However, predefined search values like
thisWeek, tomorrow or today can only be used with the first, string oriented, style.

String oriented date expressions are in the form Processor( searchValue, arguments...), where Processor is any of the NetSuite
supported date Processors, arguments are one or two operands for the given operator, and
searchValue is some of the supported predefined search value as defined by NetSuite or any
of the following expressions:
isoDate( anIsoDate ), isoDateRante( anIsoDate, anotherIsoDate ) ,
dateTime( aQuotedDateTime, aQuoatedJavaDateFormat ),
dateTimeRange( aQuotedDateTime, anotherQuotedDateTime, aQuoatedJavaDateFormat ).
Supported predefined search values are: today, thisWeek, thisBusinessWeek, thisMonth,thisYear, yesterday,
twoDaysAgo, lastWeek, lastMonth, threeMonthAgo,tomorrow, nextMonth , nextWeek

Examples using both string and object oriented styles:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetDeletedRecordsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="type" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of the target deleted record to retrieve</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="whenExpression" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>a predicate-style date filtering expression</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="date1" use="optional" type="dateTimeType">
          <xs:annotation>
            <xs:documentation>the first date to use</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="date2" use="optional" type="dateTimeType">
          <xs:annotation>
            <xs:documentation>the second date to use</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="operator" use="optional" type="SearchDateFieldOperatorEnumEnumType">
          <xs:annotation>
            <xs:documentation>the date operator</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-records" substitutionGroup="mule:abstract-message-processor" type="GetRecordsType">
    <xs:annotation>
      <xs:documentation>Answers all the record of a given type
Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetRecordsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="type" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the target record type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-record" substitutionGroup="mule:abstract-message-processor" type="GetRecordType">
    <xs:annotation>
      <xs:documentation>Answers a record given its id
Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetRecordType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the target record type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="id" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the target record id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="idType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the id type of the given record id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-item-availabilities" substitutionGroup="mule:abstract-message-processor" type="GetItemAvailabilitiesType">
    <xs:annotation>
      <xs:documentation>Answers the availability for a given record reference.
If the Multi-Location Inventory feature is enabled, this Processor returns results for all locations.
For locations that do not have any items available, only location IDs and names are listed in results.
Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetItemAvailabilitiesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the target record type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="id" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the target record id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="idType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the id type of the given record id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="ifModifiedSince" use="optional" type="dateTimeType">
          <xs:annotation>
            <xs:documentation>an optional modified since date. If set, only items with quantity available changes recorded as of the specified date are returned.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-saved-search" substitutionGroup="mule:abstract-message-processor" type="GetSavedSearchType">
    <xs:annotation>
      <xs:documentation>Retrieves a list of existing saved searches for the given record type.
Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetSavedSearchType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="type" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the target record type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-server-time" substitutionGroup="mule:abstract-message-processor" type="GetServerTimeType">
    <xs:annotation>
      <xs:documentation>Answers the server time, resulting in more accurate and reliable sync'ing of data than using
using local client time. Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetServerTimeType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-invitee-status" substitutionGroup="mule:abstract-message-processor" type="UpdateInviteeStatusType">
    <xs:annotation>
      <xs:documentation>Sets a new invitation status for a given event. Example:
Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateInviteeStatusType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="eventId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the target event id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="eventIdType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the id type of the given eventId</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="status" use="required" type="CalendarEventAttendeeResponseEnumEnumType">
          <xs:annotation>
            <xs:documentation>the new status to set</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="add-record-objects" substitutionGroup="mule:abstract-message-processor" type="AddRecordObjectsType">
    <xs:annotation>
      <xs:documentation>Creates new records

Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AddRecordObjectsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="records" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>The Records object</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="record" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:attribute name="value-ref" use="required" type="xs:string"></xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of record to add</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="add-record" substitutionGroup="mule:abstract-message-processor" type="AddRecordType">
    <xs:annotation>
      <xs:documentation>Creates a new record. Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AddRecordType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the record attributes, as a string-object map</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of record to add</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="add-list" substitutionGroup="mule:abstract-message-processor" type="AddListType">
    <xs:annotation>
      <xs:documentation>Used to add one or more records into the system</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AddListType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="records" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>The records with their attributes, as a string-object map</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="record" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-record" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of record to add</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-list" substitutionGroup="mule:abstract-message-processor" type="UpdateListType">
    <xs:annotation>
      <xs:documentation>Used to update one or more existing records in the system by providing new values for the fields to
be updated for each record. The records to be updated are identified through the provided
unique identifiers.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateListType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="records" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>The records with their attributes, as a string-object map</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="record" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-record" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of record to add</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-list" substitutionGroup="mule:abstract-message-processor" type="DeleteListType">
    <xs:annotation>
      <xs:documentation>Used to delete one or more records in the system. The records to be deleted are identified through
the provided unique identifiers.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteListType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="records" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>The records with their attributes, as a string-object map</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="record" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-record" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of record to add</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="add-file" substitutionGroup="mule:abstract-message-processor" type="AddFileType">
    <xs:annotation>
      <xs:documentation>Creates a new file record. This Processor is similar to addRecord, but is
customized for simplifying local content passing.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AddFileType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>the additional file attributes</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="content-ref" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the content of the file record to add. It can be of type String, byte array, File or InputStream. If it is an input stream, this Processors also closes it.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="fileName" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the name of the remote file</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="folderId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the folder record where to add this file</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="folderIdType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the id type of the folder record</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-record" substitutionGroup="mule:abstract-message-processor" type="UpdateRecordType">
    <xs:annotation>
      <xs:documentation>Updates an existing record.
Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateRecordType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the record attributes, as a string-object map</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the target record type to update</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="id" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the target record id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="idType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the id type of the given record id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="upsert-record" substitutionGroup="mule:abstract-message-processor" type="UpsertRecordType">
    <xs:annotation>
      <xs:documentation>The upsert operation is used to add a new instance or to update an instance of a record in NetSuite.
It is similar to the upsertList operation, which allows users to add or update more than one record at a time.
The upsert operation is similar to both the add and update operations, but upsert can be run without
first determining whether a record exists in NetSuite. A record is identified by its external ID and
its record type. If a record of the specified type with a matching external ID exists in the system,
it is updated. If it does not exist, a new record is created.
Because external ID is mandatory for this operation, upsert is supported only for records that support
the external ID field.
Also, this operation prohibits the passing of internal ID values.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpsertRecordType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the record attributes, as a string-object map</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the target record type to update</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="externalId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the target record id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="upsert-list" substitutionGroup="mule:abstract-message-processor" type="UpsertListType">
    <xs:annotation>
      <xs:documentation>The upsertList operation is used to add or update one or more instances of a record type in NetSuite.
The upsertList operation is similar to both the addList and updateList operations, but upsert can be
run without first determining whether records exist in NetSuite. Records are identified by their
external ID and their record type. If a record of the specified type with a matching external ID
exists in the system, it is updated. If it does not exist, a new record is created.
Because external ID is mandatory for this operation, upsertList is supported only for records that
support the external ID field.
Also, this operation prohibits the passing of internal ID values.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpsertListType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="records" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the record attributes, as a string-object map</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="record" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-record" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the target record type to update</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-custom-fields-record" substitutionGroup="mule:abstract-message-processor" type="UpdateCustomFieldsRecordType">
    <xs:annotation>
      <xs:documentation>Updates existing record's custom fields
Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateCustomFieldsRecordType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="custom-fields" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the custom fields as a map, where the key is the internalId</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="custom-field" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the target record type to update</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="customFieldType" use="required" type="CustomFieldRefTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of custom field</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="id" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the target record id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="idType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the id type of the given record id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="check-async-status" substitutionGroup="mule:abstract-message-processor" type="CheckAsyncStatusType">
    <xs:annotation>
      <xs:documentation>Answers the status of an asynchronous Web services submission. When a jobId is
submitted, the status, percent complete, and estimated remaining duration are
returned.

Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CheckAsyncStatusType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="jobId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the job whose status to check</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="find-records" substitutionGroup="mule:abstract-message-processor" type="FindRecordsType">
    <xs:annotation>
      <xs:documentation>Answers all records that match the given filtering expression.
If no expression is specified, the empty expression is used,
which retrieves all records of the given type.

Filtering expressions support both basic and joined syntax, that is, using in the filters
attributes of both the target entity and the target entity associations. Advanced search is not supported.

Search expressions are  in the form operator(attribute, arguments...) for basic search,
and operator(join.attribute, arguments...) for joined search, where operator is
any of the string, long, double, and text operators supported by SuiteTalk - MultiSelect operators are not supported -
plus the isTrue/isFalse boolean operators, and arguments are zero up to three operands that depend on the operator used.



Examples:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="FindRecordsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="SearchRecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of record to search</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="expression" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the filtering expression Multiple filters can be combined using multiple predicates separated by commas.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="find-first-record" substitutionGroup="mule:abstract-message-processor" type="FindFirstRecordType">
    <xs:annotation>
      <xs:documentation>Answers the first records that match the given filtering expression.
If no expression is specified, the empty expression is used,
which retrieves all records of the given type.
Returns null if no element can be retrieved

Filtering expressions support both basic and joined syntax, that is, using in the filters
attributes of both the target entity and the target entity associations. Advanced search is not supported.

Search expressions are  in the form operator(attribute, arguments...) for basic search,
and operator(join.attribute, arguments...) for joined search, where operator is
any of the string, long, double, and text operators supported by SuiteTalk - MultiSelect operators are not supported -
plus the isTrue/isFalse boolean operators, and arguments are zero up to three operands that depend on the operator used.

Examples:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="FindFirstRecordType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="SearchRecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of record to search</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="expression" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the filtering expression Multiple filters can be combined using multiple predicates separated by commas.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="saved-find-records" substitutionGroup="mule:abstract-message-processor" type="SavedFindRecordsType">
    <xs:annotation>
      <xs:documentation>Answers all records of a given type for a saved search, given its search id.

Examples:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="SavedFindRecordsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="SearchRecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of record to search</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="searchId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the save search</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="async-find-records" substitutionGroup="mule:abstract-message-processor" type="AsyncFindRecordsType">
    <xs:annotation>
      <xs:documentation>Searches for all records that match the given filtering expression, asynchronously.
If no expression is specified, all records of the given type are retrieved

Filtering expressions support both basic and joined syntax, that is, using in the filters
attributes of both the target entity and the target entity associations. Advanced search is not supported.

Search expressions are  in the form operator(attribute, arguments...) for basic search,
and operator(join.attribute, arguments...) for joined search, where operator is
any of the string, long, double, and text operators supported by SuiteTalk - MultiSelect operators are not supported -
plus the isTrue/isFalse boolean operators, and arguments are zero up to three operands that depend on the operator used.

Examples:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AsyncFindRecordsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="SearchRecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of record to search</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="expression" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the filtering expression, in the form operator(attribute, arguments...) for basic search, and operator(join.attribute, arguments...) for joined search, where operator is any of the string, long, double, and text operators supported by SuiteTalk - MultiSelect operators are not supported - plus the isTrue/isFalse boolean operators, and arguments are zero up to three operands that depend on the operator used. Multiple filters can be combined using multiple predicates separated by commas.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-async-find-result" substitutionGroup="mule:abstract-message-processor" type="GetAsyncFindResultType">
    <xs:annotation>
      <xs:documentation>Answers the results of an asynchronous web services submission. This Processor
can be executed Processor up to 20 times within a 30 day time period to
retrieve the results of an asynchronous job.
Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetAsyncFindResultType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="jobId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the job</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-async-find-first-result" substitutionGroup="mule:abstract-message-processor" type="GetAsyncFindFirstResultType">
    <xs:annotation>
      <xs:documentation>Answers the the first result of an asynchronous asyncFind.
Throws a NoSuchElement exception if there are no results.
This Processor can be executed Processor up to 20 times within a 30 day time period to
retrieve the results of an asynchronous job.

Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetAsyncFindFirstResultType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="jobId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the job</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/netsuite" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="initialize" substitutionGroup="mule:abstract-message-processor" type="InitializeType">
    <xs:annotation>
      <xs:documentation>Populates fields on transaction line items with values from a related record,
in a similar way empty text boxes are prepopulated within the Netsuite UI
Example:</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="InitializeType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="type" use="required" type="InitializeTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the type of record whose defaults values are used to populate the target record</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="recordType" use="required" type="RecordTypeEnumEnumType">
          <xs:annotation>
            <xs:documentation>the target record type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="id" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the target record id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/netsuite" name="idType" default="INTERNAL" use="optional" type="RecordIdTypeEnumType">
          <xs:annotation>
            <xs:documentation>the id type of the given record id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RecordTypeEnumEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="ACCOUNT"></xs:enumeration>
          <xs:enumeration value="ACCOUNTING_PERIOD"></xs:enumeration>
          <xs:enumeration value="ASSEMBLY_BUILD"></xs:enumeration>
          <xs:enumeration value="ASSEMBLY_UNBUILD"></xs:enumeration>
          <xs:enumeration value="ASSEMBLY_ITEM"></xs:enumeration>
          <xs:enumeration value="BIN"></xs:enumeration>
          <xs:enumeration value="BUDGET"></xs:enumeration>
          <xs:enumeration value="BUDGET_CATEGORY"></xs:enumeration>
          <xs:enumeration value="CALENDAR_EVENT"></xs:enumeration>
          <xs:enumeration value="CAMPAIGN"></xs:enumeration>
          <xs:enumeration value="CAMPAIGN_AUDIENCE"></xs:enumeration>
          <xs:enumeration value="CAMPAIGN_CATEGORY"></xs:enumeration>
          <xs:enumeration value="CAMPAIGN_CHANNEL"></xs:enumeration>
          <xs:enumeration value="CAMPAIGN_FAMILY"></xs:enumeration>
          <xs:enumeration value="CAMPAIGN_OFFER"></xs:enumeration>
          <xs:enumeration value="CAMPAIGN_RESPONSE"></xs:enumeration>
          <xs:enumeration value="CAMPAIGN_SEARCH_ENGINE"></xs:enumeration>
          <xs:enumeration value="CAMPAIGN_SUBSCRIPTION"></xs:enumeration>
          <xs:enumeration value="CAMPAIGN_VERTICAL"></xs:enumeration>
          <xs:enumeration value="CASH_REFUND"></xs:enumeration>
          <xs:enumeration value="CASH_SALE"></xs:enumeration>
          <xs:enumeration value="CHECK"></xs:enumeration>
          <xs:enumeration value="CLASSIFICATION"></xs:enumeration>
          <xs:enumeration value="CONTACT"></xs:enumeration>
          <xs:enumeration value="CONTACT_CATEGORY"></xs:enumeration>
          <xs:enumeration value="CONTACT_ROLE"></xs:enumeration>
          <xs:enumeration value="CREDIT_MEMO"></xs:enumeration>
          <xs:enumeration value="CRM_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="CURRENCY"></xs:enumeration>
          <xs:enumeration value="CUSTOM_LIST"></xs:enumeration>
          <xs:enumeration value="CUSTOM_RECORD"></xs:enumeration>
          <xs:enumeration value="CUSTOM_RECORD_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="CUSTOM_RECORD_TYPE"></xs:enumeration>
          <xs:enumeration value="CUSTOMER"></xs:enumeration>
          <xs:enumeration value="CUSTOMER_CATEGORY"></xs:enumeration>
          <xs:enumeration value="CUSTOMER_DEPOSIT"></xs:enumeration>
          <xs:enumeration value="CUSTOMER_PAYMENT"></xs:enumeration>
          <xs:enumeration value="CUSTOMER_REFUND"></xs:enumeration>
          <xs:enumeration value="CUSTOMER_STATUS"></xs:enumeration>
          <xs:enumeration value="DEPOSIT_APPLICATION"></xs:enumeration>
          <xs:enumeration value="DEPARTMENT"></xs:enumeration>
          <xs:enumeration value="DESCRIPTION_ITEM"></xs:enumeration>
          <xs:enumeration value="DISCOUNT_ITEM"></xs:enumeration>
          <xs:enumeration value="DOWNLOAD_ITEM"></xs:enumeration>
          <xs:enumeration value="EMPLOYEE"></xs:enumeration>
          <xs:enumeration value="ENTITY_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="ENTITY_GROUP"></xs:enumeration>
          <xs:enumeration value="ESTIMATE"></xs:enumeration>
          <xs:enumeration value="EXPENSE_CATEGORY"></xs:enumeration>
          <xs:enumeration value="EXPENSE_REPORT"></xs:enumeration>
          <xs:enumeration value="FILE"></xs:enumeration>
          <xs:enumeration value="FOLDER"></xs:enumeration>
          <xs:enumeration value="GIFT_CERTIFICATE"></xs:enumeration>
          <xs:enumeration value="GIFT_CERTIFICATE_ITEM"></xs:enumeration>
          <xs:enumeration value="INTER_COMPANY_JOURNAL_ENTRY"></xs:enumeration>
          <xs:enumeration value="INTER_COMPANY_TRANSFER_ORDER"></xs:enumeration>
          <xs:enumeration value="INVENTORY_ADJUSTMENT"></xs:enumeration>
          <xs:enumeration value="INVENTORY_ITEM"></xs:enumeration>
          <xs:enumeration value="INVOICE"></xs:enumeration>
          <xs:enumeration value="ITEM_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="ITEM_FULFILLMENT"></xs:enumeration>
          <xs:enumeration value="ITEM_NUMBER_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="ITEM_OPTION_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="ISSUE"></xs:enumeration>
          <xs:enumeration value="JOB"></xs:enumeration>
          <xs:enumeration value="JOB_STATUS"></xs:enumeration>
          <xs:enumeration value="JOB_TYPE"></xs:enumeration>
          <xs:enumeration value="ITEM_RECEIPT"></xs:enumeration>
          <xs:enumeration value="JOURNAL_ENTRY"></xs:enumeration>
          <xs:enumeration value="KIT_ITEM"></xs:enumeration>
          <xs:enumeration value="LEAD_SOURCE"></xs:enumeration>
          <xs:enumeration value="LOCATION"></xs:enumeration>
          <xs:enumeration value="LOT_NUMBERED_INVENTORY_ITEM"></xs:enumeration>
          <xs:enumeration value="LOT_NUMBERED_ASSEMBLY_ITEM"></xs:enumeration>
          <xs:enumeration value="MARKUP_ITEM"></xs:enumeration>
          <xs:enumeration value="MESSAGE"></xs:enumeration>
          <xs:enumeration value="NON_INVENTORY_PURCHASE_ITEM"></xs:enumeration>
          <xs:enumeration value="NON_INVENTORY_RESALE_ITEM"></xs:enumeration>
          <xs:enumeration value="NON_INVENTORY_SALE_ITEM"></xs:enumeration>
          <xs:enumeration value="NOTE"></xs:enumeration>
          <xs:enumeration value="NOTE_TYPE"></xs:enumeration>
          <xs:enumeration value="OPPORTUNITY"></xs:enumeration>
          <xs:enumeration value="OTHER_CHARGE_PURCHASE_ITEM"></xs:enumeration>
          <xs:enumeration value="OTHER_CHARGE_RESALE_ITEM"></xs:enumeration>
          <xs:enumeration value="OTHER_CHARGE_SALE_ITEM"></xs:enumeration>
          <xs:enumeration value="OTHER_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="PARTNER"></xs:enumeration>
          <xs:enumeration value="PARTNER_CATEGORY"></xs:enumeration>
          <xs:enumeration value="PAYMENT_ITEM"></xs:enumeration>
          <xs:enumeration value="PAYMENT_METHOD"></xs:enumeration>
          <xs:enumeration value="PHONE_CALL"></xs:enumeration>
          <xs:enumeration value="PRICE_LEVEL"></xs:enumeration>
          <xs:enumeration value="PROJECT_TASK"></xs:enumeration>
          <xs:enumeration value="PROMOTION_CODE"></xs:enumeration>
          <xs:enumeration value="PURCHASE_ORDER"></xs:enumeration>
          <xs:enumeration value="RETURN_AUTHORIZATION"></xs:enumeration>
          <xs:enumeration value="SALES_ORDER"></xs:enumeration>
          <xs:enumeration value="SALES_ROLE"></xs:enumeration>
          <xs:enumeration value="SALES_TAX_ITEM"></xs:enumeration>
          <xs:enumeration value="SERIALIZED_INVENTORY_ITEM"></xs:enumeration>
          <xs:enumeration value="SERIALIZED_ASSEMBLY_ITEM"></xs:enumeration>
          <xs:enumeration value="SERVICE_PURCHASE_ITEM"></xs:enumeration>
          <xs:enumeration value="SERVICE_RESALE_ITEM"></xs:enumeration>
          <xs:enumeration value="SERVICE_SALE_ITEM"></xs:enumeration>
          <xs:enumeration value="SOLUTION"></xs:enumeration>
          <xs:enumeration value="SITE_CATEGORY"></xs:enumeration>
          <xs:enumeration value="STATE"></xs:enumeration>
          <xs:enumeration value="SUBSIDIARY"></xs:enumeration>
          <xs:enumeration value="SUBTOTAL_ITEM"></xs:enumeration>
          <xs:enumeration value="SUPPORT_CASE"></xs:enumeration>
          <xs:enumeration value="SUPPORT_CASE_ISSUE"></xs:enumeration>
          <xs:enumeration value="SUPPORT_CASE_ORIGIN"></xs:enumeration>
          <xs:enumeration value="SUPPORT_CASE_PRIORITY"></xs:enumeration>
          <xs:enumeration value="SUPPORT_CASE_STATUS"></xs:enumeration>
          <xs:enumeration value="SUPPORT_CASE_TYPE"></xs:enumeration>
          <xs:enumeration value="TASK"></xs:enumeration>
          <xs:enumeration value="TAX_GROUP"></xs:enumeration>
          <xs:enumeration value="TAX_TYPE"></xs:enumeration>
          <xs:enumeration value="TERM"></xs:enumeration>
          <xs:enumeration value="TIME_BILL"></xs:enumeration>
          <xs:enumeration value="TOPIC"></xs:enumeration>
          <xs:enumeration value="TRANSFER_ORDER"></xs:enumeration>
          <xs:enumeration value="TRANSACTION_BODY_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="TRANSACTION_COLUMN_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="UNITS_TYPE"></xs:enumeration>
          <xs:enumeration value="VENDOR"></xs:enumeration>
          <xs:enumeration value="VENDOR_CATEGORY"></xs:enumeration>
          <xs:enumeration value="VENDOR_BILL"></xs:enumeration>
          <xs:enumeration value="VENDOR_PAYMENT"></xs:enumeration>
          <xs:enumeration value="WIN_LOSS_REASON"></xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="RecordIdTypeEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="INTERNAL"></xs:enumeration>
          <xs:enumeration value="EXTERNAL"></xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="GetCustomizationTypeEnumEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="CRM_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="CUSTOM_LIST"></xs:enumeration>
          <xs:enumeration value="CUSTOM_RECORD_TYPE"></xs:enumeration>
          <xs:enumeration value="ENTITY_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="ITEM_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="ITEM_NUMBER_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="ITEM_OPTION_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="OTHER_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="TRANSACTION_BODY_CUSTOM_FIELD"></xs:enumeration>
          <xs:enumeration value="TRANSACTION_COLUMN_CUSTOM_FIELD"></xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="SearchDateFieldOperatorEnumEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="AFTER"></xs:enumeration>
          <xs:enumeration value="BEFORE"></xs:enumeration>
          <xs:enumeration value="EMPTY"></xs:enumeration>
          <xs:enumeration value="NOT_AFTER"></xs:enumeration>
          <xs:enumeration value="NOT_BEFORE"></xs:enumeration>
          <xs:enumeration value="NOT_EMPTY"></xs:enumeration>
          <xs:enumeration value="NOT_ON"></xs:enumeration>
          <xs:enumeration value="NOT_ON_OR_AFTER"></xs:enumeration>
          <xs:enumeration value="NOT_ON_OR_BEFORE"></xs:enumeration>
          <xs:enumeration value="NOT_WITHIN"></xs:enumeration>
          <xs:enumeration value="ON"></xs:enumeration>
          <xs:enumeration value="ON_OR_AFTER"></xs:enumeration>
          <xs:enumeration value="ON_OR_BEFORE"></xs:enumeration>
          <xs:enumeration value="WITHIN"></xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="CalendarEventAttendeeResponseEnumEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="ACCEPTED"></xs:enumeration>
          <xs:enumeration value="DECLINED"></xs:enumeration>
          <xs:enumeration value="NO_RESPONSE"></xs:enumeration>
          <xs:enumeration value="TENTATIVE"></xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="CustomFieldRefTypeEnumEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="BOOLEAN"></xs:enumeration>
          <xs:enumeration value="SELECT"></xs:enumeration>
          <xs:enumeration value="DOUBLE"></xs:enumeration>
          <xs:enumeration value="LONG"></xs:enumeration>
          <xs:enumeration value="MULTI"></xs:enumeration>
          <xs:enumeration value="STRING"></xs:enumeration>
          <xs:enumeration value="DATE"></xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="SearchRecordTypeEnumEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="ACCOUNT"></xs:enumeration>
          <xs:enumeration value="ACCOUNTING_PERIOD"></xs:enumeration>
          <xs:enumeration value="BIN"></xs:enumeration>
          <xs:enumeration value="BUDGET"></xs:enumeration>
          <xs:enumeration value="CALENDAR_EVENT"></xs:enumeration>
          <xs:enumeration value="CAMPAIGN"></xs:enumeration>
          <xs:enumeration value="CLASSIFICATION"></xs:enumeration>
          <xs:enumeration value="CONTACT"></xs:enumeration>
          <xs:enumeration value="CUSTOMER"></xs:enumeration>
          <xs:enumeration value="CUSTOM_RECORD"></xs:enumeration>
          <xs:enumeration value="DEPARTMENT"></xs:enumeration>
          <xs:enumeration value="EMPLOYEE"></xs:enumeration>
          <xs:enumeration value="ENTITY_GROUP"></xs:enumeration>
          <xs:enumeration value="FILE"></xs:enumeration>
          <xs:enumeration value="FOLDER"></xs:enumeration>
          <xs:enumeration value="GIFT_CERTIFICATE"></xs:enumeration>
          <xs:enumeration value="GROUP_MEMBER"></xs:enumeration>
          <xs:enumeration value="ITEM"></xs:enumeration>
          <xs:enumeration value="ISSUE"></xs:enumeration>
          <xs:enumeration value="JOB"></xs:enumeration>
          <xs:enumeration value="LOCATION"></xs:enumeration>
          <xs:enumeration value="MESSAGE"></xs:enumeration>
          <xs:enumeration value="NOTE"></xs:enumeration>
          <xs:enumeration value="OPPORTUNITY"></xs:enumeration>
          <xs:enumeration value="PARTNER"></xs:enumeration>
          <xs:enumeration value="PHONE_CALL"></xs:enumeration>
          <xs:enumeration value="PRICE_LEVEL"></xs:enumeration>
          <xs:enumeration value="PROJECT_TASK"></xs:enumeration>
          <xs:enumeration value="PROMOTION_CODE"></xs:enumeration>
          <xs:enumeration value="SALES_ROLE"></xs:enumeration>
          <xs:enumeration value="SOLUTION"></xs:enumeration>
          <xs:enumeration value="SITE_CATEGORY"></xs:enumeration>
          <xs:enumeration value="SUBSIDIARY"></xs:enumeration>
          <xs:enumeration value="SUPPORT_CASE"></xs:enumeration>
          <xs:enumeration value="TASK"></xs:enumeration>
          <xs:enumeration value="TIME_BILL"></xs:enumeration>
          <xs:enumeration value="TOPIC"></xs:enumeration>
          <xs:enumeration value="TRANSACTION"></xs:enumeration>
          <xs:enumeration value="VENDOR"></xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="InitializeTypeEnumEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="ASSEMBLY_UNBUILD"></xs:enumeration>
          <xs:enumeration value="CASH_REFUND"></xs:enumeration>
          <xs:enumeration value="CASH_SALE"></xs:enumeration>
          <xs:enumeration value="CREDIT_MEMO"></xs:enumeration>
          <xs:enumeration value="CUSTOMER_PAYMENT"></xs:enumeration>
          <xs:enumeration value="CUSTOMER_REFUND"></xs:enumeration>
          <xs:enumeration value="DEPOSIT_APPLICATION"></xs:enumeration>
          <xs:enumeration value="ESTIMATE"></xs:enumeration>
          <xs:enumeration value="INVOICE"></xs:enumeration>
          <xs:enumeration value="ITEM_FULFILLMENT"></xs:enumeration>
          <xs:enumeration value="ITEM_RECEIPT"></xs:enumeration>
          <xs:enumeration value="RETURN_AUTHORIZATION"></xs:enumeration>
          <xs:enumeration value="SALES_ORDER"></xs:enumeration>
          <xs:enumeration value="VENDOR_BILL"></xs:enumeration>
          <xs:enumeration value="VENDOR_PAYMENT"></xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
</xs:schema>