﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified"
  attributeFormDefault="qualified"
  xmlns:sch ="http://www.ascc.net/xml/schematron">
  <xs:annotation>
    <xs:appinfo>
      <sch:title>MFR Update</sch:title>
    </xs:appinfo>
  </xs:annotation>
  <xs:element name="ImportCollection" type="ImportCollectionType"/>
  <xs:complexType name="ImportCollectionType">
    <xs:sequence>
      <xs:element maxOccurs="1" minOccurs="1" name="MFRItem" type="MFRItemType">
        <xs:annotation>
          <xs:appinfo>
            <sch:pattern id="001" Name="BindingElementsRequired">
              <sch:rule context="ForeclosureItem">
                <sch:report test="count(SubscriberID) = 0 and count(MFR) = 0">
                  SubscriberID and/or Attorney Case ID must be provided to locate record
                </sch:report>
              </sch:rule>
            </sch:pattern>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Reference" type="qbo.Reference"/>
  </xs:complexType>
  <xs:complexType name="MFRItemType">
    <xs:all>
      <xs:element name="SubscriberID" type="qbo.SubscriberID" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Loan" type="qboLoanType" minOccurs="0" maxOccurs="1"/>
      <xs:element name="MFR" type="qboNvarchar50" minOccurs="0" maxOccurs="1"/>
      <xs:element name="BKCaseNo" type="qboNvarchar50" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Chapter" type="qbo.Chapter" minOccurs="0" maxOccurs="1"/>
      <xs:element name="FilingDate" type="qboDateOptionalTime" minOccurs="0" maxOccurs="1"/>
      <xs:element name="BarDate" type="qboDateOptionalTime" minOccurs="0" maxOccurs="1"/>
      <xs:element name="StateOfFiling" type="qbo.State" minOccurs="0" maxOccurs="1"  />
      <xs:element name="Court" type="qbo.Court" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Status" type="qbo.Bankruptcy.Status" minOccurs="0" maxOccurs="1"/>
      <xs:element name="DebtorContact" type="qbo.Contact" minOccurs="0" maxOccurs="1"/>
      <xs:element name="CoDebtorContact" type="qbo.Contact" minOccurs="0" maxOccurs="1"/>
      <xs:element name="DebtorAttorneyContact" type="qbo.Contact" minOccurs="0" maxOccurs="1"/>
      <!--<xs:element name="DateOpened" type="qboDateOptionalTime" minOccurs="0" maxOccurs="1"/>-->
      <xs:element name="DateClosed" type="qboDateOptionalTime" minOccurs="0" maxOccurs="1"/>
      <xs:element name="ClosedReason" type="qbo.MFR.CloseReason" minOccurs="0" maxOccurs="1"/>
      <xs:element name="DismissedDate" type="qboDateOptionalTime" minOccurs="0" maxOccurs="1"/>
      <xs:element name="DischargedDate" type="qboDateOptionalTime" minOccurs="0" maxOccurs="1"/>
      <xs:element name="ConvertedDate" type="qboDateOptionalTime" minOccurs="0" maxOccurs="1"/>
      <xs:element name="PrePostPetitionLedger" type="qbo.Ledger.PrePostPetitionLedger" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Delays" type="qbo.DecisionDelayCollection" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Forms" type="qbo.ImportFormCollection" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Attachments" type="qbo.AttachmentCollection" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Messages" type="qbo.MessageCollection" minOccurs="0" maxOccurs="1"/>
    </xs:all>
    <xs:attribute name="Reference" type="qbo.Reference"/>
  </xs:complexType>
  <!--Complex Types-->
  <xs:complexType name="qbo.MessageCollection">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="50" name="MessageItem" type="MessageItemType">
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Reference" type="qbo.Reference"/>
  </xs:complexType>
  <xs:complexType name="MessageItemType">
    <xs:all>
      <xs:element name="Message" type="qboNvarchar50" minOccurs="1" maxOccurs="1"/>
      <xs:element name="Template" type="qbo.MessageTemplate" minOccurs="1" maxOccurs="1"/>
      <xs:element name="BodyText" type="qboText" minOccurs="1" maxOccurs="1"/>
    </xs:all>
    <xs:attribute name="Reference" type="qbo.Reference"/>
  </xs:complexType>
  <xs:simpleType name="qbo.MessageTemplate">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Attorney Message">
        <xs:annotation>
          <xs:documentation>Applies to Foreclosure, Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="qbo.AttachmentCollection">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="5" name="AttachmentItem" type="AttachmentItemType">
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Reference" type="qbo.Reference"/>
  </xs:complexType>
  <xs:complexType name="AttachmentItemType">
    <xs:all>
      <xs:element name="FileName" type="qboNvarchar50" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Contains file name with extension</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Template" type="qbo.AttachmentTemplate" minOccurs="1" maxOccurs="1"/>
      <xs:element name="Description" type="qboText" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Content" type="qboText" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Base64 encoded content</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
    <xs:attribute name="Reference" type="qbo.Reference"/>
  </xs:complexType>
  <xs:simpleType name="qbo.AttachmentTemplate">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Deficiency Judgment">
        <xs:annotation>
          <xs:documentation>Applies to Foreclosure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BK Document">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="qbo.DecisionDelayCollection">
    <xs:sequence>
      <xs:element  minOccurs="1" maxOccurs="1" name="DecisionDelayItem" type="qbo.DecisionDelayItem">
        <xs:annotation>
          <xs:appinfo>
            <sch:pattern id="001" Name="MessageValidation">
              <sch:rule context="DecisionDelayItem">
                <sch:report test="(count(Messages_0_Message) = 1 and count(Messages_0_BodyText) = 0) or (count(Messages_0_Message) = 0 and count(Messages_0_BodyText) = 1)">
                  Both Message and BodyText must be provided when including Message
                </sch:report>
              </sch:rule>
            </sch:pattern>
            <sch:pattern id="002" Name="AddDateValidation">
              <sch:rule context="DecisionDelayItem">
                <sch:report test="count(ActualCompletion) = 0 and (count(ProjectedCompletion) = 0 or count(ActualStart) = 0)">
                  ActualStart and ProjectedCompletion must be provided when adding a delay
                </sch:report>
              </sch:rule>
            </sch:pattern>
            <sch:pattern id="003" Name="CompleteDateValidation">
              <sch:rule context="DecisionDelayItem">
                <sch:report test="count(ActualCompletion) = 0 and count(ProjectedCompletion) = 0 and count(ActualStart) = 0">
                  ActualCompletion or ActualStart and ProjectedCompletion must be provided when adding or updating a delay
                </sch:report>
              </sch:rule>
            </sch:pattern>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Reference" type="qbo.Reference"/>
  </xs:complexType>
  <xs:complexType name="qbo.ImportFormCollection">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="25" name="ImportFormItem" type="ImportFormItemType">
        <xs:annotation>
          <xs:appinfo>
            <sch:pattern id="001" Name="MessageValidation">
              <sch:rule context="ImportFormItem">
                <sch:report test="(count(Messages_0_Message) = 1 and count(Messages_0_BodyText) = 0) or (count(Messages_0_Message) = 0 and count(Messages_0_BodyText) = 1)">
                  Both Message and BodyText must be provided when including Message
                </sch:report>
              </sch:rule>
            </sch:pattern>
            <sch:pattern id="002" Name="DateValidation">
              <sch:rule context="ImportFormItem">
                <sch:report test="count(ProjectedCompletion) = 0 and count(ActualCompletion) = 0">
                  ProjectedCompletion or ActualCompletion must be provided
                </sch:report>
              </sch:rule>
            </sch:pattern>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Reference" type="qbo.Reference"/>
  </xs:complexType>
  <xs:complexType name="ImportFormItemType">
    <xs:all>
      <xs:element name="Template" type="qbo.ImportFormTemplate.Bankruptcy" minOccurs="1" maxOccurs="1"/>
      <xs:element name="ProjectedCompletion" type="qboDateOptionalTime" minOccurs="0" maxOccurs="1"/>
      <xs:element name="ActualCompletion" type="qboDateOptionalTime" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Messages_0_Message" type="qbo.ImportFormMessageType" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Messages_0_BodyText" type="qboText" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Bankruptcy_Status" type="qbo.Bankruptcy.Status" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Bankruptcy_DateClosed" type="qboDateOptionalTime" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Bankruptcy_ClosedReason" type="qbo.MFR.CloseReason" minOccurs="0" maxOccurs="1"/>
    </xs:all>
    <xs:attribute name="Reference" type="qbo.Reference"/>
  </xs:complexType>
  <xs:simpleType name="qbo.ImportFormMessageType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Task Changed" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qbo.ImportFormTemplate.Bankruptcy">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Bankruptcy File Received">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Bankruptcy Case Closure">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Relief from Stay/Discharge">
        <xs:annotation>
          <xs:documentation>Applies to Motion For Relief</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="POC Filed">
        <xs:annotation>
          <xs:documentation>Applies to Proof Of Claim</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Plan Confirmed">
        <xs:annotation>
          <xs:documentation>Applies to Proof Of Claim</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="qbo.DecisionDelayItem">
    <xs:all>
      <xs:element name="DecisionDelayTemplate" type="qbo.DecisionDelayTemplate.Bankruptcy" minOccurs="1" maxOccurs="1"/>
      <xs:element name="ActualStart" type="qboDateOptionalTime" minOccurs="0" maxOccurs="1"/>
      <xs:element name="ProjectedCompletion" type="qboDateOptionalTime" minOccurs="0" maxOccurs="1"/>
      <xs:element name="ActualCompletion" type="qboDateOptionalTime" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Messages_0_Message" type="qbo.DecisionDelayMessageType" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Messages_0_BodyText" type="qboText" minOccurs="0" maxOccurs="1"/>
    </xs:all>
  </xs:complexType>
  <xs:simpleType name="qbo.DecisionDelayTemplate.Bankruptcy">
    <xs:restriction base="xs:string">
      <xs:enumeration value="BK DIL">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BK Document Delay">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BK Forebearance Agreement">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BK FRE Moratorium">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BK HAMP">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BK Litigation">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BK Loss Mitigation">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BK Modification">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BK Probate">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BK Property Issues / Seizure">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BK Repay Plan">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BK SCRA">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BK Servicer Issued">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BK Short Sale">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BK Title Issue">
        <xs:annotation>
          <xs:documentation>Applies to Bankruptcy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qbo.DecisionDelayMessageType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Delay Changed" />
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="qboLoanType">
    <xs:all>
      <xs:element name="Agency" type="qbo.Agency" minOccurs="1" maxOccurs="1"/>
      <xs:element name="Loan" type="qbo.Loan.Loan" minOccurs="1" maxOccurs="1"/>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="qbo.Ledger.PrePostPetitionLedger">
    <xs:all>
      <xs:element name="Template" type="qbo.Ledger.PrePostPetitionLedger.Template" minOccurs="1" maxOccurs="1"/>
      <xs:element name="Items" type="qbo.Ledger.PrePostPetitionLedger.Items" minOccurs="1" maxOccurs="1"/>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="qbo.Ledger.PrePostPetitionLedger.Items">
    <xs:all>
      <xs:element name="AccruedLateCharges" type="qboDecimal" minOccurs="0" maxOccurs="1"/>
      <xs:element name="BKFeesCosts" type="qboDecimal" minOccurs="0" maxOccurs="1"/>
      <xs:element name="CorporateAdvanceBalance" type="qboDecimal" minOccurs="0" maxOccurs="1"/>
      <xs:element name="CorporateAdvances" type="qboDecimal" minOccurs="0" maxOccurs="1"/>
      <xs:element name="EscrowBalance" type="qboDecimal" minOccurs="0" maxOccurs="1"/>
      <xs:element name="FCFeesCosts" type="qboDecimal" minOccurs="0" maxOccurs="1"/>
      <xs:element name="FundsinSuspense" type="qboDecimal" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Interestfrom" type="qboDecimal" minOccurs="0" maxOccurs="1"/>
      <xs:element name="OtherCosts" type="qboDecimal" minOccurs="0" maxOccurs="1"/>
      <xs:element name="Payments" type="qboDecimal" minOccurs="0" maxOccurs="1"/>
      <xs:element name="PendingAdvances" type="qboDecimal" minOccurs="0" maxOccurs="1"/>
      <xs:element name="PerDiem" type="qboDecimal" minOccurs="0" maxOccurs="1"/>
      <xs:element name="PrincipalBalance" type="qboDecimal" minOccurs="0" maxOccurs="1"/>
      <xs:element name="RentsCollected" type="qboDecimal" minOccurs="0" maxOccurs="1"/>
      <xs:element name="TotalDueBeneficiaryasofSaleDate" type="qboDecimal" minOccurs="0" maxOccurs="1"/>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="qbo.Contact">
    <xs:all>
      <xs:element minOccurs="1" nillable="true" maxOccurs="1" name="FirstName" type="qboNvarchar50" />
      <xs:element minOccurs="0" nillable="true" maxOccurs="1" name="MiddleName" type="qboNvarchar20" />
      <xs:element minOccurs="1" nillable="true" maxOccurs="1" name="LastName" type="qboNvarchar100" />
      <xs:element minOccurs="0" nillable="true" maxOccurs="1" name="Suffix" type="qboNvarchar20" />
      <xs:element minOccurs="0" nillable="true" maxOccurs="1" name="Address" type="qboNvarchar50" />
      <xs:element minOccurs="0" nillable="true" maxOccurs="1" name="City" type="qboNvarchar50" />
      <xs:element minOccurs="0" nillable="true" maxOccurs="1" name="State" type="qbo.State" />
      <xs:element minOccurs="0" nillable="true" maxOccurs="1" name="PostalCode" type="qbo.PostalCode" />
      <xs:element minOccurs="0" nillable="true" maxOccurs="1" name="Country" type="qboNvarchar50" />
      <xs:element minOccurs="0" nillable="true" maxOccurs="1" name="USSSN" type="qbo.USSSN" />
    </xs:all>
  </xs:complexType>
  <!--Custom Types-->
  <xs:simpleType name="qbo.Ledger.PrePostPetitionLedger.Template">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Pre and Post Petition Arrearages" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qbo.Agency">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Freddie Mac" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qbo.ProcessType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Judicial" />
      <xs:enumeration value="Non-Judicial" />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="qbo.MFR.SoldToName">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Back to Beneficiary">
        <xs:annotation>
          <xs:documentation>Back to Beneficiary</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Third Party">
        <xs:annotation>
          <xs:documentation>Third Party</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Reverted to Senior">
        <xs:annotation>
          <xs:documentation>Reverted to Senior</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qbo.MFR.CloseReason">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Discharged">
        <xs:annotation>
          <xs:documentation>Discharged</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Dismissed">
        <xs:annotation>
          <xs:documentation>Dismissed</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Case Converted">
        <xs:annotation>
          <xs:documentation>Case Converted</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Investor Request">
        <xs:annotation>
          <xs:documentation>Investor Request</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Opened In Error">
        <xs:annotation>
          <xs:documentation>Opened In Error</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Paid Off / Reinstated">
        <xs:annotation>
          <xs:documentation>Paid Off / Reinstated</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Repurchased">
        <xs:annotation>
          <xs:documentation>Repurchased</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Servicer Request">
        <xs:annotation>
          <xs:documentation>Servicer Request</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MFR Granted">
        <xs:annotation>
          <xs:documentation>MFR Granted</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Investor Loan Sold">
        <xs:annotation>
          <xs:documentation>Investor Loan Sold</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Loss Mitigation Completed">
        <xs:annotation>
          <xs:documentation>Loss Mitigation Completed</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="STIP / APO Entered">
        <xs:annotation>
          <xs:documentation>STIP / APO Entered</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="POC Filed">
        <xs:annotation>
          <xs:documentation>POC Filed</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qbo.Loan.Loan">
    <xs:annotation>
      <xs:documentation>string that must be between 7 and 12 characters</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="7" />
      <xs:maxLength value="12" />
      <xs:whiteSpace value="collapse" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qbo.Chapter">
    <xs:restriction base="xs:string">
      <xs:enumeration value="7" />
      <xs:enumeration value="9" />
      <xs:enumeration value="11" />
      <xs:enumeration value="12" />
      <xs:enumeration value="13" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qbo.Court">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Alabama Middle Bankruptcy Court"/>
      <xs:enumeration value="Alabama Northern Bankruptcy Court"/>
      <xs:enumeration value="Alabama Southern Bankruptcy Court"/>
      <xs:enumeration value="Alaska Bankruptcy Court"/>
      <xs:enumeration value="Arizona Bankruptcy Court"/>
      <xs:enumeration value="Arkansas Eastern Bankruptcy Court"/>
      <xs:enumeration value="Arkansas Western Bankruptcy Court"/>
      <xs:enumeration value="California Central Bankruptcy - L.A."/>
      <xs:enumeration value="California Central Bankruptcy - N.D."/>
      <xs:enumeration value="California Central Bankruptcy - R.S."/>
      <xs:enumeration value="California Central Bankruptcy - S.A."/>
      <xs:enumeration value="California Central Bankruptcy - S.V."/>
      <xs:enumeration value="California Eastern Bankruptcy Court"/>
      <xs:enumeration value="California Northern Bankruptcy Court"/>
      <xs:enumeration value="California Southern Bankruptcy Court"/>
      <xs:enumeration value="Central District Of California"/>
      <xs:enumeration value="Colorado Bankruptcy Court"/>
      <xs:enumeration value="Connecticut Bankruptcy Court"/>
      <xs:enumeration value="Delaware Bankruptcy Court"/>
      <xs:enumeration value="District Of Columbia Bankruptcy Court"/>
      <xs:enumeration value="Florida Middle Bankruptcy Court"/>
      <xs:enumeration value="Florida Northern Bankruptcy Court"/>
      <xs:enumeration value="Florida Southern Bankruptcy Court"/>
      <xs:enumeration value="Georgia Northern Bankruptcy Court"/>
      <xs:enumeration value="Georgia Southern Bankruptcy Court"/>
      <xs:enumeration value="Georgia Southern Bankruptcy Court"/>
      <xs:enumeration value="Guam Bankruptcy Court"/>
      <xs:enumeration value="Hawaii Bankruptcy Court"/>
      <xs:enumeration value="Idaho Bankruptcy Court"/>
      <xs:enumeration value="Illinois Central Bankruptcy Court"/>
      <xs:enumeration value="Illinois Northern Bankruptcy"/>
      <xs:enumeration value="Illinois Southern Bankruptcy Court"/>
      <xs:enumeration value="Indiana Northern Bankruptcy Court"/>
      <xs:enumeration value="Indiana Southern Bankruptcy"/>
      <xs:enumeration value="Iowa Northern Bankruptcy Court"/>
      <xs:enumeration value="Iowa Southern Bankruptcy Court"/>
      <xs:enumeration value="Kansas Bankruptcy Court"/>
      <xs:enumeration value="Kentucky Eastern Bankruptcy Court"/>
      <xs:enumeration value="Kentucky Western Bankruptcy Court"/>
      <xs:enumeration value="Louisiana Eastern Bankruptcy Court"/>
      <xs:enumeration value="Louisiana Middle Bankruptcy Court"/>
      <xs:enumeration value="Louisiana Western Bankruptcy Court"/>
      <xs:enumeration value="Maine Bankruptcy Court"/>
      <xs:enumeration value="Maryland Bankruptcy Court"/>
      <xs:enumeration value="Massachusetts Bankruptcy Court"/>
      <xs:enumeration value="Michigan Eastern Bankruptcy Court"/>
      <xs:enumeration value="Michigan Western Bankruptcy Court"/>
      <xs:enumeration value="Middle District of Georgia"/>
      <xs:enumeration value="Minnesota Bankruptcy Court"/>
      <xs:enumeration value="Mississippi Northern Bankruptcy Court"/>
      <xs:enumeration value="Mississippi Southern Bankruptcy Court"/>
      <xs:enumeration value="Missouri Eastern Bankruptcy Court"/>
      <xs:enumeration value="Missouri Western Bankruptcy Court"/>
      <xs:enumeration value="Montana Bankruptcy Court"/>
      <xs:enumeration value="Nebraska Bankruptcy Court"/>
      <xs:enumeration value="Nevada Bankruptcy Court"/>
      <xs:enumeration value="New Hampshire Bankruptcy Court"/>
      <xs:enumeration value="New Jersey Bankruptcy Court"/>
      <xs:enumeration value="New Mexico Bankruptcy Court"/>
      <xs:enumeration value="New York Eastern Bankruptcy Court"/>
      <xs:enumeration value="New York Northern Bankruptcy Court"/>
      <xs:enumeration value="New York Southern Bankruptcy Court"/>
      <xs:enumeration value="New York Western Bankruptcy Court"/>
      <xs:enumeration value="North Carolina Eastern Bankruptcy"/>
      <xs:enumeration value="North Carolina Middle Bankruptcy Court"/>
      <xs:enumeration value="North Carolina Western Bankruptcy Court"/>
      <xs:enumeration value="North Dakota Bankruptcy Court"/>
      <xs:enumeration value="Ohio Northern Bankruptcy Court"/>
      <xs:enumeration value="Ohio Southern Bankruptcy Court"/>
      <xs:enumeration value="Oklahoma Eastern Bankruptcy Court"/>
      <xs:enumeration value="Oklahoma Northern Bankruptcy Court"/>
      <xs:enumeration value="Oklahoma Western Bankruptcy Court"/>
      <xs:enumeration value="Oregon Bankruptcy Court"/>
      <xs:enumeration value="Pennsylvania Eastern Bankruptcy Court"/>
      <xs:enumeration value="Pennsylvania Middle Bankruptcy Court"/>
      <xs:enumeration value="Pennsylvania Western Bankruptcy Court"/>
      <xs:enumeration value="Puerto Rico Bankruptcy Court"/>
      <xs:enumeration value="Rhode Island Bankruptcy Court"/>
      <xs:enumeration value="South Carolina Bankruptcy Court"/>
      <xs:enumeration value="South Dakota Bankruptcy Court"/>
      <xs:enumeration value="Tennessee Eastern Bankruptcy Court"/>
      <xs:enumeration value="Tennessee Middle Bankruptcy Court"/>
      <xs:enumeration value="Tennessee Western Bankruptcy Court"/>
      <xs:enumeration value="Texas Eastern Bankruptcy Court"/>
      <xs:enumeration value="Texas Northern Bankruptcy Court"/>
      <xs:enumeration value="Texas Southern Bankruptcy Court"/>
      <xs:enumeration value="Texas Western Bankruptcy Court"/>
      <xs:enumeration value="US Party Case Index"/>
      <xs:enumeration value="Utah Bankruptcy Court"/>
      <xs:enumeration value="Vermont Bankruptcy Court"/>
      <xs:enumeration value="Virginia Eastern Bankruptcy"/>
      <xs:enumeration value="Virginia Western Bankruptcy Court"/>
      <xs:enumeration value="Washington Eastern Bankruptcy Court"/>
      <xs:enumeration value="Washington Western Bankruptcy Court"/>
      <xs:enumeration value="West Virginia Northern Bankruptcy Court"/>
      <xs:enumeration value="West Virginia Southern Bankruptcy Court"/>
      <xs:enumeration value="Wisconsin Eastern Bankruptcy Court"/>
      <xs:enumeration value="Wisconsin Eastern Bankruptcy Court"/>
      <xs:enumeration value="Wisconsin Western Bankruptcy Court"/>
      <xs:enumeration value="Wyoming Bankruptcy Court"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qbo.Bankruptcy.Status">
    <xs:restriction base="xs:string">
      <xs:enumeration value="AP Order Entered" />
      <xs:enumeration value="APO-Stip. Automatic Default Remedy" />
      <xs:enumeration value="APO-Stip. No Automatic Default Remedy" />
      <xs:enumeration value="Case Dismissed" />
      <xs:enumeration value="Closed" />
      <xs:enumeration value="Hold" />
      <xs:enumeration value="Open" />
      <xs:enumeration value="Stay Relief Denied" />
      <xs:enumeration value="Stay Relief Granted" />
    </xs:restriction>
  </xs:simpleType>

  <!--Simple Types-->
  <xs:simpleType name="qboNvarchar12">
    <xs:annotation>
      <xs:documentation>string with a maximum length of 12</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
      <xs:maxLength value="12" />
      <xs:whiteSpace value="collapse" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qboNvarchar20">
    <xs:annotation>
      <xs:documentation>string with a maximum length of 20</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
      <xs:maxLength value="20" />
      <xs:whiteSpace value="collapse" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qboNvarchar25">
    <xs:annotation>
      <xs:documentation>string with a maximum length of 25</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
      <xs:maxLength value="25" />
      <xs:whiteSpace value="collapse" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qboNvarchar50">
    <xs:annotation>
      <xs:documentation>string with a maximum length of 50</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
      <xs:maxLength value="50" />
      <xs:whiteSpace value="collapse" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qboNvarchar100">
    <xs:annotation>
      <xs:documentation>string with a maximum length of 100</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
      <xs:maxLength value="100" />
      <xs:whiteSpace value="collapse" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qboNvarchar255">
    <xs:annotation>
      <xs:documentation>string with a maximum length of 255</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
      <xs:maxLength value="255" />
      <xs:whiteSpace value="collapse" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qboDateOptionalTime">
    <xs:annotation>
      <xs:documentation>
        Accepts date or dateTime value. Acceptable formats are:
        YYYY-MM-DD
        YYYY-MM-DDTHH:MM:SS
        YYYY-MM-DDTHH:MM:SS+HH:MM
        YYYY-MM-DDTHH:MM:SS-HH:MM
        YYYY-MM-DDTHH:MM:SSZ
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="collapse" />
      <xs:pattern value="[\d]{4}-[\d]{2}-[\d]{2}" />
      <xs:pattern value="[\d]{4}-[\d]{2}-[\d]{2}T{1}[\d]{2}:[\d]{2}" />
      <xs:pattern value="[\d]{4}-[\d]{2}-[\d]{2}T[\d]{2}:[\d]{2}:[\d]{2}Z" />
      <xs:pattern value="[\d]{4}-[\d]{2}-[\d]{2}T[\d]{2}:[\d]{2}:[\d]{2}" />
      <xs:pattern value="[\d]{4}-[\d]{2}-[\d]{2}T[\d]{2}:[\d]{2}:[\d]{2}\+[\d]{2}:[\d]{2}" />
      <xs:pattern value="[\d]{4}-[\d]{2}-[\d]{2}T[\d]{2}:[\d]{2}:[\d]{2}\-[\d]{2}:[\d]{2}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qboDecimal">
    <xs:annotation>
      <xs:documentation>qbo Decimal based on xs:decimal</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:decimal" />
  </xs:simpleType>
  <xs:simpleType name="qbo.USSSN">
    <xs:restriction base="xs:string">
      <xs:maxLength value="11" />
      <xs:whiteSpace value="collapse" />
      <xs:pattern value="[\d]{9}" />
      <xs:pattern value="[\d]{3}-[\d]{2}-[\d]{4}" />
      <xs:pattern value="[\d]{3} [\d]{2} [\d]{4}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qboInt32">
    <xs:annotation>
      <xs:documentation>qbo Integer</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:unsignedInt">
      <xs:maxInclusive value="2147483647" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qbo.PostalCode">
    <xs:restriction base="xs:string">
      <xs:maxLength value="10" />
      <xs:whiteSpace value="collapse" />
      <xs:pattern value="[\d]{5}" />
      <xs:pattern value="[\d]{9}" />
      <xs:pattern value="[\d]{5}-[\d]{4}" />
      <xs:pattern value="[\d]{5} [\d]{4}" />
      <xs:pattern value="[\d]{5}-" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qbo.State">
    <xs:restriction base="xs:string">
      <xs:maxLength value="2" />
      <xs:whiteSpace value="collapse" />
      <xs:pattern value="AL|AK|AR|AS|AZ|CA|CO|CT|DC|DE|FL|FM|GA|GU|HI|IA|ID|IL|IN|KS|KY|LA|MA|MD|ME|MH|MI|MN|MO|MP|MS|MT|NC|ND|NE|NH|NJ|NM|NV|NY|OH|OK|OR|PA|PR|PW|RI|SC|SD|TN|TX|UT|VA|VI|VT|WA|WI|WV|WY|AA|AE|AP|AB|BC|MB|NB|NL|NS|NT|NU|ON|PE|QC|SK|YT|NA|CN" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qbo.SubscriberID">
    <xs:restriction base="xs:string">
      <xs:maxLength value="255" />
      <xs:whiteSpace value="collapse" />
      <xs:pattern value=".+-{1}.+-{1}.+" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qboText">
    <xs:annotation>
      <xs:documentation>qbo Text Field</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qbo.Reference">
    <xs:annotation>
      <xs:documentation>Used as refernce to foreign entity. Length 1 - 50</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
      <xs:maxLength value="50" />
      <xs:whiteSpace value="collapse" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="qbo.Sequence">
    <xs:annotation>
      <xs:documentation>Used to uniquely bind contact under parent. Can can be any integer value but must always be the same value when updating to binding will occur</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:unsignedInt">
      <xs:maxInclusive value="2147483647" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

