<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="7.01.00">
	<xs:element name="b2bOpticLensCatalog">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="header" type="B2BCatalogHeader"/>
				<xs:element name="countryGroups" type="B2BCatalogCountryGroups"/>
				<xs:element name="lenses" type="B2BCatalogLenses"/>
				<xs:element name="lensGroupNames" type="B2BCatalogLensGroups" minOccurs="0"/>
				<xs:element name="lensMaterialProperties" type="B2BCatalogLensMaterialProperties"/>
				<xs:element name="lensFocalGroups" type="B2BCatalogLensFocalGroups"/>
				<xs:element name="lensRanges" type="B2BCatalogLensRanges" minOccurs="0"/>
				<xs:element name="lensGeos" type="B2BCatalogLensGeos" minOccurs="0"/>
				<xs:element name="lensBaseCurves" type="B2BCatalogLensBaseCurves" minOccurs="0"/>
				<xs:element name="lensPriceGroups" type="B2BCatalogLensPriceGroups" minOccurs="0"/>
				<xs:element name="options" type="B2BCatalogOptions" minOccurs="0"/>
				<xs:element name="optionGroupNames" type="B2BCatalogOptionGroups" minOccurs="0"/>
				<xs:element name="optionPriceGroups" type="B2BCatalogOptionPriceGroups" minOccurs="0"/>
				<xs:element name="combinationNodes" type="B2BCatalogCombinationNodes" minOccurs="0"/>
				<xs:element name="combinationTrees" type="B2BCatalogCombinationTrees" minOccurs="0"/>
				<xs:element name="orderOptionGlobalRules" type="B2BCatalogOrderOptionRuleIds" minOccurs="0"/>
				<xs:element name="orderOptionGroups" type="B2BCatalogOrderOptionGroups" minOccurs="0"/>
				<xs:element name="orderOptionRules" type="B2BCatalogOrderOptionRules" minOccurs="0"/>
				<xs:element name="orderOptionRanges" type="B2BCatalogOrderOptionRanges" minOccurs="0"/>
				<xs:element name="orderOptionNames" type="B2BCatalogOrderOptionNames" minOccurs="0"/>
				<xs:element name="informations" type="B2BCatalogInformations" minOccurs="0"/>
				<xs:element name="internal" type="xs:anyType" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:simpleType name="B2BCatalogAntireflexTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NONE"/>
			<xs:enumeration value="SINGLE"/>
			<xs:enumeration value="MULTIPLE"/>
			<xs:enumeration value="SUPER"/>
			<xs:enumeration value="BACK"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogBoolWithSameAsLens">
		<xs:restriction base="xs:string">
			<xs:enumeration value="FALSE"/>
			<xs:enumeration value="TRUE"/>
			<xs:enumeration value="SAME_AS_LENS"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogBrands">
		<xs:restriction base="xs:string">
			<xs:enumeration value="STANDARD"/>
			<xs:enumeration value="BRAND"/>
			<xs:enumeration value="ECO"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogCleanTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NONE"/>
			<xs:enumeration value="NORMAL"/>
			<xs:enumeration value="SUPER"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogCode">
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z0-9]{1,20}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogColorAbsorptionValues">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="100"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogColorTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="FILTER"/>
			<xs:enumeration value="COLOR"/>
			<xs:enumeration value="GRADIENT_SINGLE"/>
			<xs:enumeration value="GRADIENT_DOUBLE"/>
			<xs:enumeration value="GRADIENT_TRIPLE"/>
			<xs:enumeration value="INDIVIDUAL_FILTER"/>
			<xs:enumeration value="INDIVIDUAL_COLOR"/>
			<xs:enumeration value="INDIVIDUAL_GRADIENT_SINGLE"/>
			<xs:enumeration value="INDIVIDUAL_GRADIENT_DOUBLE"/>
			<xs:enumeration value="INDIVIDUAL_GRADIENT_TRIPLE"/>
			<xs:enumeration value="SAMPLE_COLOR"/>
			<xs:enumeration value="SAMPLE_GRADIENT"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogContactTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="ORDER"/>
			<xs:enumeration value="MARKETING"/>
			<xs:enumeration value="TRAINING"/>
			<xs:enumeration value="INSTRUMENTS"/>
			<xs:enumeration value="FITTING"/>
			<xs:enumeration value="LOGISTICS"/>
			<xs:enumeration value="TECHNICALSUPPORT"/>
			<xs:enumeration value="ACCOUNTING"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogCountryCode">
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z]{2}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogCurrencyCode">
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z]{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogDerivedFromLens">
		<xs:restriction base="xs:string">
			<xs:enumeration value="SAME_AS_LENS"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogDptValue">
		<xs:restriction base="xs:decimal">
			<xs:fractionDigits value="3"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogDptValueAbs">
		<xs:restriction base="xs:decimal">
			<xs:fractionDigits value="3"/>
			<xs:minInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogFilterCategories">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="4"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogFocalTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="SINGLEVISION"/>
			<xs:enumeration value="BIFOCALS"/>
			<xs:enumeration value="TRIFOCALS"/>
			<xs:enumeration value="PROGRESSIVE"/>
			<xs:enumeration value="OFFICE"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogGazeDirections">
		<xs:restriction base="xs:string">
			<xs:enumeration value="MAIN"/>
			<xs:enumeration value="ZERO"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogHardTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NONE"/>
			<xs:enumeration value="NORMAL"/>
			<xs:enumeration value="SUPER"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogInformationTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="TECHNICAL"/>
			<xs:enumeration value="MARKETING"/>
			<xs:enumeration value="ORDER"/>
			<xs:enumeration value="DELIVERY"/>
			<xs:enumeration value="DELIVERYRANGE"/>
			<xs:enumeration value="MEDICALLAW"/>
			<xs:enumeration value="PRODUCTPICTURE"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogLanguageCode">
		<xs:restriction base="xs:string">
			<xs:pattern value="[a-z]{2}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogMaterials">
		<xs:restriction base="xs:string">
			<xs:enumeration value="GLASS"/>
			<xs:enumeration value="PLASTIC"/>
			<xs:enumeration value="POLYCARBONATE"/>
			<xs:enumeration value="TRIVEX"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogMaxMeridianTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="FAR"/>
			<xs:enumeration value="NEAR"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogNameDefault">
		<xs:restriction base="xs:string">
			<xs:pattern value=".{1,50}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogNameShort">
		<xs:restriction base="xs:string">
			<xs:pattern value=".{1,15}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogNearPortionTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="CURVED"/>
			<xs:enumeration value="STRAIGHT"/>
			<xs:enumeration value="PANTO"/>
			<xs:enumeration value="ROUND"/>
			<xs:enumeration value="EXECUTIVE"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogOldCodeActions">
		<xs:restriction base="xs:string">
			<xs:enumeration value="REPLACE"/>
			<xs:enumeration value="SUGGESTION"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogOrderOptions">
		<xs:restriction base="xs:string">
			<xs:enumeration value="BACK_VERTEX_DISTANCE"/>
			<xs:enumeration value="BACK_VERTEX_DISTANCE_REFRACTION"/>
			<xs:enumeration value="INTERPUPILLARY_DISTANCE"/>
			<xs:enumeration value="MONOCUOLAR_CENTRATION_DISTANCE_FAR"/>
			<xs:enumeration value="MONOCUOLAR_CENTRATION_DISTANCE_NEAR"/>
			<xs:enumeration value="REFRACTION_FAR"/>
			<xs:enumeration value="REFRACTION_NEAR"/>
			<xs:enumeration value="PANTOSCOPIC_ANGLE_DEG"/>
			<xs:enumeration value="PANTOSCOPIC_ANGLE_MM"/>
			<xs:enumeration value="FRAME_WRAP_ANGLE"/>
			<xs:enumeration value="BASE_CURVE"/>
			<xs:enumeration value="BASE_CURVE_FLAT"/>
			<xs:enumeration value="BASE_CURVE_MORE_CURVED"/>
			<xs:enumeration value="BASE_CURVE_DEMO_LENS"/>
			<xs:enumeration value="BOX_WIDTH"/>
			<xs:enumeration value="BOX_HEIGHT"/>
			<xs:enumeration value="DISTANCE_BETWEEN_LENSES"/>
			<xs:enumeration value="FITTING_HEIGHT"/>
			<xs:enumeration value="INSET"/>
			<xs:enumeration value="HEAD_TILT"/>
			<xs:enumeration value="HEAD_TILT_MAGNITUDE"/>
			<xs:enumeration value="HEAD_CAPE"/>
			<xs:enumeration value="EYE_ROTATION_CENTER_DISTANCE_FRAME"/>
			<xs:enumeration value="EYE_ROTATION_CENTER_DISTANCE_CORNEA"/>
			<xs:enumeration value="FIRST_NAME"/>
			<xs:enumeration value="LAST_NAME"/>
			<xs:enumeration value="APPLIANCE_WEIGHT"/>
			<xs:enumeration value="APPLIANCE_WEIGHT_FAR_PERCENT"/>
			<xs:enumeration value="APPLIANCE_WEIGHT_MIDDLE_PERCENT"/>
			<xs:enumeration value="APPLIANCE_WEIGHT_NEAR_PERCENT"/>
			<xs:enumeration value="DOMINANT_EYE"/>
			<xs:enumeration value="PROGRESSION_LENGTH"/>
			<xs:enumeration value="PROGRESSION_LENGTH_FRAMEFIT"/>
			<xs:enumeration value="PROGRESSION_LENGTH_CCODE"/>
			<xs:enumeration value="PROGRESSION_FAR_VISION_SHIFT_DISTANCE"/>
			<xs:enumeration value="PROGRESSION_MIDDLE_VISION_SHIFT_DISTANCE"/>
			<xs:enumeration value="PROGRESSION_NEAR_VISION_SHIFT_DISTANCE"/>
			<xs:enumeration value="HEAD_EYEMOVER_QUOTIENT"/>
			<xs:enumeration value="STABILITY_COEFFICIENT"/>
			<xs:enumeration value="ADDITION_REFRACTION_METHOD"/>
			<xs:enumeration value="SHAPE_EXPLICIT"/>
			<xs:enumeration value="SHAPE_TRACERDATA"/>
			<xs:enumeration value="SHAPE_SHAPEID_CATALOG"/>
			<xs:enumeration value="THICKNESS_EDGE"/>
			<xs:enumeration value="THICKNESS_CENTER"/>
			<xs:enumeration value="THICKNESS_DRILLHOLE"/>
			<xs:enumeration value="DESIGNTYPE"/>
			<xs:enumeration value="BRANDING"/>
			<xs:enumeration value="BRANDING_POSITION_POLAR"/>
			<xs:enumeration value="BRANDING_POSITION_CARTESIAN"/>
			<xs:enumeration value="ENGRAVING_TEXT"/>
			<xs:enumeration value="REFRACTION_DISTANCE_NEAR"/>
			<xs:enumeration value="DECENTRATION_HORIZONTAL"/>
			<xs:enumeration value="PROGRESSION_ZONE_CALCULATION_TYPE"/>
			<xs:enumeration value="OBJECT_DISTANCE_NEAR"/>
			<xs:enumeration value="OBJECT_DISTANCE_MIDDLE"/>
			<xs:enumeration value="OBJECT_DISTANCE_FAR"/>
			<xs:enumeration value="WAVEFRONTOPTIMISATION"/>
			<xs:enumeration value="HANDEDNESS"/>
			<xs:enumeration value="THINNINGPRISM_AUTO"/>
			<xs:enumeration value="THINNINGPRISM_VALUE"/>
			<xs:enumeration value="COLOR_NAME"/>
			<xs:enumeration value="REMARK"/>
			<xs:enumeration value="PUPIL_DIAMETER"/>
			<xs:enumeration value="ILLUMINANCE"/>
			<xs:enumeration value="NEAR_VISION_BEHAVIOUR"/>
			<xs:enumeration value="BODYHEIGHT"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogOrderOptionTypePrios">
		<xs:restriction base="xs:string">
			<xs:enumeration value="MANDATORY"/>
			<xs:enumeration value="OPTIONAL"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogOrderSendTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="MANDATORY"/>
			<xs:enumeration value="OPTIONAL"/>
			<xs:enumeration value="NOT_ALLOWED"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogPercentDecimal">
		<xs:restriction base="xs:decimal">
			<xs:maxInclusive value="100"/>
			<xs:minInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogPercentShort">
		<xs:restriction base="xs:unsignedByte">
			<xs:maxInclusive value="100"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogPriceTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="PURCHASEPRICE"/>
			<xs:enumeration value="RECOM_SELLINGPRICE"/>
			<xs:enumeration value="RECOM_SELLINGPRICE_WITH_INSURANCE"/>
			<xs:enumeration value="RECOM_SELLINGPRICE_LEVEL1"/>
			<xs:enumeration value="RECOM_SELLINGPRICE_LEVEL2"/>
			<xs:enumeration value="BONUS_PURCHASEPRICE"/>
			<xs:enumeration value="CALC_SELLINGPRICE"/>
			<xs:enumeration value="CALC_SELLINGPRICE_MATERIAL"/>
			<xs:enumeration value="CALC_SELLINGPRICE_MANUALPROCESSING"/>
			<xs:enumeration value="CALC_SELLINGPRICE_LEVEL1"/>
			<xs:enumeration value="CALC_SELLINGPRICE_LEVEL2"/>
			<xs:enumeration value="OTHER_PURCHASEPRICE"/>
			<xs:enumeration value="OTHER_SELLINGPRICE"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogPrintPriceListFormats">
		<xs:restriction base="xs:string">
			<xs:enumeration value="PDF"/>
			<xs:enumeration value="XFDF"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogRefractionStep">
		<xs:restriction base="xs:decimal">
			<xs:enumeration value="1.0"/>
			<xs:enumeration value="0.5"/>
			<xs:enumeration value="0.25"/>
			<xs:enumeration value="0.125"/>
			<xs:enumeration value="0.01"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogRemoteEdgingTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NONE"/>
			<xs:enumeration value="ONSHAPE"/>
			<xs:enumeration value="GIVENFRAME"/>
			<xs:enumeration value="ORDEREDFRAME"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogSingleLensOrder">
		<xs:restriction base="xs:string">
			<xs:enumeration value="YES"/>
			<xs:enumeration value="NO"/>
			<xs:enumeration value="VIRTUALLENS"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogSoftwareTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="EDITOR"/>
			<xs:enumeration value="CALCULATOR"/>
			<xs:enumeration value="CONVERTER"/>
			<xs:enumeration value="MODIFIER"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogSpecialDiameterTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NO"/>
			<xs:enumeration value="SPECIALDIAMETERSTEP"/>
			<xs:enumeration value="OPTIMIZED_SHAPE"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogSpecialDiameterIncl">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NO"/>
			<xs:enumeration value="YES"/>
			<xs:enumeration value="ONLY_SMALLER_FOR_PLUSLENSES"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogSpecialShapeTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NO"/>
			<xs:enumeration value="ROUND"/>
			<xs:enumeration value="ELLIPTIC"/>
			<xs:enumeration value="TRUNCATED"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogSpecialThicknessTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NO"/>
			<xs:enumeration value="DEVIATING_THICKNESS"/>
			<xs:enumeration value="THICKNESSREDUCTIONSYSTEM"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogSupplierCode">
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z+]{2,3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogSubSupplierCode">
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Za-z0-9]{1,10}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogThicknessReductionTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NONE"/>
			<xs:enumeration value="REDUCEWITHSHAPE"/>
			<xs:enumeration value="REDUCEWITHSHAPETOROUND"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogTopologies">
		<xs:restriction base="xs:string">
			<xs:enumeration value="SPHERICAL"/>
			<xs:enumeration value="ASPHERIC"/>
			<xs:enumeration value="BIASPHERIC"/>
			<xs:enumeration value="FREEFORM"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="B2BCatalogTrafficRestrictionTypes">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NONE"/>
			<xs:enumeration value="NOT_FOR_TRAFFIC"/>
			<xs:enumeration value="NOT_FOR_NIGHT_DRIVING"/>
			<xs:enumeration value="DEPENDS_ON_THICKNESS_AND_COATING"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="B2BCatalogAdditionRange">
		<xs:sequence>
			<xs:element name="from" type="B2BCatalogDptValue"/>
			<xs:element name="to" type="B2BCatalogDptValue"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogAddress">
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="addressLines" type="B2BCatalogAddressLines" minOccurs="0"/>
			<xs:choice>
				<xs:element name="street" type="xs:string"/>
				<xs:element name="poBox" type="xs:string"/>
			</xs:choice>
			<xs:element name="zip" type="xs:string"/>
			<xs:element name="city" type="xs:string"/>
			<xs:element name="country" type="B2BCatalogCountryCode"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogAddressLines">
		<xs:sequence>
			<xs:element name="addressLine" type="xs:string" maxOccurs="3"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogBalacingLens">
		<xs:simpleContent>
			<xs:extension base="xs:boolean">
				<xs:attribute name="lensConditions" type="B2BCatalogPercentShort" default="100"/>
				<xs:attribute name="optionsConditions" type="B2BCatalogPercentShort" default="100"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="B2BCatalogBaseCurveIds">
		<xs:sequence>
			<xs:element name="baseCurveId" type="xs:unsignedInt" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogBaseCurveMatchings">
		<xs:sequence>
			<xs:element name="matching" type="B2BCatalogPowerRange" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogBottomTopOptional">
		<xs:sequence>
			<xs:element name="bottom" type="xs:decimal"/>
			<xs:element name="top" type="xs:decimal" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCoatingTypes">
		<xs:sequence>
			<xs:element name="antireflex" type="B2BCatalogAntireflexTypes" default="NONE" minOccurs="0"/>
			<xs:element name="color" type="B2BCatalogColor" minOccurs="0"/>
			<xs:element name="photocromic" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="hard" type="B2BCatalogHardTypes" default="NONE" minOccurs="0"/>
			<xs:element name="clean" type="B2BCatalogCleanTypes" default="NONE" minOccurs="0"/>
			<xs:element name="uvAbsorbing" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="blueLightAbsorbing" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="mirrored" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="polarised" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="contrastEnhancing" type="xs:boolean" default="false" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogColor">
		<xs:sequence>
			<xs:element name="type" type="B2BCatalogColorTypes"/>
			<xs:choice minOccurs="0">
				<xs:sequence>
					<xs:element name="center" type="B2BCatalogColorCharact"/>
				</xs:sequence>
				<xs:sequence>
					<xs:element name="top" type="B2BCatalogColorCharact"/>
					<xs:element name="bottom" type="B2BCatalogColorCharact"/>
				</xs:sequence>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogColorAbsorption">
		<xs:choice>
			<xs:sequence>
				<xs:element name="min" type="B2BCatalogColorAbsorptionValues"/>
				<xs:element name="max" type="B2BCatalogColorAbsorptionValues"/>
				<xs:element name="step" type="B2BCatalogColorAbsorptionValues"/>
			</xs:sequence>
			<xs:element name="value" type="B2BCatalogColorAbsorptionValues"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="B2BCatalogColorCharact">
		<xs:sequence>
			<xs:element name="absorption" type="B2BCatalogColorAbsorption"/>
			<xs:element name="rgb" type="B2BCatalogColorRgb" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogColorRgb">
		<xs:sequence>
			<xs:element name="red" type="xs:unsignedByte"/>
			<xs:element name="green" type="xs:unsignedByte"/>
			<xs:element name="blue" type="xs:unsignedByte"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCombinationNode">
		<xs:sequence>
			<xs:element name="optionCodes">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogOptionCodes">
							<xs:attribute name="minSelection" type="xs:unsignedInt" use="required"/>
							<xs:attribute name="maxSelection" type="xs:unsignedInt"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="childIds" type="B2BCatalogCombinationNodeChildIds" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCombinationNodes">
		<xs:sequence>
			<xs:element name="combinationNode" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogCombinationNode">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
							<xs:attribute name="internalDescription" type="xs:string"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCombinationNodeChildIds">
		<xs:sequence>
			<xs:element name="childId" type="xs:unsignedInt" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCombinationNodeIds">
		<xs:sequence>
			<xs:element name="combinationNodeId" type="xs:unsignedInt" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCombinationTree">
		<xs:sequence>
			<xs:element name="valid" type="B2BCatalogDatePeriod" minOccurs="0"/>
			<xs:element name="combinationNodeIds" type="B2BCatalogCombinationNodeIds"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCombinationTrees">
		<xs:sequence>
			<xs:element name="combinationTree" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogCombinationTree">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
							<xs:attribute name="internalDescription" type="xs:string"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCombinationTreeIds">
		<xs:sequence>
			<xs:element name="combinationTreeId" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:unsignedInt">
							<xs:attribute name="prio" type="xs:unsignedInt" default="1"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogContactInfo">
		<xs:sequence>
			<xs:element name="typeOfs" type="B2BCatalogTypeOfs"/>
			<xs:element name="designations" type="B2BCatalogDesignations" minOccurs="0"/>
			<xs:element name="matching" type="B2BCatalogContactInfoMatching"/>
			<xs:element name="address" type="B2BCatalogAddress" minOccurs="0"/>
			<xs:element name="phoneNumbers" type="B2BCatalogPhoneNumbers" minOccurs="0"/>
			<xs:element name="faxNumbers" type="B2BCatalogFaxNumbers" minOccurs="0"/>
			<xs:element name="eMails" type="B2BCatalogEMails" minOccurs="0"/>
			<xs:element name="websites" type="B2BCatalogWebsites" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogContactInfos">
		<xs:sequence>
			<xs:element name="contactInfo" type="B2BCatalogContactInfo" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogContactInfoMatching">
		<xs:sequence>
			<xs:element name="countryGroupIds" type="B2BCatalogCountryGroupIds"/>
			<xs:element name="languages" type="B2BCatalogLanguages" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCountries">
		<xs:sequence>
			<xs:element name="country" type="B2BCatalogCountryCode" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCountryGroup">
		<xs:sequence>
			<xs:element name="countries" type="B2BCatalogCountries"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
		<xs:attribute name="internalDescription" type="xs:string"/>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCountryGroups">
		<xs:sequence>
			<xs:element name="countryGroup" type="B2BCatalogCountryGroup" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCountryGroupIds">
		<xs:sequence>
			<xs:element name="countryGroupId" type="xs:unsignedInt" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCustomerInfos">
		<xs:sequence>
			<xs:element name="customerInfo" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="language" type="B2BCatalogLanguageCode" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCylinderAbs">
		<xs:sequence>
			<xs:element name="from" type="B2BCatalogDptValueAbs"/>
			<xs:element name="to" type="B2BCatalogDptValueAbs"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCylinderPartRange">
		<xs:sequence>
			<xs:element name="from" type="B2BCatalogPercentShort"/>
			<xs:element name="to" type="B2BCatalogPercentShort"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogCylinderRange">
		<xs:sequence>
			<xs:element name="from" type="B2BCatalogDptValue"/>
			<xs:element name="to" type="B2BCatalogDptValue"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogDatePeriod">
		<xs:choice>
			<xs:sequence>
				<xs:element name="start" type="xs:date"/>
				<xs:element name="end" type="xs:date" minOccurs="0"/>
			</xs:sequence>
			<xs:element name="end" type="xs:date"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="B2BCatalogDatePeriodFixedFrom">
		<xs:sequence>
			<xs:element name="start" type="xs:date"/>
			<xs:element name="end" type="xs:date" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogDescriptions">
		<xs:sequence>
			<xs:element name="description" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="B2BCatalogNameDefault">
							<xs:attribute name="language" type="B2BCatalogLanguageCode" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogDesignations">
		<xs:sequence>
			<xs:element name="designation" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="B2BCatalogNameDefault">
							<xs:attribute name="language" type="B2BCatalogLanguageCode" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogDiameter">
		<xs:sequence>
			<xs:element name="physical" type="xs:unsignedByte"/>
			<xs:element name="optical" type="xs:unsignedByte" minOccurs="0"/>
			<xs:element name="elliptic" type="xs:boolean" default="false" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogDiameterSimple">
		<xs:sequence>
			<xs:element name="physical" type="xs:unsignedByte"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogDiameterSteps" mixed="false">
		<xs:complexContent>
			<xs:extension base="B2BCatalogDiameterSimple">
				<xs:sequence>
					<xs:element name="catalogStep" type="xs:unsignedByte"/>
					<xs:element name="specialDiameterStep" type="xs:unsignedByte" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="B2BCatalogDistanceRange">
		<xs:sequence>
			<xs:element name="min" type="xs:decimal"/>
			<xs:element name="max" type="xs:decimal"/>
			<xs:element name="step" type="xs:decimal"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogDistanceRangeDecentration">
		<xs:sequence>
			<xs:element name="min" type="xs:decimal"/>
			<xs:element name="max" type="xs:decimal"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogEMails">
		<xs:sequence>
			<xs:element name="eMail" type="xs:string" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogEqualPropertyVariants">
		<xs:sequence>
			<xs:element name="equalPropertyVariant" type="B2BCatalogVariant" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="basicLensAvailable" type="xs:boolean" default="true"/>
	</xs:complexType>
	<xs:complexType name="B2BCatalogFaxNumbers">
		<xs:sequence>
			<xs:element name="faxNumber" type="xs:string" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogFeatures">
		<xs:sequence>
			<xs:element name="remoteEdging" type="B2BCatalogRemoteEdgingTypes" default="NONE" minOccurs="0"/>
			<xs:element name="specialDiameter" type="B2BCatalogSpecialDiameterIncl" default="NO" minOccurs="0"/>
			<xs:element name="specialCurve" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="specialAddition" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="outsideRange" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="decentration" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="slabOff" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="frosted" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="removeCoating" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="wavefrontoptimization" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="branding" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="biLenses" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="frontToric" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="insurance" default="false" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:boolean">
							<xs:attribute name="duration" type="xs:duration"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogGeoBifocal">
		<xs:sequence>
			<xs:element name="bgcToPrp" type="B2BCatalogInUp"/>
			<xs:element name="prpToLrp" type="B2BCatalogInUp"/>
			<xs:element name="prpToNrp" type="B2BCatalogInUp"/>
			<xs:element name="prpToMe" type="B2BCatalogInUp" minOccurs="0"/>
			<xs:element name="nearPortion" type="B2BCatalogNearPortion"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogGeoFitting">
		<xs:sequence>
			<xs:element name="minimum" type="B2BCatalogBottomTopOptional"/>
			<xs:element name="recommended" type="B2BCatalogBottomTopOptional" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogGeoProgressive">
		<xs:sequence>
			<xs:element name="bgcToPrp" type="B2BCatalogInUp"/>
			<xs:element name="prpToLrp" type="B2BCatalogInUpRange"/>
			<xs:element name="prpToDrp" type="B2BCatalogInUpRange" minOccurs="0"/>
			<xs:element name="prpToNrp" type="B2BCatalogInUpRange"/>
			<xs:element name="prpToMe" type="B2BCatalogInUp" minOccurs="0"/>
			<xs:element name="diameterDrc" type="xs:decimal" minOccurs="0"/>
			<xs:element name="diameterNrc" type="xs:decimal"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogGeoSingleVision">
		<xs:sequence>
			<xs:element name="bgcToPrp" type="B2BCatalogInUp"/>
			<xs:element name="prpToLrp" type="B2BCatalogInUpRange" minOccurs="0"/>
			<xs:element name="prpToDrp" type="B2BCatalogInUpRange" minOccurs="0"/>
			<xs:element name="prpToMe" type="B2BCatalogInUp" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogGeoTrifocal">
		<xs:sequence>
			<xs:element name="bgcToPrp" type="B2BCatalogInUp"/>
			<xs:element name="prpToLrp" type="B2BCatalogInUp"/>
			<xs:element name="prpToNrp" type="B2BCatalogInUp"/>
			<xs:element name="prpToMe" type="B2BCatalogInUp" minOccurs="0"/>
			<xs:element name="nearPortion" type="B2BCatalogNearPortion"/>
			<xs:element name="intermediatePortion" type="B2BCatalogHeight"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogGroupIds">
		<xs:sequence>
			<xs:element name="groupId" type="xs:unsignedInt" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogHeader">
		<xs:sequence>
			<xs:element name="uniqueIdGenerator" type="xs:string"/>
			<xs:element name="filename" type="xs:string"/>
			<xs:element name="supplier" type="B2BCatalogSupplier"/>
			<xs:element name="subSupplier" type="B2BCatalogSubSupplier" minOccurs="0"/>
			<xs:element name="validCountries" type="B2BCatalogCountries"/>
			<xs:element name="valid" type="B2BCatalogDatePeriodFixedFrom"/>
			<xs:element name="software" type="B2BCatalogSoftware" maxOccurs="unbounded"/>
			<xs:element name="customerInfos" type="B2BCatalogCustomerInfos" minOccurs="0"/>
			<xs:element name="priceDefinitionPlusCylinder" type="xs:boolean"/>
			<xs:element name="pricefields" type="B2BCatalogPriceFields" minOccurs="0"/>
			<xs:element name="printpricelists" type="B2BCatalogPrintPriceLists" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogHeight">
		<xs:sequence>
			<xs:element name="height" type="xs:decimal"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogIncludedFeatures">
		<xs:complexContent>
			<xs:extension base="B2BCatalogFeatures">
				<xs:sequence>
					<xs:element name="thicknessreduction" type="B2BCatalogThicknessReductionTypes" default="NONE" minOccurs="0"/>
					<xs:element name="specialThickness" type="xs:boolean" default="false" minOccurs="0"/>
					<xs:element name="prism" type="xs:boolean" default="false" minOccurs="0"/>
					<xs:element name="warranty" default="false" minOccurs="0">
						<xs:complexType>
							<xs:simpleContent>
								<xs:extension base="xs:boolean">
									<xs:attribute name="duration" type="xs:duration"/>
								</xs:extension>
							</xs:simpleContent>
						</xs:complexType>
					</xs:element>
					<xs:element name="travellerService" default="false" minOccurs="0">
						<xs:complexType>
							<xs:simpleContent>
								<xs:extension base="xs:boolean">
									<xs:attribute name="duration" type="xs:duration"/>
								</xs:extension>
							</xs:simpleContent>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="B2BCatalogInformation">
		<xs:sequence>
			<xs:choice>
				<xs:element name="text">
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:string">
								<xs:attribute name="type" type="B2BCatalogInformationTypes" use="required"/>
								<xs:attribute name="important" type="xs:boolean" default="false"/>
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="file">
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:string">
								<xs:attribute name="type" type="B2BCatalogInformationTypes" use="required"/>
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="website">
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:string">
								<xs:attribute name="type" type="B2BCatalogInformationTypes" use="required"/>
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="internal">
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:anySimpleType">
								<xs:attribute name="type" type="xs:anySimpleType" use="required"/>
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogInformations">
		<xs:sequence>
			<xs:element name="information" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogInformation">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogInformationIds">
		<xs:sequence>
			<xs:element name="informationId" type="xs:unsignedInt" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogInUp">
		<xs:sequence>
			<xs:element name="in" type="xs:decimal"/>
			<xs:element name="up" type="xs:decimal"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogInUpRange">
		<xs:sequence>
			<xs:element name="in" type="B2BCatalogDistanceRange"/>
			<xs:element name="up" type="B2BCatalogDistanceRange"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogInUpRangeDecentration">
		<xs:sequence>
			<xs:element name="in" type="B2BCatalogDistanceRangeDecentration"/>
			<xs:element name="up" type="B2BCatalogDistanceRangeDecentration" minOccurs="0"/>
			<xs:element name="maxRadius" type="xs:decimal" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLanguages">
		<xs:sequence>
			<xs:element name="language" type="B2BCatalogLanguageCode" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLens">
		<xs:sequence>
			<xs:element name="code" type="B2BCatalogCode"/>
			<xs:element name="oldCodes" type="B2BCatalogOldCodes" minOccurs="0"/>
			<xs:element name="names" type="B2BCatalogProductNames"/>
			<xs:choice minOccurs="0">
				<xs:element name="orderCodeVariants" type="B2BCatalogOrderCodeVariants"/>
				<xs:element name="equalPropertyVariants" type="B2BCatalogEqualPropertyVariants"/>
			</xs:choice>
			<xs:element name="groupIds" type="B2BCatalogGroupIds" minOccurs="0"/>
			<xs:element name="sorting" type="xs:unsignedInt" minOccurs="0"/>
			<xs:element name="valid" type="B2BCatalogDatePeriod" minOccurs="0"/>
			<xs:element name="focalGroupId" type="xs:unsignedInt"/>
			<xs:element name="brand" type="B2BCatalogBrands" default="STANDARD" minOccurs="0"/>
			<xs:element name="materialPropertyId" type="xs:unsignedInt"/>
			<xs:element name="balancingLens" type="B2BCatalogBalacingLens" default="false" minOccurs="0"/>
			<xs:element name="lenti" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="trafficRestrictions" type="B2BCatalogTrafficRestrictionTypes" default="NONE" minOccurs="0"/>
			<xs:element name="singleLensOrder" type="B2BCatalogSingleLensOrder" default="YES" minOccurs="0"/>
			<xs:element name="topology" type="B2BCatalogTopologies"/>
			<xs:element name="characteristics" type="B2BCatalogCoatingTypes" minOccurs="0"/>
			<xs:element name="opticalProperties" type="B2BCatalogOpticalProperties" minOccurs="0"/>
			<xs:element name="includedFeatures" type="B2BCatalogIncludedFeatures" minOccurs="0"/>
			<xs:element name="ranges" type="B2BCatalogRanges"/>
			<xs:element name="baseCurveIds" type="B2BCatalogBaseCurveIds" minOccurs="0"/>
			<xs:element name="orderOptions" type="B2BCatalogOrderOptionIds" minOccurs="0"/>
			<xs:element name="orderOptionRangeIds" type="B2BCatalogOrderOptionRangeIds" minOccurs="0"/>
			<xs:element name="informationIds" type="B2BCatalogInformationIds" minOccurs="0"/>
			<xs:element name="internal" type="xs:anyType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLenses">
		<xs:sequence>
			<xs:element name="lens" type="B2BCatalogLens" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensBaseCurve">
		<xs:sequence>
			<xs:element name="matchings" type="B2BCatalogBaseCurveMatchings"/>
			<xs:element name="baseCurve" type="B2BCatalogDptValue"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensBaseCurves">
		<xs:sequence>
			<xs:element name="lensBaseCurve" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogLensBaseCurve">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
							<xs:attribute name="internalDescription" type="xs:string"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensCodes">
		<xs:sequence>
			<xs:element name="lensCode" type="B2BCatalogCode" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensFocalGroup">
		<xs:sequence>
			<xs:element name="focalType" type="B2BCatalogFocalTypes"/>
			<xs:element name="names" type="B2BCatalogNames"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensFocalGroups">
		<xs:sequence>
			<xs:element name="lensFocalGroup" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogLensFocalGroup">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensGeo">
		<xs:sequence>
			<xs:element name="diameterDiff" type="xs:decimal" default="0" minOccurs="0"/>
			<xs:element name="diameterTolerance" type="xs:decimal" default="0" minOccurs="0"/>
			<xs:element name="gazeDirection" type="B2BCatalogGazeDirections"/>
			<xs:element name="fitting" type="B2BCatalogGeoFitting" minOccurs="0"/>
			<xs:choice>
				<xs:element name="singlevision" type="B2BCatalogGeoSingleVision"/>
				<xs:element name="progressive" type="B2BCatalogGeoProgressive"/>
				<xs:element name="bifocal" type="B2BCatalogGeoBifocal"/>
				<xs:element name="trifocal" type="B2BCatalogGeoTrifocal"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensGeos">
		<xs:sequence>
			<xs:element name="lensGeo" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogLensGeo">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
							<xs:attribute name="internalDescription" type="xs:string"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensGroup">
		<xs:sequence>
			<xs:element name="names" type="B2BCatalogNames"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensGroups">
		<xs:sequence>
			<xs:element name="lensGroupName" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogLensGroup">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensMaterialProperties">
		<xs:sequence>
			<xs:element name="lensMaterialProperty" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogLensMaterialProperty">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
							<xs:attribute name="internalDescription" type="xs:string"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensMaterialProperty">
		<xs:sequence>
			<xs:element name="material" type="B2BCatalogMaterials"/>
			<xs:element name="opticalIndex" type="xs:decimal" minOccurs="0"/>
			<xs:element name="abbe" type="xs:decimal" minOccurs="0"/>
			<xs:element name="specificWeight" type="xs:decimal" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensPriceGroup">
		<xs:sequence>
			<xs:element name="lensPriceSet" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogLensPriceSet"/>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="valid" type="B2BCatalogDatePeriod" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensPriceGroups">
		<xs:sequence>
			<xs:element name="lensPriceGroup" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogLensPriceGroup">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
							<xs:attribute name="internalDescription" type="xs:string"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensPriceSet">
		<xs:sequence>
			<xs:element name="matching" type="B2BCatalogPriceGroupMatching" minOccurs="0"/>
			<xs:element name="prices" type="B2BCatalogPrices"/>
			<xs:element name="internal" type="xs:anyType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensRange">
		<xs:sequence>
			<xs:element name="diameter" type="B2BCatalogDiameter"/>
			<xs:element name="minDiameter" type="B2BCatalogDiameterSteps" minOccurs="0"/>
			<xs:element name="decentration" type="B2BCatalogInUpRangeDecentration" minOccurs="0"/>
			<xs:element name="valid" type="B2BCatalogDatePeriod" minOccurs="0"/>
			<xs:element name="refractions" type="B2BCatalogRefractions"/>
			<xs:element name="prism" type="B2BCatalogPrism" minOccurs="0"/>
			<xs:element name="stockLens" default="false" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:boolean">
							<xs:attribute name="deliveryDuration" type="xs:duration"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="discountable" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="order" type="B2BCatalogOnlineOrder" minOccurs="0"/>
			<xs:element name="internal" type="xs:anyType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogLensRanges">
		<xs:sequence>
			<xs:element name="lensRange" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogLensRange">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
							<xs:attribute name="internalDescription" type="xs:string"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogMaterialPropertyIds">
		<xs:sequence>
			<xs:element name="materialPropertyId" type="xs:unsignedInt" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogMaxMeridianRange">
		<xs:sequence>
			<xs:element name="from" type="B2BCatalogDptValue"/>
			<xs:element name="to" type="B2BCatalogDptValue"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogName">
		<xs:sequence>
			<xs:element name="long" type="B2BCatalogNameDefault"/>
			<xs:element name="short" type="B2BCatalogNameShort" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="language" type="B2BCatalogLanguageCode" use="required"/>
	</xs:complexType>
	<xs:complexType name="B2BCatalogNames">
		<xs:sequence>
			<xs:element name="name" type="B2BCatalogName" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogNearPortion">
		<xs:sequence>
			<xs:element name="type" type="B2BCatalogNearPortionTypes"/>
			<xs:element name="radius" type="B2BCatalogTopBottom"/>
			<xs:element name="width" type="xs:decimal"/>
			<xs:element name="height" type="xs:decimal"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOldCodes">
		<xs:sequence>
			<xs:element name="oldCode" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="B2BCatalogCode">
							<xs:attribute name="action" type="B2BCatalogOldCodeActions" use="required"/>
							<xs:attribute name="validTo" type="xs:date" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOnlineOrder">
		<xs:sequence>
			<xs:element name="onlineAllowed" type="xs:boolean" default="true" minOccurs="0"/>
			<xs:element name="onlineDiscount" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="offlineSurcharge" type="xs:boolean" default="false" minOccurs="0"/>
			<xs:element name="onRequest" type="xs:boolean" default="false" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOpticalProperties">
		<xs:sequence>
			<xs:element name="filterCategory" type="B2BCatalogFilterCategories" minOccurs="0"/>
			<xs:element name="filterCategoryExposed" type="B2BCatalogFilterCategories" minOccurs="0"/>
			<xs:element name="uvThreshold" type="xs:unsignedShort" minOccurs="0"/>
			<xs:element name="uvATransmission" type="B2BCatalogPercentDecimal" minOccurs="0"/>
			<xs:element name="uvBTransmission" type="B2BCatalogPercentDecimal" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOption">
		<xs:sequence>
			<xs:element name="code" type="B2BCatalogCode"/>
			<xs:element name="oldCodes" type="B2BCatalogOldCodes" minOccurs="0"/>
			<xs:element name="names" type="B2BCatalogProductNames"/>
			<xs:element name="groupIds" type="B2BCatalogGroupIds" minOccurs="0"/>
			<xs:element name="sorting" type="xs:unsignedInt" minOccurs="0"/>
			<xs:element name="valid" type="B2BCatalogDatePeriod" minOccurs="0"/>
			<xs:element name="coatingTypes" type="B2BCatalogCoatingTypes" minOccurs="0"/>
			<xs:element name="optionTypes" type="B2BCatalogOptionTypes" minOccurs="0"/>
			<xs:element name="singleLensOrder" default="SAME_AS_LENS" minOccurs="0">
				<xs:simpleType>
					<xs:union memberTypes="B2BCatalogSingleLensOrder B2BCatalogDerivedFromLens"/>
				</xs:simpleType>
			</xs:element>
			<xs:element name="brand" default="SAME_AS_LENS" minOccurs="0">
				<xs:simpleType>
					<xs:union memberTypes="B2BCatalogBrands B2BCatalogDerivedFromLens"/>
				</xs:simpleType>
			</xs:element>
			<xs:element name="opticalProperties" type="B2BCatalogOpticalProperties" minOccurs="0"/>
			<xs:element name="trafficRestrictions" type="B2BCatalogTrafficRestrictionTypes" default="NONE" minOccurs="0"/>
			<xs:element name="priceGroupIds" type="B2BCatalogPriceGroupIds" minOccurs="0"/>
			<xs:element name="order" minOccurs="0">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogOnlineOrder">
							<xs:sequence>
								<xs:element name="sendCode" type="B2BCatalogOrderSendTypes" default="MANDATORY" minOccurs="0"/>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="discountable" type="B2BCatalogBoolWithSameAsLens" default="SAME_AS_LENS" minOccurs="0"/>
			<xs:element name="orderOptions" type="B2BCatalogOrderOptionIds" minOccurs="0"/>
			<xs:element name="orderOptionRangeIds" type="B2BCatalogOrderOptionRangeIds" minOccurs="0"/>
			<xs:element name="informationIds" type="B2BCatalogInformationIds" minOccurs="0"/>
			<xs:element name="internal" type="xs:anyType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOptions">
		<xs:sequence>
			<xs:element name="option" type="B2BCatalogOption" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOptionCodes">
		<xs:sequence>
			<xs:element name="optionCode" type="B2BCatalogCode" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOptionGroup">
		<xs:sequence>
			<xs:element name="names" type="B2BCatalogNames"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOptionGroups">
		<xs:sequence>
			<xs:element name="optionGroupName" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogOptionGroup">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOptionPriceGroup">
		<xs:sequence>
			<xs:element name="optionPriceSet" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogOptionPriceSet"/>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="valid" type="B2BCatalogDatePeriod" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOptionPriceGroups">
		<xs:sequence>
			<xs:element name="optionPriceGroup" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogOptionPriceGroup">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
							<xs:attribute name="internalDescription" type="xs:string"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOptionPriceGroupMatching">
		<xs:sequence>
			<xs:choice minOccurs="0">
				<xs:element name="lensCodes" type="B2BCatalogLensCodes" minOccurs="0"/>
				<xs:element name="materialPropertyIds" type="B2BCatalogMaterialPropertyIds" minOccurs="0"/>
			</xs:choice>
			<xs:element name="optionCodes" type="B2BCatalogOptionCodes" minOccurs="0"/>
			<xs:element name="powerRanges" type="B2BCatalogPowerRanges" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOptionPriceSet">
		<xs:sequence>
			<xs:element name="matching" type="B2BCatalogOptionPriceGroupMatching" minOccurs="0"/>
			<xs:element name="prices" type="B2BCatalogPrices"/>
			<xs:element name="internal" type="xs:anyType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOptionTypes">
		<xs:complexContent>
			<xs:extension base="B2BCatalogFeatures">
				<xs:sequence>
					<xs:choice minOccurs="0">
						<xs:element name="thicknessreduction" type="B2BCatalogThicknessReductionTypes" default="NONE"/>
						<xs:element name="specialThickness" type="xs:boolean" default="false"/>
					</xs:choice>
					<xs:element name="specialShape" type="B2BCatalogSpecialShapeTypes" default="NO" minOccurs="0"/>
					<xs:element name="extendedWarranty" default="false" minOccurs="0">
						<xs:complexType>
							<xs:simpleContent>
								<xs:extension base="xs:boolean">
									<xs:attribute name="duration" type="xs:duration"/>
								</xs:extension>
							</xs:simpleContent>
						</xs:complexType>
					</xs:element>
					<xs:element name="prism" type="B2BCatalogPrismAbs" minOccurs="0"/>
					<xs:element name="cylinder" type="B2BCatalogCylinderAbs" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderCodeVariants">
		<xs:sequence>
			<xs:element name="orderCodeVariant" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogVariant">
							<xs:sequence>
								<xs:element name="matching" type="B2BCatalogOrderCodeVariantMatching"/>
								<xs:element name="ranges" type="B2BCatalogRanges" minOccurs="0"/>
							</xs:sequence>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="basicLensAvailable" type="xs:boolean" default="true"/>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderCodeVariantMatching">
		<xs:sequence>
			<xs:element name="optionCode" type="B2BCatalogCode" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionGroup">
		<xs:sequence>
			<xs:element name="orderOptionSet" type="B2BCatalogOrderOptionSet" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionGroups">
		<xs:sequence>
			<xs:element name="orderOptionGroup" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogOrderOptionGroup">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
							<xs:attribute name="internalDescription" type="xs:string"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionGroupIds">
		<xs:sequence>
			<xs:element name="orderOptionGroupId" type="xs:unsignedInt" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionIds">
		<xs:sequence>
			<xs:element name="orderOptionGroupIds" type="B2BCatalogOrderOptionGroupIds" minOccurs="0"/>
			<xs:element name="orderOptionRuleIds" type="B2BCatalogOrderOptionRuleIds" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionName">
		<xs:sequence>
			<xs:element name="names" type="B2BCatalogNames"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionNames">
		<xs:sequence>
			<xs:element name="orderOptionName" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogOrderOptionName">
							<xs:attribute name="type" type="B2BCatalogOrderOptions" use="required"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionRange">
		<xs:choice>
			<xs:sequence>
				<xs:element name="from" type="xs:decimal"/>
				<xs:element name="to" type="xs:decimal"/>
				<xs:element name="step" type="xs:decimal"/>
				<xs:element name="recommended" type="xs:decimal" minOccurs="0"/>
			</xs:sequence>
			<xs:sequence>
				<xs:element name="numValues" type="B2BCatalogOrderOptionRangeNumValue"/>
				<xs:element name="recommendedNumValue" type="xs:decimal" minOccurs="0"/>
			</xs:sequence>
			<xs:sequence>
				<xs:element name="textValues" type="B2BCatalogOrderOptionRangeTextValues"/>
				<xs:element name="recommendedTextValue" type="xs:string" minOccurs="0"/>
			</xs:sequence>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionRangeNumValue">
		<xs:sequence>
			<xs:element name="numValue" type="xs:decimal" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionRanges">
		<xs:sequence>
			<xs:element name="orderOptionRange" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogOrderOptionRange">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
							<xs:attribute name="type" type="B2BCatalogOrderOptions" use="required"/>
							<xs:attribute name="internalDescription" type="xs:string"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionRangeTextValue">
		<xs:sequence>
			<xs:element name="orderValue" type="xs:string"/>
			<xs:element name="names" type="B2BCatalogNames" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionRangeTextValues">
		<xs:sequence>
			<xs:element name="textValue" type="B2BCatalogOrderOptionRangeTextValue" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionRangeIds">
		<xs:sequence>
			<xs:element name="orderOptionRangeId" type="xs:unsignedInt" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionRule">
		<xs:sequence>
			<xs:element name="matching" type="B2BCatalogOrderOptionGroup"/>
			<xs:element name="replacement" type="B2BCatalogOrderOptionGroup" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionRules">
		<xs:sequence>
			<xs:element name="orderOptionRule" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogOrderOptionRule">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
							<xs:attribute name="internalDescription" type="xs:string"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionRuleIds">
		<xs:sequence>
			<xs:element name="orderOptionRuleId" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:unsignedInt">
							<xs:attribute name="prio" type="xs:unsignedInt" default="99999"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogOrderOptionSet">
		<xs:sequence>
			<xs:element name="type" type="B2BCatalogOrderOptions" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="use" type="B2BCatalogOrderOptionTypePrios" use="required"/>
	</xs:complexType>
	<xs:complexType name="B2BCatalogPhoneNumbers">
		<xs:sequence>
			<xs:element name="phoneNumber" type="xs:string" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogPowerRange">
		<xs:sequence>
			<xs:sequence minOccurs="0">
				<xs:element name="diameter" type="B2BCatalogDiameter"/>
				<xs:element name="minDiameter" type="B2BCatalogDiameterSimple" minOccurs="0"/>
			</xs:sequence>
			<xs:element name="maxMeridian" type="B2BCatalogMaxMeridianRange" minOccurs="0"/>
			<xs:sequence minOccurs="0">
				<xs:element name="cylinder" type="B2BCatalogCylinderRange"/>
				<xs:element name="cylinderPart" type="B2BCatalogCylinderPartRange" minOccurs="0"/>
			</xs:sequence>
			<xs:element name="addition" type="B2BCatalogAdditionRange" minOccurs="0"/>
			<xs:element name="prism" type="B2BCatalogPrism" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogPowerRanges">
		<xs:sequence>
			<xs:element name="powerRange" type="B2BCatalogPowerRange" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogPriceField">
		<xs:sequence>
			<xs:element name="matching" type="B2BCatalogPriceFieldMatching"/>
			<xs:element name="currency" type="B2BCatalogCurrencyCode"/>
			<xs:element name="vatIncluded" type="xs:boolean"/>
			<xs:element name="descriptions" type="B2BCatalogDescriptions" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogPriceFields">
		<xs:sequence>
			<xs:element name="pricefield" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="B2BCatalogPriceField">
							<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
							<xs:attribute name="typeOf" type="B2BCatalogPriceTypes" use="required"/>
							<xs:attribute name="internalDescription" type="xs:string"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogPriceFieldMatching">
		<xs:sequence>
			<xs:element name="countryGroupIds" type="B2BCatalogCountryGroupIds"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogPriceGroupIds">
		<xs:sequence>
			<xs:element name="priceGroupId" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:unsignedInt">
							<xs:attribute name="prio" type="xs:unsignedInt" default="1"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogPriceGroupMatching">
		<xs:sequence>
			<xs:element name="sphereAbsolute" type="B2BCatalogSphereAbs" minOccurs="0"/>
			<xs:element name="cylinderAbsolute" type="B2BCatalogCylinderAbs" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogPrices">
		<xs:sequence>
			<xs:element name="price" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:decimal">
							<xs:attribute name="priceFieldId" type="xs:unsignedInt" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogPrintPricelist">
		<xs:sequence>
			<xs:element name="filename" type="xs:string"/>
		</xs:sequence>
		<xs:attribute name="format" type="B2BCatalogPrintPriceListFormats" use="required"/>
	</xs:complexType>
	<xs:complexType name="B2BCatalogPrintPriceLists">
		<xs:sequence>
			<xs:element name="printpricelist" type="B2BCatalogPrintPricelist" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogPrism">
		<xs:sequence>
			<xs:element name="from" type="B2BCatalogDptValue" default="0" minOccurs="0"/>
			<xs:element name="to" type="B2BCatalogDptValue"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogPrismAbs">
		<xs:sequence>
			<xs:element name="from" type="B2BCatalogDptValueAbs"/>
			<xs:element name="to" type="B2BCatalogDptValueAbs"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogProductName">
		<xs:sequence>
			<xs:element name="long" type="B2BCatalogNameDefault"/>
			<xs:element name="short" type="B2BCatalogNameShort" minOccurs="0"/>
			<xs:element name="commercial" type="B2BCatalogNameDefault" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="language" type="B2BCatalogLanguageCode" use="required"/>
	</xs:complexType>
	<xs:complexType name="B2BCatalogProductNames">
		<xs:sequence>
			<xs:element name="name" type="B2BCatalogProductName" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogRange">
		<xs:sequence>
			<xs:element name="rangeId" type="xs:unsignedInt"/>
			<xs:element name="geoId" type="xs:unsignedInt" minOccurs="0"/>
			<xs:element name="priceGroupIds" type="B2BCatalogPriceGroupIds" minOccurs="0"/>
			<xs:element name="combinationTreeIds" type="B2BCatalogCombinationTreeIds" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogRanges">
		<xs:sequence>
			<xs:element name="meridianReference" type="B2BCatalogMaxMeridianTypes" default="FAR" minOccurs="0"/>
			<xs:element name="range" type="B2BCatalogRange" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogRefraction">
		<xs:sequence>
			<xs:element name="maxMeridian" type="B2BCatalogMaxMeridianRange"/>
			<xs:element name="cylinder" type="B2BCatalogCylinderRange"/>
			<xs:element name="cylinderPart" type="B2BCatalogCylinderPartRange"/>
			<xs:choice minOccurs="0">
				<xs:element name="addition" type="B2BCatalogAdditionRange"/>
				<xs:element name="degression" type="B2BCatalogAdditionRange"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogRefractions">
		<xs:sequence>
			<xs:element name="steps" type="B2BCatalogRefractionSteps" minOccurs="0"/>
			<xs:element name="refraction" type="B2BCatalogRefraction" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogRefractionSteps">
		<xs:sequence>
			<xs:element name="sphere" type="B2BCatalogRefractionStep" default="0.25" minOccurs="0"/>
			<xs:element name="cylinder" type="B2BCatalogRefractionStep" default="0.25" minOccurs="0"/>
			<xs:choice minOccurs="0">
				<xs:element name="addition" type="B2BCatalogRefractionStep" default="0.25"/>
				<xs:element name="degression" type="B2BCatalogRefractionStep" default="0.25"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogSoftware">
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="version" type="xs:string"/>
			<xs:element name="date" type="xs:dateTime"/>
			<xs:element name="uniqueId" type="xs:string"/>
		</xs:sequence>
		<xs:attribute name="typeOf" type="B2BCatalogSoftwareTypes" use="required"/>
	</xs:complexType>
	<xs:complexType name="B2BCatalogSphereAbs">
		<xs:sequence>
			<xs:element name="from" type="B2BCatalogDptValueAbs"/>
			<xs:element name="to" type="B2BCatalogDptValueAbs"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogSupplier">
		<xs:sequence>
			<xs:element name="code" type="B2BCatalogSupplierCode"/>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="contactInfos" type="B2BCatalogContactInfos" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogSubSupplier">
		<xs:sequence>
			<xs:element name="code" type="B2BCatalogSubSupplierCode"/>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="contactInfos" type="B2BCatalogContactInfos" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogTopBottom">
		<xs:sequence>
			<xs:element name="top" type="xs:decimal"/>
			<xs:element name="bottom" type="xs:decimal"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogTypeOfs">
		<xs:sequence>
			<xs:element name="typeOf" type="B2BCatalogContactTypes" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogVariant">
		<xs:sequence>
			<xs:element name="code" type="B2BCatalogCode"/>
			<xs:sequence minOccurs="0">
				<xs:element name="productNames" type="B2BCatalogNames"/>
				<xs:element name="sorting" type="xs:unsignedInt" minOccurs="0"/>
			</xs:sequence>
			<xs:element name="informationIds" type="B2BCatalogInformationIds" minOccurs="0"/>
			<xs:element name="internal" type="xs:anyType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="B2BCatalogWebsites">
		<xs:sequence>
			<xs:element name="website" type="xs:string" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
