﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://www.vetxml.org/schemas/Catalogue" xmlns="http://www.vetxml.org/schemas/Catalogue" version="1.0" >
  <xs:complexType name="CatalogueItem">
    <xs:all>
      <xs:element name="Title" type="xs:string" minOccurs="1" maxOccurs="1" />
      <xs:element name="Description" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="Notes" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="SupplierCode" type="xs:string" minOccurs="1" maxOccurs="1" />
      <xs:element name="GTIN" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="Equivalents" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Equivalent" minOccurs="1" maxOccurs="unbounded">
              <xs:complexType>
                <xs:all>
                  <xs:element name="Supplier" type="xs:string" minOccurs="1" maxOccurs="1" />
                  <xs:element name="SupplierId" type="xs:string" minOccurs="0" maxOccurs="1" />
                  <xs:element name="ProductCode" type="xs:string" minOccurs="1" maxOccurs="1" />
                </xs:all>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LikeForLikes" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LikeForLike" minOccurs="1" maxOccurs="unbounded">
              <xs:complexType>
                <xs:all>
                  <xs:element name="Supplier" type="xs:string" minOccurs="1" maxOccurs="1" />
                  <xs:element name="SupplierId" type="xs:string" minOccurs="0" maxOccurs="1" />
                  <xs:element name="ProductCode" type="xs:string" minOccurs="1" maxOccurs="1" />
                </xs:all>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Classification" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="SpecialOffer" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:all>
            <xs:element name="Details" type="xs:string" minOccurs="1" maxOccurs="1" />
            <xs:element name="StartDate" type="xs:date" minOccurs="1" maxOccurs="1" />
            <xs:element name="EndDate" type="xs:date" minOccurs="1" maxOccurs="1" />
          </xs:all>
        </xs:complexType>
      </xs:element>
      <xs:element name="PackDetails" minOccurs="1" maxOccurs="1">
        <xs:complexType>
          <xs:all>
            <xs:element name="PackSize" type="xs:string" minOccurs="1" maxOccurs="1" />
            <xs:element name="UnitsPerPack" type="xs:integer" minOccurs="0" maxOccurs="1" />
          </xs:all>
        </xs:complexType>
      </xs:element>
      <xs:element name="CostNet" type="xs:decimal" minOccurs="1" maxOccurs="1" />
      <xs:element name="VatCode" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>
            S – Standard Rate
            R – Reduced Rate
            Z – Zero Rate
            E - Exempt
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="S" />
            <xs:enumeration value="R"/>
            <xs:enumeration value="Z"/>
            <xs:enumeration value="E"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="CostGross" type="xs:decimal" minOccurs="1" maxOccurs="1" />
      <xs:element name="ImageLink" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="DataSheetLink" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="Discountable" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="Weight" type="xs:string" minOccurs="0" maxOccurs="1" />
    </xs:all>
  </xs:complexType>
</xs:schema>