<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Carl Zeiss (Carl Zeiss) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2.3">
	<xs:element name="b2bOptic">
		<xs:annotation>
			<xs:documentation>root element of messages in B2B communications by optical industries.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="header" type="Header"/>
				<xs:element name="items">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="item" type="Item" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="experimental" type="xs:anyType" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:simpleType name="MsgTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="ORDER"/>
			<xs:enumeration value="REQUEST"/>
			<xs:enumeration value="CALCULATION"/>
			<xs:enumeration value="VALIDATION"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="BevelPosType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="AUTO"/>
			<xs:enumeration value="FRONT"/>
			<xs:enumeration value="BACK"/>
			<xs:enumeration value="RELATION"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="BevelTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NORMAL"/>
			<xs:enumeration value="FLAT"/>
			<xs:enumeration value="GROOVED"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SoftwareTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="ORIGINATOR"/>
			<xs:enumeration value="VERIFIER"/>
			<xs:enumeration value="SENDER"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="MsgStates">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NEW"/>
			<xs:enumeration value="UPDATE"/>
			<xs:enumeration value="CANCEL"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="MsgSteps">
		<xs:restriction base="xs:string">
			<xs:enumeration value="CREATE"/>
			<xs:enumeration value="TRANSFER"/>
			<xs:enumeration value="RECEIPT"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Roles">
		<xs:restriction base="xs:string">
			<xs:enumeration value="ORIGINATOR"/>
			<xs:enumeration value="SUPPLIER"/>
			<xs:enumeration value="SHIPTO"/>
			<xs:enumeration value="CARRIER"/>
			<xs:enumeration value="INVOICETO"/>
			<xs:enumeration value="PAIDBY"/>
			<xs:enumeration value="MANUFACTURER"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="FrameMaterials">
		<xs:restriction base="xs:string">
			<xs:enumeration value="METAL"/>
			<xs:enumeration value="PLASTIC"/>
			<xs:enumeration value="OPTYL"/>
			<xs:enumeration value="NYLOR"/>
			<xs:enumeration value="DRILLED"/>
			<xs:enumeration value="SPECIAL"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="HeightReferences">
		<xs:restriction base="xs:string">
			<xs:enumeration value="OVERBOX"/>
			<xs:enumeration value="OVERSHAPE"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="OCReferences">
		<xs:restriction base="xs:string">
			<xs:enumeration value="FAR"/>
			<xs:enumeration value="NEAR"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="CoatingTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="COLOR"/>
			<xs:enumeration value="UV"/>
			<xs:enumeration value="ANTIREFLEX"/>
			<xs:enumeration value="HARD"/>
			<xs:enumeration value="CLEAN"/>
			<xs:enumeration value="OTHER"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="EdgingType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NONE"/>
			<xs:enumeration value="ROUGHING"/>
			<xs:enumeration value="ONSHAPE"/>
			<xs:enumeration value="GIVENFRAME"/>
			<xs:enumeration value="ORDEREDFRAME"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="AngleDimension">
		<xs:restriction base="xs:string">
			<xs:enumeration value="DEG"/>
			<xs:enumeration value="RAD"/>
			<xs:enumeration value="MM"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Currencies">
		<xs:restriction base="xs:string">
			<xs:length value="3"/>
			<xs:enumeration value="EUR"/>
			<xs:enumeration value="USD"/>
			<xs:enumeration value="SFR"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Sides">
		<xs:restriction base="xs:string">
			<xs:enumeration value="RIGHT"/>
			<xs:enumeration value="LEFT"/>
			<xs:enumeration value="UNDEFINED"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ThicknessReferences">
		<xs:restriction base="xs:string">
			<xs:enumeration value="REDUCEWITHSHAPE"/>
			<xs:enumeration value="CENTER"/>
			<xs:enumeration value="EDGE"/>
			<xs:enumeration value="DRILLHOLE"/>
			<xs:enumeration value="FORNYLOR"/>
			<xs:enumeration value="THIN"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DeliveryMethods">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="References">
		<xs:restriction base="xs:string">
			<xs:enumeration value="BOXCENTER"/>
			<xs:enumeration value="OPTCENTER"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="TimeStamps">
		<xs:sequence>
			<xs:element name="dateTime">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:dateTime">
							<xs:attribute name="step" type="MsgSteps" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="CurrencyValue">
		<xs:sequence>
			<xs:element name="Value" form="qualified">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:float">
							<xs:attribute name="currency" type="Currencies" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Software">
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="version" type="xs:string"/>
		</xs:sequence>
		<xs:attribute name="typeOf" type="SoftwareTypes" use="required"/>
	</xs:complexType>
	<xs:complexType name="ProductCatalog">
		<xs:sequence>
			<xs:element name="name" type="xs:string">
				<xs:annotation>
					<xs:documentation>i.e. "IPRO STANDARD"
CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="version" type="xs:string">
				<xs:annotation>
					<xs:documentation>i.e. "6.2"
CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="release" type="xs:string">
				<xs:annotation>
					<xs:documentation>when was the catalogue released or a release-version
CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Account">
		<xs:sequence>
			<xs:element name="id">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="memberShipID" type="xs:long" use="optional" default="1">
								<xs:annotation>
									<xs:documentation>CZ: For further use: Specify the membership-id to support different customerid´s for different brands.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="name" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="address" type="Address" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="contact" type="ContactInfo" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Address">
		<xs:sequence>
			<xs:element name="addressLine" type="xs:string" minOccurs="0" maxOccurs="3"/>
			<xs:element name="poBox" type="xs:string" minOccurs="0"/>
			<xs:choice minOccurs="0">
				<xs:element name="province" type="xs:string"/>
				<xs:element name="region" type="xs:string"/>
				<xs:element name="state" type="xs:string"/>
			</xs:choice>
			<xs:element name="city" type="xs:string"/>
			<xs:element name="zip" type="xs:string"/>
			<xs:element name="countryCode" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ContactInfo">
		<xs:sequence>
			<xs:element name="title" type="xs:string" minOccurs="0"/>
			<xs:element name="firstName" type="xs:string" minOccurs="0"/>
			<xs:element name="lastName" type="xs:string"/>
			<xs:element name="phone" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="fax" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="eMail" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Lens">
		<xs:sequence>
			<xs:element name="commercialCode" type="xs:string"/>
			<xs:choice>
				<xs:sequence>
					<xs:element name="rxData">
						<xs:complexType>
							<xs:complexContent>
								<xs:extension base="RXDataType"/>
							</xs:complexContent>
						</xs:complexType>
					</xs:element>
					<xs:element name="coating" minOccurs="0" maxOccurs="unbounded">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="commercialCode" type="xs:string"/>
								<xs:element name="minIntensity" type="xs:integer" minOccurs="0">
									<xs:annotation>
										<xs:documentation>Minimum color intensity for tinting as a percentage
CZ: currently ignored</xs:documentation>
									</xs:annotation>
								</xs:element>
								<xs:element name="maxIntensity" type="xs:integer" minOccurs="0">
									<xs:annotation>
										<xs:documentation>Maximum color intensity for tinting as a percentage
CZ: currently ignored</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
							<xs:attribute name="coatingType" type="CoatingTypes" use="optional"/>
						</xs:complexType>
					</xs:element>
					<xs:element name="centration" type="Centration" minOccurs="0"/>
					<xs:element name="geometry" type="GeometryType"/>
					<xs:element name="options" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:choice minOccurs="0">
									<xs:element name="occlusion" type="xs:boolean"/>
									<xs:element name="frosted" type="xs:boolean">
										<xs:annotation>
											<xs:documentation>mattieren</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:choice>
								<xs:element name="slabOff" minOccurs="0">
									<xs:complexType>
										<xs:simpleContent>
											<xs:extension base="xs:boolean">
												<xs:attribute name="value" use="optional">
													<xs:simpleType>
														<xs:restriction base="xs:float">
															<xs:minInclusive value="1.3"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
											</xs:extension>
										</xs:simpleContent>
									</xs:complexType>
								</xs:element>
								<xs:element name="lenticular" type="xs:boolean" minOccurs="0">
									<xs:annotation>
										<xs:documentation>CZ: currently ignored</xs:documentation>
									</xs:annotation>
								</xs:element>
								<xs:element name="aniseicony" minOccurs="0">
									<xs:annotation>
										<xs:documentation>CZ: currently ignored</xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:simpleContent>
											<xs:extension base="xs:boolean">
												<xs:attribute name="value" type="xs:float" use="optional"/>
											</xs:extension>
										</xs:simpleContent>
									</xs:complexType>
								</xs:element>
								<xs:element name="toric" default="back" minOccurs="0">
									<xs:annotation>
										<xs:documentation>CZ: currently ignored</xs:documentation>
									</xs:annotation>
									<xs:simpleType>
										<xs:restriction base="xs:string">
											<xs:enumeration value="front"/>
											<xs:enumeration value="back"/>
										</xs:restriction>
									</xs:simpleType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="frameFit" minOccurs="0">
						<xs:annotation>
							<xs:documentation>CZ: Size correction for the length of progression zone.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="engraving" minOccurs="0">
						<xs:annotation>
							<xs:documentation>CZ: Individual gravure text, max five characters. Note: Not all characters supported!</xs:documentation>
						</xs:annotation>
						<xs:simpleType>
							<xs:restriction base="xs:string"/>
						</xs:simpleType>
					</xs:element>
				</xs:sequence>
				<xs:sequence>
					<xs:annotation>
						<xs:documentation>for repeated orders
CZ: currently ignored</xs:documentation>
					</xs:annotation>
					<xs:element name="remakeType" type="xs:string"/>
					<xs:element name="originalOrderId" type="xs:string"/>
					<xs:element name="reason" type="xs:string"/>
				</xs:sequence>
			</xs:choice>
			<xs:element name="experimental" type="xs:anyType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="side" type="Sides" use="required"/>
		<xs:attribute name="balancingLens" type="xs:boolean" use="optional" default="0"/>
		<xs:attribute name="virtualLens" type="xs:boolean" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>CZ: currently ignored</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="StockLens">
		<xs:sequence>
			<xs:element name="commercialCode" type="xs:string"/>
			<xs:element name="rxData" type="RXDataType4SL"/>
			<xs:element name="coating" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="commercialCode"/>
						<xs:element name="minIntensity" type="xs:integer" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Minimum color intensity for tinting as a percentage</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="maxIntensity" type="xs:integer" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Maximum color intensity for tinting as a percentage</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="coatingType" type="CoatingTypes" use="optional"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="diameter">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="physical">
							<xs:simpleType>
								<xs:restriction base="xs:integer">
									<xs:minInclusive value="1"/>
									<xs:maxInclusive value="99"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="optical" minOccurs="0">
							<xs:annotation>
								<xs:documentation>only if predecentrated</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:integer">
									<xs:minInclusive value="1"/>
									<xs:maxInclusive value="99"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RXDataType">
		<xs:choice>
			<xs:sequence>
				<xs:element name="sphere">
					<xs:simpleType>
						<xs:restriction base="xs:float">
							<xs:minInclusive value="-50"/>
							<xs:maxInclusive value="50"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="cylinder" type="Cylinder" minOccurs="0"/>
				<xs:element name="addition" minOccurs="0">
					<xs:simpleType>
						<xs:restriction base="xs:float">
							<xs:minInclusive value="0.25"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="prism" minOccurs="0" maxOccurs="2">
					<xs:complexType>
						<xs:complexContent>
							<xs:extension base="Prism">
								<xs:attribute name="pupillary-distance-correction" use="optional">
									<xs:simpleType>
										<xs:restriction base="xs:int">
											<xs:enumeration value="0"/>
											<xs:enumeration value="1"/>
											<xs:enumeration value="2"/>
										</xs:restriction>
									</xs:simpleType>
								</xs:attribute>
							</xs:extension>
						</xs:complexContent>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:element name="trialFrame" type="TrialFrame">
				<xs:annotation>
					<xs:documentation>centration data needed
CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="RXDataType4SL">
		<xs:sequence>
			<xs:element name="sphere">
				<xs:simpleType>
					<xs:restriction base="xs:float">
						<xs:minInclusive value="-50"/>
						<xs:maxInclusive value="50"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="cylinder" type="Cylinder" minOccurs="0"/>
			<xs:element name="addition" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:float">
						<xs:minInclusive value="0.25"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Centration">
		<xs:sequence>
			<xs:element name="monocularCentrationDistance">
				<xs:annotation>
					<xs:documentation>CZ: see @reference annotation</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:float">
							<xs:attribute name="reference" type="OCReferences" use="required">
								<xs:annotation>
									<xs:documentation>CZ: Currently only FAR supported, NEAR will be ignored!</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="height">
				<xs:annotation>
					<xs:documentation>CZ: see @reference annotation</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:float">
							<xs:attribute name="reference" type="OCReferences" use="required">
								<xs:annotation>
									<xs:documentation>FAR -> Y
NEAR -> H</xs:documentation>
								</xs:annotation>
							</xs:attribute>
							<xs:attribute name="referenceHeight" type="HeightReferences" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="backVertexDistance" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:float"/>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Shape">
		<xs:sequence>
			<xs:element name="perimeter" type="xs:float">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="points">
				<xs:complexType>
					<xs:choice>
						<xs:element name="pPoints" type="PPoint" minOccurs="18" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>CZ: In an order (header[@msgType=ORDER]) any number of polar coordinates other than 36 will result in an exception thrown to the client. YOU HAVE BEEN WARNED!</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="cPoints" type="CPoint" minOccurs="18" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>CZ: currently ignored - use polar coordinates instead!</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:choice>
					<xs:attribute name="dimensions" type="xs:integer" use="required"/>
					<xs:attribute name="reference" type="References" use="optional"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="CPoint">
		<xs:sequence>
			<xs:element name="x" type="xs:float">
				<xs:annotation>
					<xs:documentation>mm</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="y" type="xs:float">
				<xs:annotation>
					<xs:documentation>mm</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="z" type="xs:float" minOccurs="0">
				<xs:annotation>
					<xs:documentation>mm</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PPoint">
		<xs:sequence>
			<xs:element name="angle">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:float">
							<xs:attribute name="dimension" type="AngleDimension" use="optional" default="DEG"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="radius" type="xs:float">
				<xs:annotation>
					<xs:documentation>mm</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="z" type="xs:float" minOccurs="0">
				<xs:annotation>
					<xs:documentation>mm
CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Size">
		<xs:sequence>
			<xs:element name="width" type="xs:float"/>
			<xs:element name="height" type="xs:float"/>
			<xs:element name="bridge" type="xs:float"/>
			<xs:element name="templeLength" type="xs:float" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Bevel">
		<xs:sequence>
			<xs:element name="type" type="BevelTypes"/>
			<xs:element name="position" minOccurs="0" maxOccurs="2">
				<xs:annotation>
					<xs:documentation>in case of FRONT, BACK:  [mm] distance to front/back. In case of RELATED: [%] front/back-dist.
 </xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:float">
							<xs:attribute name="posType" type="BevelPosType" use="optional" default="AUTO"/>
							<xs:attribute name="side" type="Sides" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="grooveDepth" type="xs:float" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="grooveWidth" type="xs:float" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Curve">
		<xs:choice>
			<xs:element name="flat" type="xs:boolean"/>
			<xs:element name="moreCurved" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="baseCurve" type="xs:float">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="planoConcave" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="planoConvex" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="biConcave" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="biConvex" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="Header">
		<xs:sequence>
			<xs:element name="cultureId" type="xs:string">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="customersOrderId" type="xs:string">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="distributorsOrderId" type="xs:string">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="timeStamps" type="TimeStamps" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="remark" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: Any comments or remarks are effectively ignored!</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="orderParties" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>CZ: at least one entry with @role ORIGINATOR or INVOICETO should be present, unless present under items/parties; serves as default - if nothing is specified in items branch, these entries are used</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="Account">
							<xs:attribute name="role" type="Roles" use="required"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="software" type="Software" maxOccurs="unbounded"/>
			<xs:element name="productCatalog" type="ProductCatalog"/>
			<xs:element name="portalOrderId" type="xs:string">
				<xs:annotation>
					<xs:documentation>retailer's order id
CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="msgType" type="MsgTypes" use="optional" default="REQUEST"/>
		<xs:attribute name="msgState" type="MsgStates" use="optional" default="NEW"/>
		<xs:attribute name="testIndicator" type="xs:boolean" use="optional" default="0"/>
	</xs:complexType>
	<xs:complexType name="Item">
		<xs:sequence>
			<xs:element name="remark" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: Any comments or remarks are effectively ignored!</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="parties" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>if not given use defaults from header
CZ: selection rules:
@role ORIGINATOR will receive invoice if no @role INVOICETO is present
if no @role SHIPTO is present, the recipient of the invoice will also become recipient of the goods</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="Account">
							<xs:attribute name="role" type="Roles" use="required"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="referenceNo" type="xs:string">
				<xs:annotation>
					<xs:documentation>i.e. buyer's job no.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="referenceText" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>i.e. buyer's commission
CZ: currently ignored - use referenceNo also for textual references (commission)</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="requestedDate" type="xs:date" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="deliveryMethod">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="deliveryType" type="DeliveryMethods" use="optional">
								<xs:annotation>
									<xs:documentation>enumeration of predefined methodes
</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="manufacturer" type="xs:string">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:choice>
				<xs:element name="pair" type="Pair"/>
				<xs:element name="stockLens">
					<xs:annotation>
						<xs:documentation>CZ: currently ignored</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:complexContent>
							<xs:extension base="StockLens">
								<xs:attribute name="quantity" type="xs:integer" use="required"/>
								<xs:attribute name="side" type="Sides" use="required"/>
							</xs:extension>
						</xs:complexContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="semi">
					<xs:annotation>
						<xs:documentation>CZ: currently ignored</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:choice>
			<xs:element name="options" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="insurance" type="xs:integer" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Frame">
		<xs:sequence>
			<xs:element name="material" type="FrameMaterials">
				<xs:annotation>
					<xs:documentation>CZ: currently recognized: METAL, PLASTIC, NYLOR, SPECIAL</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="manufacturer" type="xs:string" minOccurs="0"/>
			<xs:element name="brand" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="model" type="xs:string" minOccurs="0"/>
			<xs:element name="size" type="Size" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Nominal size information as given from frame manufacturer
CZ: currently ignored - use size elements under shape!</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="color" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="commercialCode" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="shape" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:choice>
							<xs:element name="catalog">
								<xs:annotation>
									<xs:documentation>for thicknessreduction
CZ: currently ignored</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="shapeId" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="explicit" type="Shape" maxOccurs="2">
								<xs:annotation>
									<xs:documentation>CZ: If explicit occurs once, data is assumed to belong to the right lens - no matter if there is only a right lens, only a left lens or two lenses in the document. If explicit occurs twice, the first occurence is assumed to belong to the right lens, the second to the left lens respectively - again no matter how many lenses are really contained in the document under pair/lens</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="tracerData">
								<xs:annotation>
									<xs:documentation>neccessary for remoteEdging/Presize</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="tracerBrand" type="xs:string">
											<xs:annotation>
												<xs:documentation>i.e. "Briot","Essilor","Nidek"</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="tracerType">
											<xs:annotation>
												<xs:documentation>i.e. "Scanform Net 2","Phi"
CZ: currently ignored</xs:documentation>
											</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:enumeration value="Hoya 3DFT"/>
													<xs:enumeration value="Hoya GT1000"/>
													<xs:enumeration value="Hoya GT3000"/>
													<xs:enumeration value="Hoya GT3000 OMA"/>
													<xs:enumeration value="Hoya UT1000"/>
													<xs:enumeration value="Essilor Gamma"/>
													<xs:enumeration value="Essilor PHI PCCOM"/>
													<xs:enumeration value="Essilor PHI OMA"/>
													<xs:enumeration value="Essilor Kappa PCCOM"/>
													<xs:enumeration value="Essilor Kappa OMA"/>
													<xs:enumeration value="National Optronics 4T"/>
													<xs:enumeration value="Briot ScanfomNet I"/>
													<xs:enumeration value="Briot ScanfomNet II"/>
													<xs:enumeration value="Weco 3DFT+"/>
													<xs:enumeration value="Weco Trace II"/>
													<xs:enumeration value="Weco Trace III"/>
													<xs:enumeration value="Nidek LT700"/>
													<xs:enumeration value="Nidek LT900"/>
													<xs:enumeration value="Nidek LT1000"/>
													<xs:enumeration value="Indo NDK"/>
													<xs:enumeration value="Indo OMA"/>
													<xs:enumeration value="Topcon FR50"/>
													<xs:enumeration value="Takubomatic FD80"/>
													<xs:enumeration value="Unknown"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="tracerVersion" type="xs:string">
											<xs:annotation>
												<xs:documentation>CZ: currently ignored</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="tracerID" type="xs:string" minOccurs="0">
											<xs:annotation>
												<xs:documentation>CZ: Serial number of the tracer</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="binaries">
											<xs:complexType>
												<xs:simpleContent>
													<xs:extension base="xs:hexBinary">
														<xs:attribute name="format" type="xs:string">
															<xs:annotation>
																<xs:documentation>use common values. i.e. "OMA", "NIDEK", "MO1", "WECO"...</xs:documentation>
															</xs:annotation>
														</xs:attribute>
													</xs:extension>
												</xs:simpleContent>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:choice>
						<xs:element name="adjustion" type="xs:float" minOccurs="0">
							<xs:annotation>
								<xs:documentation>general size adjustion parameter
CZ: Size correction in the Nidek data set.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="boxWidth" type="xs:float" minOccurs="0">
				<xs:annotation>
					<xs:documentation>measured box width for size transformations</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="boxHeight" type="xs:float" minOccurs="0">
				<xs:annotation>
					<xs:documentation>measured box height for size transformations</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="distanceBetweenLenses" type="xs:float" minOccurs="0">
				<xs:annotation>
					<xs:documentation>measured dbl for calculation purposes</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="drillHoles" minOccurs="0" maxOccurs="2">
				<xs:annotation>
					<xs:documentation>SR: old prohibited CZ: If attribute side is UNDEFINED and drillHoles occurs only once the drillhole values are mirrored from right to left side</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="DrillHoles">
							<xs:attribute name="side" type="Sides" use="optional"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="pantoscopicAngle" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:float">
							<xs:attribute name="dimension" type="AngleDimension" use="optional" default="DEG"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="frameBowAngle" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:float">
							<xs:attribute name="dimension" type="AngleDimension" use="optional" default="DEG"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="remark" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: Any comments or remarks are effectively ignored!</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="frameCurve" type="xs:float" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="quantity" type="xs:integer" use="required"/>
	</xs:complexType>
	<xs:complexType name="TrialFrame">
		<xs:sequence>
			<xs:element name="sphere" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:float">
						<xs:minInclusive value="-50"/>
						<xs:maxInclusive value="50"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="cylinder" type="Cylinder" minOccurs="0"/>
			<xs:element name="prism" type="Prism" maxOccurs="2"/>
			<xs:element name="decentration">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="horizontal" type="xs:float"/>
						<xs:element name="vertical" type="xs:float"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="back-vertex-distance" type="xs:float"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Prism">
		<xs:sequence>
			<xs:element name="power" type="xs:float"/>
			<xs:element name="base">
				<xs:simpleType>
					<xs:restriction base="xs:float">
						<xs:minInclusive value="0.0"/>
						<xs:maxInclusive value="360.0"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Cylinder">
		<xs:sequence>
			<xs:element name="power" type="xs:float"/>
			<xs:element name="base">
				<xs:simpleType>
					<xs:restriction base="xs:float">
						<xs:minInclusive value="0.0"/>
						<xs:maxInclusive value="360.0"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DrillHoles">
		<xs:choice>
			<xs:element name="pDrillHole" maxOccurs="4">
				<xs:annotation>
					<xs:documentation>CZ: currently ignored - use cDrillHole instead</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="point" maxOccurs="2">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="angle">
										<xs:complexType>
											<xs:simpleContent>
												<xs:extension base="xs:float"/>
											</xs:simpleContent>
										</xs:complexType>
									</xs:element>
									<xs:element name="radius" type="xs:float">
										<xs:annotation>
											<xs:documentation>mm</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="z" type="xs:float" minOccurs="0">
										<xs:annotation>
											<xs:documentation>mm</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="cDrillHole" maxOccurs="4">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="point" maxOccurs="2">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="x" type="xs:float">
										<xs:annotation>
											<xs:documentation>mm</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="y" type="xs:float">
										<xs:annotation>
											<xs:documentation>mm</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="z" type="xs:float" minOccurs="0">
										<xs:annotation>
											<xs:documentation>mm
CZ: currently ignored</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="Pair">
		<xs:sequence>
			<xs:element name="patient" minOccurs="0">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="Account">
							<xs:sequence minOccurs="0">
								<xs:element name="classification" minOccurs="0" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>CZ: currently ignored</xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:simpleContent>
											<xs:extension base="xs:string">
												<xs:attribute name="typeOfClass" type="xs:string" use="required"/>
											</xs:extension>
										</xs:simpleContent>
									</xs:complexType>
								</xs:element>
								<xs:element name="mailAllowed" type="xs:boolean" minOccurs="0">
									<xs:annotation>
										<xs:documentation>CZ: currently ignored</xs:documentation>
									</xs:annotation>
								</xs:element>
								<xs:element name="dateOfBirth" type="xs:date" minOccurs="0">
									<xs:annotation>
										<xs:documentation>CZ: currently ignored</xs:documentation>
									</xs:annotation>
								</xs:element>
								<xs:element name="interpupillaryDistance" type="xs:float" minOccurs="0">
									<xs:annotation>
										<xs:documentation>CZ: currently ignored</xs:documentation>
									</xs:annotation>
								</xs:element>
								<xs:element name="nearObjectDistance" type="xs:float" minOccurs="0"/>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="lens" maxOccurs="2">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="Lens">
							<xs:attribute name="quantity" type="xs:integer" use="required">
								<xs:annotation>
									<xs:documentation>CZ: any quantity other than 1 will result in an exception thrown to the client! YOU HAVE BEEN WARNED!</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="frame" type="Frame" minOccurs="0"/>
			<xs:element name="edging" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="bevel">
							<xs:complexType>
								<xs:complexContent>
									<xs:extension base="Bevel"/>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
						<xs:element name="polish" type="xs:boolean"/>
						<xs:element name="chamfer" type="xs:integer">
							<xs:annotation>
								<xs:documentation>Bitmap: 0=no, 1=front, 2=back, 4=strong, 
CZ: currently ignored</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="ignoreFlags" type="xs:string" minOccurs="0" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>CZ: currently ignored</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="edgingType" type="EdgingType" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="remark" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: Any comments or remarks are effectively ignored!</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="thicknessMatching" type="xs:integer" use="optional">
			<xs:annotation>
				<xs:documentation>0=UNDEF, 1=MID, 2=EDGE</xs:documentation>
				<xs:documentation>CZ: value 2 currently ignored</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="weightMatching" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>CZ: currently ignored</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="prismMatching" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>CZ: currently ignored</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="baseMatching" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>CZ: currently ignored</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="GeometryType">
		<xs:sequence>
			<xs:element name="diameter">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="physical">
							<xs:annotation>
								<xs:documentation>Physikalischer Durchmesser</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:integer">
									<xs:minInclusive value="1"/>
									<xs:maxInclusive value="99"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="optical" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Optisch wirksamer Durchmesser - nur vorhanden, falls unterschiedlich vom physikalischen Durchmesser (also bei vordezentrierten Glaesern)
CZ: currently ignored</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:integer">
									<xs:minInclusive value="1"/>
									<xs:maxInclusive value="99"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="encoded" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>i.e. for Essilor's "commercial diameter"
CZ: currently ignored</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="decentration" minOccurs="0">
				<xs:complexType>
					<xs:choice>
						<xs:sequence>
							<xs:element name="length">
								<xs:simpleType>
									<xs:restriction base="xs:float">
										<xs:minInclusive value="0.1"/>
										<xs:maxInclusive value="40.0"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="direction">
								<xs:simpleType>
									<xs:restriction base="xs:float">
										<xs:minInclusive value="0.0"/>
										<xs:maxInclusive value="360.0"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
						</xs:sequence>
						<xs:sequence>
							<xs:annotation>
								<xs:documentation>CZ: currently ignored - use length - direction instead!</xs:documentation>
							</xs:annotation>
							<xs:element name="horizontal" type="xs:float"/>
							<xs:element name="vertical" type="xs:float"/>
						</xs:sequence>
					</xs:choice>
					<xs:attribute name="origin" use="optional" default="internal">
						<xs:simpleType>
							<xs:restriction base="xs:string">
								<xs:enumeration value="internal"/>
								<xs:enumeration value="customer"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
			<xs:element name="thickness" minOccurs="0">
				<xs:annotation>
					<xs:documentation>this means "minimum thickness". The real thickness can even be larger.
CZ: minimum center thickness</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:float">
							<xs:attribute name="reference" type="ThicknessReferences" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="thicknessReduction" type="xs:boolean" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CZ: Flag for our Optima</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="curve" type="Curve" minOccurs="0"/>
			<xs:element name="inset" type="xs:float" minOccurs="0">
				<xs:annotation>
					<xs:documentation>for lenses with variable insets
CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="upset" type="xs:float" minOccurs="0">
				<xs:annotation>
					<xs:documentation>for lenses with variable upsets
CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="progressionLength" type="xs:float" minOccurs="0">
				<xs:annotation>
					<xs:documentation>for progressive lenses with variable length of progressionzone
CZ: currently ignored</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
