<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:stn_1="http://detailContrat.commun.serviWeb.soltim.com/publics"
	targetNamespace="http://detailContrat.commun.serviWeb.soltim.com/publics" elementFormDefault="qualified" attributeFormDefault="unqualified">

	<xs:element type="stn_1:parametresDetailContrat" name="parametresDetailContrat"/>
	<xs:complexType name="parametresDetailContrat">
		<xs:sequence>
			<xs:element type="xs:string" name="CodeSocieteUtilisatrice" nillable="true"/>
			<xs:element type="xs:string" name="Adhesion" nillable="true"/>
			<xs:element type="xs:string" name="IdGestionnaire" nillable="true"/>
			<xs:element type="stn_1:personne" name="Personne" nillable="true"/>
			<xs:element type="xs:string" name="CircuitTP" nillable="true"/>
			<!-- début : FAM 21/12/2012 -->
				<xs:element type="xs:string" name="NumeroTiers" minOccurs="0" maxOccurs="1" nillable="true"/>
			<!-- fin : FAM 21/12/2012 -->
			<!-- debut : NICO 01/07/2014 -->
			<xs:element type="xs:date" name="DateReference" minOccurs="0" maxOccurs="1" nillable="true"/>
			<!-- fin : NICO 01/07/2014 -->
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:personne" name="Personne"/>
	<xs:complexType name="personne">
		<xs:sequence>
				<xs:element type="xs:string" name="Nom" minOccurs="0" maxOccurs="1" nillable="true"/>
				<xs:element type="xs:boolean" name="RecDebutNom" minOccurs="0" maxOccurs="1" nillable="true"/>
				<xs:element type="xs:string" name="Prenom" minOccurs="0" maxOccurs="1" nillable="true"/>
				<xs:element type="xs:boolean" name="RecDebutPrenom" minOccurs="0" maxOccurs="1" nillable="true"/>
				<xs:element type="xs:string" name="NumeroInsee" minOccurs="0" maxOccurs="1" nillable="true"/>
				<xs:element type="xs:int" name="Rang" minOccurs="0" maxOccurs="1" nillable="true"/>
				<!-- FAM 03/10/2016 : ajustement pour gérer proprement les dates lunaires dans un format de type date -->
				<!-- FAM 03/10/2016 : 1963-07-20+00:00 ou  1963-07-20 acceptés -->
				<xs:element name="DateNaissance" minOccurs="0" maxOccurs="1" nillable="true">
					<xs:simpleType>
						<xs:restriction base="xs:string">
    						<xs:pattern value="[0-9]{4}-[0-9]{2}-[0-9]{2}.*"/>     
  						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element type="xs:string" name="CodePostal" minOccurs="0" maxOccurs="1" nillable="true"/>
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:retourDetailContrat" name="RetourDetailContrat"/>
	<xs:complexType name="retourDetailContrat">
		<xs:sequence>
			<xs:element type="stn_1:adhesions" name="Adhesions"/>
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:erreur" name="Erreur"/>
	<xs:complexType name="erreur">
		<xs:sequence>
			<xs:element type="xs:int" name="Numero"/>
			<xs:element type="xs:string" name="Classe"/>
			<xs:element type="xs:string" name="Exception"/>
			<xs:element type="xs:string" name="Message"/>
			<xs:element type="xs:string" name="Niveau"/>
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:erreurs" name="Erreurs"/>
	<xs:complexType name="erreurs">
		<xs:sequence>
         <xs:element minOccurs="0" type="stn_1:erreur"
							name="Erreur" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:adhesions" name="Adhesions"/>
	<xs:complexType name="adhesions">
		<xs:sequence>
				<xs:element minOccurs="0" type="stn_1:adhesion"
							name="Adhesion" maxOccurs="unbounded"/>
				<xs:element minOccurs="0" type="stn_1:adhesionSurcomp"
							name="AdhesionSurcomp" maxOccurs="unbounded"/>			
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:adhesion" name="Adhesion"/>
	<xs:complexType name="adhesion">
		<xs:sequence>
			<xs:element type="xs:string" name="Numero"/>
                <xs:element type="xs:string" name="Type" nillable="true" minOccurs="0" maxOccurs="1"/>
                <xs:element type="xs:string" name="LibelleContratCollectif" nillable="true" minOccurs="0" maxOccurs="1"/>
                <xs:element type="xs:string" name="Etat" nillable="true" minOccurs="0" maxOccurs="1"/>
			<xs:element type="xs:date" name="DateEffet"/>
                <xs:element type="xs:date" name="DateSortie" nillable="true" minOccurs="0" maxOccurs="1"/>
			<xs:element type="xs:string" name="SocieteUtilisatrice"/>
			<xs:element type="xs:string" name="SocieteAperitrice"/>
			<xs:element type="xs:boolean" name="PrestationsBloquees"/>
                <xs:element minOccurs="0"  type="stn_1:periodesBlocagePrestation" 
                			name="PeriodesBlocagePrestation" maxOccurs="unbounded"/>
                <xs:element minOccurs="0"  type="stn_1:option" 
                			name="Option" maxOccurs="unbounded"/>
                <xs:element minOccurs="0"  type="stn_1:circuitTP" 
                			name="CircuitsTP" maxOccurs="unbounded"/>
                <xs:element minOccurs="0"  type="stn_1:beneficiaire" 
                			name="Beneficiaire" maxOccurs="unbounded"/>                			
                <xs:element minOccurs="0"  type="stn_1:intervenant" 
                			name="Intervenant" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:adhesionSurcomp" name="AdhesionSurcomp"/>
	<xs:complexType name="adhesionSurcomp">
		<xs:sequence>
			<xs:element type="xs:string" name="Numero"/>
                <xs:element type="xs:string" name="Type" nillable="true" minOccurs="0" maxOccurs="1"/>
                <xs:element type="xs:string" name="LibelleContratCollectif" nillable="true" minOccurs="0" maxOccurs="1"/>
                <xs:element type="xs:string" name="Etat" nillable="true" minOccurs="0" maxOccurs="1"/>
			<xs:element type="xs:date" name="DateEffet"/>
                <xs:element type="xs:date" name="DateSortie" nillable="true" minOccurs="0" maxOccurs="1"/>
			<xs:element type="xs:string" name="SocieteUtilisatrice"/>
			<xs:element type="xs:string" name="SocieteAperitrice"/>
			<xs:element type="xs:boolean" name="PrestationsBloquees"/>
                <xs:element minOccurs="0"  type="stn_1:periodesBlocagePrestation" 
                			name="PeriodesBlocagePrestation" maxOccurs="unbounded"/>
                <xs:element minOccurs="0"  type="stn_1:option" 
                			name="Option" maxOccurs="unbounded"/>
                <xs:element minOccurs="0"  type="stn_1:circuitTP" 
                			name="CircuitsTP" maxOccurs="unbounded"/>
                <xs:element minOccurs="0"  type="stn_1:beneficiaire" 
                			name="Beneficiaire" maxOccurs="unbounded"/>                			
                <xs:element minOccurs="0"  type="stn_1:intervenant" 
                			name="Intervenant" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>


	<xs:element type="stn_1:periodesBlocagePrestation" name="PeriodesBlocagePrestation"/>
	<xs:complexType name="periodesBlocagePrestation">
		<xs:sequence>
			<xs:element type="xs:date" name="DateDebut"/>
			<xs:element type="xs:date" name="DateFin"/>
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:option" name="Option"/>
	<xs:complexType name="option">
		<xs:sequence>
			<xs:element type="xs:string" name="Produit"/>
			<xs:element type="xs:string" name="GroupeGarantie"/>
			<xs:element type="xs:string" name="OptionSouscription"/>
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:circuitTP" name="CircuitTP"/>
	<xs:complexType name="circuitTP">
		<xs:sequence>
			<xs:element type="xs:string" name="Code"/>
			<xs:element type="xs:string" name="Libelle"/>
					<xs:element minOccurs="0" type="stn_1:posteTP"
								name="posteTP" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:posteTP" name="PosteTP"/>
	<xs:complexType name="posteTP">
		<xs:sequence>
			<xs:element type="xs:string" name="Code"/>
			<xs:element type="xs:long" name="Taux"/>
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:beneficiaire" name="Beneficiaire"/>
	<xs:complexType name="beneficiaire">
		<xs:sequence>
			<xs:element type="xs:long" name="NumeroInterne"/>
			<xs:element type="xs:string" name="NomUsage"/>
			<xs:element type="xs:string" name="Prenom"/>
                     <xs:element type="xs:string" name="Code" nillable="true" minOccurs="0" maxOccurs="1"/>
                     <xs:element type="xs:string" name="LienFamille" nillable="true" minOccurs="0" maxOccurs="1"/>
			<xs:element type="xs:date" name="DateNaissance"/>
                     <xs:element type="xs:date" name="DateDeces" nillable="true" minOccurs="0" maxOccurs="1"/>
			<xs:element type="xs:string" name="DateNaissanceSS"/>
			<xs:element type="xs:int" name="RangNaissanceSS"/>
			<xs:element type="xs:string" name="NumeroSS"/>
			<xs:element type="xs:string" name="CleSS"/>
                     <xs:element type="xs:date" name="DateEffet" nillable="true" minOccurs="0" maxOccurs="1"/>
                     <xs:element type="xs:date" name="DateSortie" nillable="true" minOccurs="0" maxOccurs="1"/>
                     <xs:element type="xs:string" name="EmetteurNoemie" nillable="true" minOccurs="0" maxOccurs="1"/>
                     <xs:element type="xs:string" name="OrganismeAffiliation" nillable="true" minOccurs="0" maxOccurs="1"/>
                     <xs:element type="xs:string" name="GrandRegime" nillable="true" minOccurs="0" maxOccurs="1"/>
                     <xs:element type="xs:string" name="RegimeAM" nillable="true" minOccurs="0" maxOccurs="1"/>
                     <xs:element type="xs:date" name="DateDebutTP" nillable="true"  minOccurs="0" maxOccurs="1"/>
                     <xs:element type="xs:date" name="DateFinTP" nillable="true"  minOccurs="0" maxOccurs="1"/>

			<!-- début : FAM 21/12/2012 -->
					<xs:element type="xs:string" name="Contrat" nillable="true"  minOccurs="0" maxOccurs="1"/>
			<!-- fin : FAM 21/12/2012 -->

			<!-- début : VMO 11/08/2015 -->
					<xs:element type="xs:string" name="OffreBeneficiaire" nillable="true"  minOccurs="0" maxOccurs="1"/>
			<!-- fin : VMO 11/08/2015 -->

                     <xs:element minOccurs="0" type="stn_1:idExterne"
								 name="IdExterne" maxOccurs="unbounded"/>
                     <xs:element minOccurs="0" type="stn_1:rattachementSS"
								 name="RattachementSS" maxOccurs="unbounded"/>
					 <xs:element minOccurs="0" type="stn_1:adressePrestation"
								 name="AdressePrestation" maxOccurs="unbounded"/>
					 <xs:element minOccurs="0" type="stn_1:garantie"
								 name="Garantie" maxOccurs="unbounded"/>


		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:idExterne" name="IdExterne"/>
	<xs:complexType name="idExterne">
		<xs:sequence>
			<xs:element type="xs:string" name="Identifiant"/>
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:rattachementSS" name="RattachementSS"/>
	<xs:complexType name="rattachementSS">
		<xs:sequence>
			<xs:element type="xs:long" name="NumeroInterne"/>
 					<xs:element minOccurs="0" type="stn_1:idExterne"
					      		name="IdExterne" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:adressePrestation" name="AdressePrestation"/>
	<xs:complexType name="adressePrestation">
		<xs:sequence>
                    <xs:element type="xs:string" name="Designation1" nillable="true"  minOccurs="0" maxOccurs="1"/>
                    <xs:element type="xs:string" name="Designation2" nillable="true"  minOccurs="0" maxOccurs="1"/>
                    <xs:element type="xs:string" name="Localisation1" nillable="true"  minOccurs="0" maxOccurs="1"/>
                    <xs:element type="xs:string" name="Localisation2" nillable="true"  minOccurs="0" maxOccurs="1"/>
                    <xs:element type="xs:string" name="Localisation3" nillable="true"  minOccurs="0" maxOccurs="1"/>
                    <xs:element type="xs:string" name="CodePostal" nillable="true"  minOccurs="0" maxOccurs="1"/>
                    <xs:element type="xs:string" name="Ville" nillable="true"  minOccurs="0" maxOccurs="1"/>
                    <xs:element type="xs:string" name="Pays" nillable="true"  minOccurs="0" maxOccurs="1"/>
                    <xs:element type="xs:string" name="Telephone" nillable="true"  minOccurs="0" maxOccurs="1"/>
                    <xs:element type="xs:string" name="AdresseMail" nillable="true"  minOccurs="0" maxOccurs="1"/>
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:garantie" name="Garantie"/>
	<xs:complexType name="garantie">
		<xs:sequence>
			<xs:element type="xs:string" name="CodeGarantie"/>
			<xs:element type="xs:string" name="TypeGarantie"/>
			<xs:element type="xs:string" name="Innovante"/>
			<xs:element type="xs:long" name="ValeurDelaiCarence"/>
			<xs:element type="xs:string" name="UniteDelaiCarence"/>
 					<xs:element minOccurs="0" type="stn_1:acte"
					      		name="Acte" maxOccurs="unbounded"/>
 					<xs:element minOccurs="0" type="stn_1:compteur"
					      		name="Compteur" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:acte" name="Acte"/>
	<xs:complexType name="acte">
		<xs:sequence>
			<xs:element type="xs:string" name="LibelleActe"/>
			<xs:element type="xs:string" name="LibelleRegleCalcul"/>
			<xs:element type="xs:long" name="ValeurDelaiCarence"/>
			<xs:element type="xs:string" name="UniteDelaiCarence"/>
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:compteur" name="Compteur"/>
	<xs:complexType name="compteur">
		<xs:sequence>
			<xs:element type="xs:long" name="Numero"/>
			<xs:element type="xs:date" name="DateDebutPeriode"/>
			<xs:element type="xs:string" name="TypeCompteur"/>
			<xs:element type="xs:string" name="ClasseCompteur"/>
			<xs:element type="xs:string" name="TypeCumul"/>
			<xs:element type="xs:double" name="Consomme"/>
			<xs:element type="xs:double" name="Plafond"/>
			<xs:element type="xs:double" name="ResteAConsommer"/>
		</xs:sequence>
	</xs:complexType>

	<xs:element type="stn_1:intervenant" name="Intervenant"/>
	<xs:complexType name="intervenant">
		<xs:sequence>
			<xs:element type="xs:long" name="NumeroInterne"/>
			<xs:element type="xs:string" name="NomUsage"/>
			<xs:element type="xs:string" name="Prenom"/>
			<xs:element type="xs:string" name="Code"/>
			<xs:element type="xs:string" name="LienFamille"/>
			<xs:element type="xs:date" name="DateNaissance"/>
			<xs:element type="xs:date" name="DateDeces"/>
			<xs:element type="xs:string" name="DateNaissanceSS"/>
			<xs:element type="xs:int" name="RangNaissanceSS"/>
			<xs:element type="xs:string" name="NumeroSS"/>
			<xs:element type="xs:string" name="CleSS"/>
			<xs:element type="xs:string" name="OrganismeAffiliation"/>
			<xs:element type="xs:string" name="GrandRegime"/>
			<xs:element type="xs:string" name="RegimeAM"/>
                     <xs:element minOccurs="0" type="stn_1:idExterne"
								 name="IdExterne" maxOccurs="unbounded"/>
					 <xs:element minOccurs="0" type="stn_1:adressePrestation"
								 name="AdressePrestation" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>

</xs:schema>