Service Schemas > Request service

Request service

<?xml version="1.0"?>
<xs:schema
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns="http://schemas.sirsidynix.com/symws/request"
  xmlns:admin="http://schemas.sirsidynix.com/symws/admin"
  attributeFormDefault="qualified" elementFormDefault="qualified"
  targetNamespace="http://schemas.sirsidynix.com/symws/request">

  <xs:import namespace="http://schemas.sirsidynix.com/symws/admin" schemaLocation="admin.xsd"/>

  <!-- messages -->

  <xs:element name="LookupRequestTemplateRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="requestTypeID" type="xs:string" minOccurs="1" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LookupRequestTemplateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="userIDRequired" type="admin:RequiredType" minOccurs="1" maxOccurs="1"/>
        <!-- catalogKeyRequired means either itemID, catalog key, or call number is required -->
        <xs:element name="catalogKeyRequired" type="admin:RequiredType" minOccurs="1" maxOccurs="1"/>
        <xs:element name="defaultStatusID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="defaultStatusDescription" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="specialUse" type="admin:SpecialUseType" minOccurs="1" maxOccurs="1"/>
        <xs:element name="requestEntryInfo" type="RequestEntryTemplateInfo" minOccurs="0"
          maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="createRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="requestTypeID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <!-- if accession is not configured on Symphony, then itemID cannot be used -->
        <!-- if catalogKeyRequired for the request type template is Mandatory, then catalogKey
             cannot be used -->
        <xs:choice>
          <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1"/>
          <xs:element name="catalogKey" type="xs:long" minOccurs="0" maxOccurs="1"/>
          <xs:element name="callNumber" type="xs:string" minOccurs="0" maxOccurs="1"/>
        </xs:choice>
        <xs:element name="serviceLibraryID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="statusID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <!-- use the corresponding absolute entry number retrieved from
             LookupRequestTemplateResponse -->
        <xs:element name="requestEntry" type="RequestEntry" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="CreateRequestResponse" type="xs:string"/> <!-- Request key -->

  <xs:element name="LookupRequestsRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:choice>
          <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1"/>
          <xs:element name="userAltID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        </xs:choice>
        <xs:element name="requestStatusID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="serviceLibraryID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <!-- can only be used injunction with userID or userAltID -->
        <xs:element name="repliedToRequests" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LookupRequestsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="RequestBriefInfo" type="RequestBriefInfo" minOccurs="0"
          maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LookupRequestRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="requestKey" type="xs:string" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LookupRequestResponse" type="RequestInfo" />

  <xs:element name="CancelRequestRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="requestKey" type="xs:string" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="CancelRequestResponse" type="xs:boolean" />

  <!-- objects -->

  <xs:complexType name="RequestEntryTemplateInfo">
    <xs:sequence>
      <xs:element name="absoluteEntryNumber" type="xs:int" minOccurs="1" maxOccurs="1"/>
      <xs:element name="entryFormat" type="RequestEntryType" minOccurs="0" maxOccurs="1"/>
      <xs:element name="entryID" type="xs:string" minOccurs="1" maxOccurs="1"/>
      <xs:element name="entryDescription" type="xs:string" minOccurs="1" maxOccurs="1"/>
      <xs:element name="internalEntryNumber" type="xs:int" minOccurs="1"/>
      <xs:element name="entryName" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="allowedEditCreate" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
      <xs:element name="required" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
      <xs:element name="dataType" type="xs:string" minOccurs="1" maxOccurs="1"/>
      <xs:element name="minimumSize" type="xs:int" minOccurs="0" maxOccurs="1"/>
      <xs:element name="maximumSize" type="xs:int" minOccurs="0" maxOccurs="1"/>
      <xs:element name="defaultValue" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="entryClass" type="xs:string" minOccurs="1" maxOccurs="1"/>
      <xs:element name="displayValue" type="xs:string" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RequestInfo">
    <xs:complexContent>
      <xs:extension base="RequestBriefInfo">
        <xs:sequence>
          <xs:element name="requestEntry" type="RequestEntryInfo" minOccurs="0"
            maxOccurs="unbounded"/>
          <xs:element name="replyEntry" type="RequestEntryInfo" minOccurs="0"
            maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="RequestBriefInfo">
    <xs:sequence>
      <xs:element name="requestKey" type="xs:string" minOccurs="1" maxOccurs="1"/>
      <xs:element name="requestTypeID" type="xs:string" minOccurs="1" maxOccurs="1"/>
      <xs:element name="requestTypeDescription" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="itemID" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="statusID" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="statusDescription" type="xs:string" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="RequestEntryType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="COMMENT"/> <!-- c -->
      <xs:enumeration value="EMAIL"/> <!-- m -->
      <xs:enumeration value="PHONE"/> <!-- h -->
      <xs:enumeration value="STAFFONLY"/> <!-- n -->
      <xs:enumeration value="USERREPLY"/> <!-- r -->
      <xs:enumeration value="Z3950"/> <!-- d -->
      <xs:enumeration value="ZIPCODE"/> <!-- z -->
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="RequestEntry">
    <xs:sequence>
      <xs:element name="absoluteEntryNumber" type="xs:int" minOccurs="1" maxOccurs="1"/>
      <xs:element name="entryID" type="xs:string" minOccurs="1" maxOccurs="1"/>
      <xs:element name="entryData" type="xs:string" minOccurs="1" maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RequestEntryInfo">
    <xs:sequence>
      <xs:element name="entryDescription" type="xs:string" minOccurs="1" maxOccurs="1"/>
      <xs:element name="entryData" type="xs:string" minOccurs="1" maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

</xs:schema>

 


© 2009-2012 SirsiDynix