<?xml version="1.0"?>
<xs:schema xmlns:tns="http://schemas.servicestack.net/types" elementFormDefault="qualified" targetNamespace="http://schemas.servicestack.net/types" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:complexType name="SwaggerResources">
    <xs:sequence>
      <xs:element minOccurs="0" name="apiKey" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SwaggerResources" nillable="true" type="tns:SwaggerResources" />
  <xs:complexType name="SwaggerResourcesResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="apiVersion" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="apis" nillable="true" type="tns:ArrayOfSwaggerResourceRef" />
      <xs:element minOccurs="0" name="basePath" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="info" nillable="true" type="tns:SwaggerInfo" />
      <xs:element minOccurs="0" name="swaggerVersion" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SwaggerResourcesResponse" nillable="true" type="tns:SwaggerResourcesResponse" />
  <xs:complexType name="ArrayOfSwaggerResourceRef">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SwaggerResourceRef" nillable="true" type="tns:SwaggerResourceRef" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSwaggerResourceRef" nillable="true" type="tns:ArrayOfSwaggerResourceRef" />
  <xs:complexType name="SwaggerResourceRef">
    <xs:sequence>
      <xs:element minOccurs="0" name="description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="path" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SwaggerResourceRef" nillable="true" type="tns:SwaggerResourceRef" />
  <xs:complexType name="SwaggerInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="contact" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="license" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="licenseUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="termsOfServiceUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="title" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SwaggerInfo" nillable="true" type="tns:SwaggerInfo" />
  <xs:complexType name="SwaggerApiDeclaration">
    <xs:sequence>
      <xs:element minOccurs="0" name="apiVersion" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="apis" nillable="true" type="tns:ArrayOfSwaggerApi" />
      <xs:element minOccurs="0" name="basePath" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="consumes" nillable="true" xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q1:ArrayOfstring" />
      <xs:element minOccurs="0" name="models" nillable="true" xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q2:ArrayOfKeyValueOfstringSwaggerModelEdXdwojR" />
      <xs:element minOccurs="0" name="produces" nillable="true" xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q3:ArrayOfstring" />
      <xs:element minOccurs="0" name="resourcePath" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="swaggerVersion" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SwaggerApiDeclaration" nillable="true" type="tns:SwaggerApiDeclaration" />
  <xs:complexType name="ArrayOfSwaggerApi">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SwaggerApi" nillable="true" type="tns:SwaggerApi" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSwaggerApi" nillable="true" type="tns:ArrayOfSwaggerApi" />
  <xs:complexType name="SwaggerApi">
    <xs:sequence>
      <xs:element minOccurs="0" name="description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="operations" nillable="true" type="tns:ArrayOfSwaggerOperation" />
      <xs:element minOccurs="0" name="path" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SwaggerApi" nillable="true" type="tns:SwaggerApi" />
  <xs:complexType name="ArrayOfSwaggerOperation">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SwaggerOperation" nillable="true" type="tns:SwaggerOperation" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSwaggerOperation" nillable="true" type="tns:ArrayOfSwaggerOperation" />
  <xs:complexType name="SwaggerOperation">
    <xs:sequence>
      <xs:element minOccurs="0" name="consumes" nillable="true" xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q4:ArrayOfstring" />
      <xs:element minOccurs="0" name="deprecated" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="errorResponses" nillable="true" type="tns:ArrayOfErrorResponseStatus" />
      <xs:element minOccurs="0" name="method" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="nickname" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="notes" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="parameters" nillable="true" type="tns:ArrayOfSwaggerParameter" />
      <xs:element minOccurs="0" name="produces" nillable="true" xmlns:q5="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q5:ArrayOfstring" />
      <xs:element minOccurs="0" name="responseClass" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="responseMessages" nillable="true" type="tns:ArrayOfSwaggerResponseMessage" />
      <xs:element minOccurs="0" name="summary" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SwaggerOperation" nillable="true" type="tns:SwaggerOperation" />
  <xs:complexType name="ArrayOfErrorResponseStatus">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ErrorResponseStatus" nillable="true" type="tns:ErrorResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfErrorResponseStatus" nillable="true" type="tns:ArrayOfErrorResponseStatus" />
  <xs:complexType name="ErrorResponseStatus">
    <xs:sequence>
      <xs:element minOccurs="0" name="code" type="xs:int" />
      <xs:element minOccurs="0" name="reason" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ErrorResponseStatus" nillable="true" type="tns:ErrorResponseStatus" />
  <xs:complexType name="ArrayOfSwaggerParameter">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SwaggerParameter" nillable="true" type="tns:SwaggerParameter" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSwaggerParameter" nillable="true" type="tns:ArrayOfSwaggerParameter" />
  <xs:complexType name="SwaggerParameter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:SwaggerDataTypeFields">
        <xs:sequence>
          <xs:element minOccurs="0" name="allowMultiple" type="xs:boolean" />
          <xs:element minOccurs="0" name="description" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="paramType" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="required" type="xs:boolean" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="SwaggerParameter" nillable="true" type="tns:SwaggerParameter" />
  <xs:complexType name="SwaggerDataTypeFields">
    <xs:sequence>
      <xs:element minOccurs="0" name="defaultValue" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="enum" nillable="true" xmlns:q6="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q6:ArrayOfstring" />
      <xs:element minOccurs="0" name="format" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="items" nillable="true" xmlns:q7="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q7:ArrayOfKeyValueOfstringstring" />
      <xs:element minOccurs="0" name="maximum" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="minimum" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="type" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="uniqueItems" nillable="true" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SwaggerDataTypeFields" nillable="true" type="tns:SwaggerDataTypeFields" />
  <xs:complexType name="ArrayOfSwaggerResponseMessage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SwaggerResponseMessage" nillable="true" type="tns:SwaggerResponseMessage" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSwaggerResponseMessage" nillable="true" type="tns:ArrayOfSwaggerResponseMessage" />
  <xs:complexType name="SwaggerResponseMessage">
    <xs:sequence>
      <xs:element minOccurs="0" name="code" type="xs:int" />
      <xs:element minOccurs="0" name="message" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="responseModel" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SwaggerResponseMessage" nillable="true" type="tns:SwaggerResponseMessage" />
  <xs:complexType name="SwaggerModel">
    <xs:sequence>
      <xs:element minOccurs="0" name="description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="discriminator" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="properties" nillable="true" xmlns:q8="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q8:ArrayOfKeyValueOfstringSwaggerPropertyEdXdwojR" />
      <xs:element minOccurs="0" name="required" nillable="true" xmlns:q9="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q9:ArrayOfstring" />
      <xs:element minOccurs="0" name="subTypes" nillable="true" xmlns:q10="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q10:ArrayOfstring" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SwaggerModel" nillable="true" type="tns:SwaggerModel" />
  <xs:complexType name="SwaggerProperty">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:SwaggerDataTypeFields">
        <xs:sequence>
          <xs:element minOccurs="0" name="description" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="SwaggerProperty" nillable="true" type="tns:SwaggerProperty" />
</xs:schema>