master
Nikolay Ushmodin 7 years ago
parent 5fd603a433
commit bc9dc4ce9d

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="qualified">
<xs:import schemaLocation="avs5rs_sale.xsd" namespace=""/>
<xs:import schemaLocation="avs5rs_transit.xsd" namespace=""/>
</xs:schema>

@ -30,7 +30,7 @@
<collectionProp name="Arguments.arguments">
<elementProp name="server" elementType="Argument">
<stringProp name="Argument.name">server</stringProp>
<stringProp name="Argument.value">http://localhost:8080/avs5/soap/rs</stringProp>
<stringProp name="Argument.value"></stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="user" elementType="Argument">
@ -45,17 +45,12 @@
</elementProp>
<elementProp name="date" elementType="Argument">
<stringProp name="Argument.name">date</stringProp>
<stringProp name="Argument.value">2016-07-12</stringProp>
<stringProp name="Argument.value">2017-03-14</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</Arguments>
<hashTree/>
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
<collectionProp name="CookieManager.cookies"/>
<boolProp name="CookieManager.clearEachIteration">true</boolProp>
</CookieManager>
<hashTree/>
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
@ -66,7 +61,8 @@
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">${__V(server)}</stringProp>
<stringProp name="HTTPSampler.path"></stringProp>
<stringProp name="HTTPSampler.implementation">HttpClient3.1</stringProp>
<stringProp name="HTTPSampler.concurrentPool">4</stringProp>
</ConfigTestElement>
<hashTree/>
@ -124,18 +120,9 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Проверка ответа" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/Body/message/text()=&apos;Test&apos;</stringProp>
<stringProp name="XPath.xpath">/EchoResponse/Body/message/text()=&apos;Test&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
@ -174,18 +161,9 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во станций &gt; 0" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">count(/Response/Body/Station)&gt;0</stringProp>
<stringProp name="XPath.xpath">count(/GetDispatchStationsResponse/Body/Station)&gt;0</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
@ -195,7 +173,7 @@
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить все ID станций" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">dispatchStationIds</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/Station/id</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/GetDispatchStationsResponse/Body/Station/id</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
@ -240,18 +218,9 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во станций &gt; 0" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">count(/Response/Body/Station)&gt;0</stringProp>
<stringProp name="XPath.xpath">count(/GetArrivalStationsResponse/Body/Station)&gt;0</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
@ -261,7 +230,7 @@
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить все ID станций" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">arrivalStationIds</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/Station/id</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/GetArrivalStationsResponse/Body/Station/id</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
@ -309,19 +278,10 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить все ID рейсов" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">tripIds</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/Trip/id</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/SearchTripsResponse/Body/Trip/id</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
@ -367,48 +327,28 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во типов билетов &gt; 0" enabled="true">
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во остановок &gt; 0" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">count(/Response/Body/TicketType)&gt;0</stringProp>
<stringProp name="XPath.xpath">count(/GetTripStopsResponse/Body/Stop)&gt;0</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить все ID типов билетов" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">ticketTypeIds</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/TicketType/id</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
</XPathExtractor>
<hashTree/>
</hashTree>
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Бронирование, Подтверждение, Отмена" enabled="true"/>
<hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Поиск свободных мест" enabled="true">
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Запрос типов билетов" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#xd;
&lt;GetFreeSeatsRequest&gt;&#xd;
&lt;GetTicketTypesRequest&gt;&#xd;
&lt;tripId&gt;${tripId}&lt;/tripId&gt;&#xd;
&lt;dispatchStationId&gt;${dispatchStationId}&lt;/dispatchStationId&gt;&#xd;
&lt;arrivalStationId&gt;${arrivalStationId}&lt;/arrivalStationId&gt; &#xd;
&lt;/GetFreeSeatsRequest&gt;</stringProp>
&lt;/GetTicketTypesRequest&gt;</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
@ -419,7 +359,7 @@
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">${__V(server)}/sales/getFreeSeats</stringProp>
<stringProp name="HTTPSampler.path">${__V(server)}/sales/getTicketTypes</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@ -431,44 +371,37 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во типов билетов &gt; 0" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<stringProp name="XPath.xpath">count(/GetTicketTypesResponse/Body/TicketType)&gt;0</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить все ID мест" enabled="true">
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить все ID типов билетов" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">seatIds</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/Seat/id</stringProp>
<stringProp name="XPathExtractor.refname">ticketTypeIds</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/GetTicketTypesResponse/Body/TicketType/id</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
</XPathExtractor>
<hashTree/>
</hashTree>
<ForeachController guiclass="ForeachControlPanel" testclass="ForeachController" testname="Для каждого свободного месте" enabled="true">
<stringProp name="ForeachController.inputVal">seatIds</stringProp>
<stringProp name="ForeachController.returnVal">seatId</stringProp>
<boolProp name="ForeachController.useSeparator">true</boolProp>
<stringProp name="ForeachController.endIndex">1</stringProp>
</ForeachController>
<hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Запрос типов билетов" enabled="true">
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Запрос типов документов" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#xd;
&lt;GetTicketTypesRequest&gt;&#xd;
&lt;GetDocumentTypesRequest&gt;&#xd;
&lt;tripId&gt;${tripId}&lt;/tripId&gt;&#xd;
&lt;dispatchStationId&gt;${dispatchStationId}&lt;/dispatchStationId&gt;&#xd;
&lt;arrivalStationId&gt;${arrivalStationId}&lt;/arrivalStationId&gt; &#xd;
&lt;/GetTicketTypesRequest&gt;</stringProp>
&lt;/GetDocumentTypesRequest&gt;</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
@ -479,7 +412,7 @@
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">${__V(server)}/sales/getTicketTypes</stringProp>
<stringProp name="HTTPSampler.path">${__V(server)}/sales/getDocumentTypes</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@ -491,46 +424,48 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во типов документов &gt; 0" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<stringProp name="XPath.xpath">count(/GetDocumentTypesResponse/Body/DocumentType)&gt;0</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во типов билетов &gt; 0" enabled="true">
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Среди документов есть паспорт" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">count(/Response/Body/TicketType)&gt;0</stringProp>
<stringProp name="XPath.xpath">count(/GetDocumentTypesResponse/Body/DocumentType/id[text()=&apos;00&apos; or text()=&apos;0&apos;]) &gt; 0</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить все ID типов билетов" enabled="true">
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить все ID типов документов" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">ticketTypeIds</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/TicketType/id</stringProp>
<stringProp name="XPathExtractor.refname">documentTypeIds</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/GetDocumentTypesResponse/Body/DocumentType/id[text()=&apos;00&apos; or text()=&apos;0&apos;]/text()</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
</XPathExtractor>
<hashTree/>
</hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Запрос типов документов" enabled="true">
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Бронирование, Подтверждение, Отмена" enabled="true"/>
<hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Поиск свободных мест" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#xd;
&lt;GetDocumentTypesRequest&gt;&#xd;
&lt;GetFreeSeatsRequest&gt;&#xd;
&lt;tripId&gt;${tripId}&lt;/tripId&gt;&#xd;
&lt;dispatchStationId&gt;${dispatchStationId}&lt;/dispatchStationId&gt;&#xd;
&lt;arrivalStationId&gt;${arrivalStationId}&lt;/arrivalStationId&gt; &#xd;
&lt;/GetDocumentTypesRequest&gt;</stringProp>
&lt;/GetFreeSeatsRequest&gt;</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
@ -541,7 +476,7 @@
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">${__V(server)}/sales/getDocumentTypes</stringProp>
<stringProp name="HTTPSampler.path">${__V(server)}/sales/getFreeSeats</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@ -553,28 +488,10 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во типов документов &gt; 0" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">count(/Response/Body/DocumentType)&gt;0</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить все ID типов документов" enabled="true">
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить все ID мест" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">documentTypeIds</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/DocumentType/id</stringProp>
<stringProp name="XPathExtractor.refname">seatId</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/GetFreeSeatsResponse/Body/Seat/id</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
@ -599,8 +516,8 @@
&lt;firstName&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/firstName&gt;&#xd;
&lt;lastName&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/lastName&gt;&#xd;
&lt;middleName&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/middleName&gt; &#xd;
&lt;docNum&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/docNum&gt; &#xd;
&lt;docSeries&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/docSeries&gt; &#xd;
&lt;docNum&gt;${__RandomString(6,0123456789)}&lt;/docNum&gt; &#xd;
&lt;docSeries&gt;${__RandomString(4,0123456789)}&lt;/docSeries&gt; &#xd;
&lt;docTypeId&gt;${documentTypeIds_1}&lt;/docTypeId&gt; &#xd;
&lt;birthday&gt;1985-01-01&lt;/birthday&gt;&#xd;
&lt;citizenshipISO2&gt;RU&lt;/citizenshipISO2&gt;&#xd;
@ -630,19 +547,10 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить ID договора" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">orderId</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/orderId</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/BookOrderResponse/Body/orderId</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
@ -681,18 +589,9 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во билетов = 1" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">count(/Response/Body/Ticket)=1</stringProp>
<stringProp name="XPath.xpath">count(/GetOrderResponse/Body/Ticket)=1</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
@ -702,7 +601,7 @@
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить ID билета" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">ticketId</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/Ticket/id</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/GetOrderResponse/Body/Ticket/id</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
@ -710,7 +609,7 @@
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Статус договора" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/Body/Ticket/status/text()=&apos;RESERVED&apos;</stringProp>
<stringProp name="XPath.xpath">/GetOrderResponse/Body/Ticket/status/text()=&apos;RESERVED&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
@ -719,7 +618,7 @@
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Страна" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/Body/Ticket/Passenger/citizenshipISO2/text()=&apos;RU&apos;</stringProp>
<stringProp name="XPath.xpath">/GetOrderResponse/Body/Ticket/Passenger/citizenshipISO2/text()=&apos;RU&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
@ -740,8 +639,8 @@
&lt;firstName&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/firstName&gt;&#xd;
&lt;lastName&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/lastName&gt;&#xd;
&lt;middleName&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/middleName&gt; &#xd;
&lt;docNum&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/docNum&gt; &#xd;
&lt;docSeries&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/docSeries&gt; &#xd;
&lt;docNum&gt;${__RandomString(6,0123456789)}&lt;/docNum&gt; &#xd;
&lt;docSeries&gt;${__RandomString(4,0123456789)}&lt;/docSeries&gt; &#xd;
&lt;docTypeId&gt;${documentTypeIds_1}&lt;/docTypeId&gt; &#xd;
&lt;birthday&gt;1986-01-01&lt;/birthday&gt;&#xd;
&lt;citizenshipISO2&gt;RU&lt;/citizenshipISO2&gt;&#xd;
@ -770,15 +669,6 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
</hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Подтверждение оплаты" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
@ -812,18 +702,9 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во билетов = 1" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">count(/Response/Body/Ticket)=1</stringProp>
<stringProp name="XPath.xpath">count(/ConfirmOrderResponse/Body/Ticket)=1</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
@ -833,7 +714,7 @@
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить ID билета" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">orderId</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/Ticket/id</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/ConfirmOrderResponse/Body/Ticket/id</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
@ -841,7 +722,7 @@
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Статус договора" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/Body/Ticket/status/text()=&apos;SOLD&apos;</stringProp>
<stringProp name="XPath.xpath">/ConfirmOrderResponse/Body/Ticket/status/text()=&apos;SOLD&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
@ -881,36 +762,18 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во билетов = 1" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">count(/Response/Body/Ticket)=1</stringProp>
<stringProp name="XPath.xpath">count(/CancelTicketResponse/Body/Ticket)=1</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить ID билета" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">orderId</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/Ticket/id</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
</XPathExtractor>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Статус договора" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/Body/Ticket/status/text()=&apos;CANCELED&apos;</stringProp>
<stringProp name="XPath.xpath">/CancelTicketResponse/Body/Ticket/status/text()=&apos;CANCELED&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
@ -919,7 +782,6 @@
<hashTree/>
</hashTree>
</hashTree>
</hashTree>
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Бронирование, Подтверждение, Возврат" enabled="true"/>
<hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Поиск свободных мест" enabled="true">
@ -956,150 +818,10 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить все ID мест" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">seatIds</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/Seat/id</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
</XPathExtractor>
<hashTree/>
</hashTree>
<ForeachController guiclass="ForeachControlPanel" testclass="ForeachController" testname="Для каждого свободного месте" enabled="true">
<stringProp name="ForeachController.inputVal">seatIds</stringProp>
<stringProp name="ForeachController.returnVal">seatId</stringProp>
<boolProp name="ForeachController.useSeparator">true</boolProp>
<stringProp name="ForeachController.endIndex">1</stringProp>
</ForeachController>
<hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Запрос типов билетов" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#xd;
&lt;GetTicketTypesRequest&gt;&#xd;
&lt;tripId&gt;${tripId}&lt;/tripId&gt;&#xd;
&lt;dispatchStationId&gt;${dispatchStationId}&lt;/dispatchStationId&gt;&#xd;
&lt;arrivalStationId&gt;${arrivalStationId}&lt;/arrivalStationId&gt; &#xd;
&lt;/GetTicketTypesRequest&gt;</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.domain"></stringProp>
<stringProp name="HTTPSampler.port"></stringProp>
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">${__V(server)}/sales/getTicketTypes</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
<boolProp name="HTTPSampler.monitor">false</boolProp>
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
</HTTPSamplerProxy>
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во типов билетов &gt; 0" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">count(/Response/Body/TicketType)&gt;0</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить все ID типов билетов" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">ticketTypeIds</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/TicketType/id</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
</XPathExtractor>
<hashTree/>
</hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Запрос типов документов" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#xd;
&lt;GetDocumentTypesRequest&gt;&#xd;
&lt;tripId&gt;${tripId}&lt;/tripId&gt;&#xd;
&lt;dispatchStationId&gt;${dispatchStationId}&lt;/dispatchStationId&gt;&#xd;
&lt;arrivalStationId&gt;${arrivalStationId}&lt;/arrivalStationId&gt; &#xd;
&lt;/GetDocumentTypesRequest&gt;</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.domain"></stringProp>
<stringProp name="HTTPSampler.port"></stringProp>
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">${__V(server)}/sales/getDocumentTypes</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
<boolProp name="HTTPSampler.monitor">false</boolProp>
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
</HTTPSamplerProxy>
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во типов документов &gt; 0" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">count(/Response/Body/DocumentType)&gt;0</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить все ID типов документов" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">documentTypeIds</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/DocumentType/id</stringProp>
<stringProp name="XPathExtractor.refname">seatId</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/GetFreeSeatsResponse/Body/Seat/id</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
@ -1124,8 +846,8 @@
&lt;firstName&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/firstName&gt;&#xd;
&lt;lastName&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/lastName&gt;&#xd;
&lt;middleName&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/middleName&gt; &#xd;
&lt;docNum&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/docNum&gt; &#xd;
&lt;docSeries&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/docSeries&gt; &#xd;
&lt;docNum&gt;${__RandomString(6,0123456789)}&lt;/docNum&gt; &#xd;
&lt;docSeries&gt;${__RandomString(4,0123456789)}&lt;/docSeries&gt; &#xd;
&lt;docTypeId&gt;${documentTypeIds_1}&lt;/docTypeId&gt; &#xd;
&lt;birthday&gt;1985-01-01&lt;/birthday&gt;&#xd;
&lt;citizenshipISO2&gt;RU&lt;/citizenshipISO2&gt;&#xd;
@ -1155,19 +877,10 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить ID договора" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">orderId</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/orderId</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/BookOrderResponse/Body/orderId</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
@ -1206,18 +919,9 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во билетов = 1" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">count(/Response/Body/Ticket)=1</stringProp>
<stringProp name="XPath.xpath">count(/GetOrderResponse/Body/Ticket)=1</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
@ -1227,7 +931,7 @@
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить ID билета" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">ticketId</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/Ticket/id</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/GetOrderResponse/Body/Ticket/id</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
@ -1235,7 +939,7 @@
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Статус договора" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/Body/Ticket/status/text()=&apos;RESERVED&apos;</stringProp>
<stringProp name="XPath.xpath">/GetOrderResponse/Body/Ticket/status/text()=&apos;RESERVED&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
@ -1244,7 +948,7 @@
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Страна" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/Body/Ticket/Passenger/citizenshipISO2/text()=&apos;RU&apos;</stringProp>
<stringProp name="XPath.xpath">/GetOrderResponse/Body/Ticket/Passenger/citizenshipISO2/text()=&apos;RU&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
@ -1252,6 +956,50 @@
</XPathAssertion>
<hashTree/>
</hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Изменения данных пассажира" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#xd;
&lt;UpdateTicketRequest&gt;&#xd;
&lt;ticketId&gt;${ticketId}&lt;/ticketId&gt;&#xd;
&lt;Passenger&gt;&#xd;
&lt;firstName&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/firstName&gt;&#xd;
&lt;lastName&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/lastName&gt;&#xd;
&lt;middleName&gt;${__RandomString(10,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)}&lt;/middleName&gt; &#xd;
&lt;docNum&gt;${__RandomString(6,0123456789)}&lt;/docNum&gt; &#xd;
&lt;docSeries&gt;${__RandomString(4,0123456789)}&lt;/docSeries&gt; &#xd;
&lt;docTypeId&gt;${documentTypeIds_1}&lt;/docTypeId&gt; &#xd;
&lt;birthday&gt;1986-01-01&lt;/birthday&gt;&#xd;
&lt;citizenshipISO2&gt;RU&lt;/citizenshipISO2&gt;&#xd;
&lt;gender&gt;FEMALE&lt;/gender&gt;&#xd;
&lt;/Passenger&gt;&#xd;
&lt;/UpdateTicketRequest&gt;</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.domain"></stringProp>
<stringProp name="HTTPSampler.port"></stringProp>
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">${__V(server)}/sales/updateTicket</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
<boolProp name="HTTPSampler.monitor">false</boolProp>
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
</HTTPSamplerProxy>
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
</hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Подтверждение оплаты" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
@ -1284,18 +1032,9 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во билетов = 1" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">count(/Response/Body/Ticket)=1</stringProp>
<stringProp name="XPath.xpath">count(/ConfirmOrderResponse/Body/Ticket)=1</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
@ -1305,7 +1044,7 @@
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить ID билета" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">orderId</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/Ticket/id</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/ConfirmOrderResponse/Body/Ticket/id</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
@ -1313,7 +1052,7 @@
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Статус договора" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/Body/Ticket/status/text()=&apos;SOLD&apos;</stringProp>
<stringProp name="XPath.xpath">/ConfirmOrderResponse/Body/Ticket/status/text()=&apos;SOLD&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
@ -1353,36 +1092,18 @@
<hashTree>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="Это XML?" enabled="true"/>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Ответ положительный?" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/@success=&apos;true&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Кол-во билетов = 1" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">count(/Response/Body/Ticket)=1</stringProp>
<stringProp name="XPath.xpath">count(/ReturnTicketResponse/Body/Ticket)=1</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
<boolProp name="XPath.namespace">false</boolProp>
</XPathAssertion>
<hashTree/>
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Получить ID билета" enabled="true">
<stringProp name="XPathExtractor.default"></stringProp>
<stringProp name="XPathExtractor.refname">orderId</stringProp>
<stringProp name="XPathExtractor.xpathQuery">/Response/Body/Ticket/id</stringProp>
<boolProp name="XPathExtractor.validate">false</boolProp>
<boolProp name="XPathExtractor.tolerant">false</boolProp>
<boolProp name="XPathExtractor.namespace">false</boolProp>
</XPathExtractor>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="Статус договора" enabled="true">
<boolProp name="XPath.negate">false</boolProp>
<stringProp name="XPath.xpath">/Response/Body/Ticket/status/text()=&apos;RETURNED&apos;</stringProp>
<stringProp name="XPath.xpath">/ReturnTicketResponse/Body/Ticket/status/text()=&apos;RETURNED&apos;</stringProp>
<boolProp name="XPath.validate">false</boolProp>
<boolProp name="XPath.whitespace">false</boolProp>
<boolProp name="XPath.tolerant">false</boolProp>
@ -1394,7 +1115,6 @@
</hashTree>
</hashTree>
</hashTree>
</hashTree>
<DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
<boolProp name="displayJMeterProperties">false</boolProp>
<boolProp name="displayJMeterVariables">true</boolProp>

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="qualified">
<xs:simpleType name="IDType">
<xs:restriction base="xs:string">
<xs:maxLength value="36"/>
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NameType">
<xs:restriction base="xs:string">
<xs:maxLength value="100"/>
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="OkatoType">
<xs:restriction base="xs:string">
<xs:length value="11"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="InnType">
<xs:restriction base="xs:string">
<xs:maxLength value="12"/>
<xs:minLength value="10"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SimpleStringType">
<xs:restriction base="xs:string">
<xs:maxLength value="100"/>
<xs:minLength value="0"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="AbstractResponse">
<xs:sequence>
<xs:element name="Error" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="code" type="xs:string" minOccurs="1"/>
<xs:element name="message" type="xs:string" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="UidType">
<xs:restriction base="xs:string">
<xs:length value="36"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="RouteKey">
<xs:sequence>
<xs:element name="dispatchStationUid" type="UidType"/>
<xs:element name="arrivalStationUid" type="UidType"/>
<xs:element name="dispatchTime" type="xs:time"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Agent">
<xs:sequence>
<xs:element name="name" type="NameType" minOccurs="0"/>
<xs:element name="inn" type="InnType" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

@ -0,0 +1,567 @@
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="qualified">
<xs:import schemaLocation="avs5rs_common.xsd" namespace=""/>
<xs:complexType name="Station">
<xs:sequence>
<xs:element name="id" type="IDType" minOccurs="1"/>
<xs:element name="name" type="NameType" minOccurs="1"/>
<xs:element name="okato" type="OkatoType" minOccurs="0"/>
<xs:element name="region" type="SimpleStringType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="TripType">
<xs:restriction base="xs:string">
<xs:enumeration value="INTERNATIONAL"/>
<xs:enumeration value="INTERREGIONAL"/>
<xs:enumeration value="ADJACENT_INTERREGIONAL"/>
<xs:enumeration value="INTERMUNICIPAL"/>
<xs:enumeration value="MUNICIPAL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TripStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="ON_SALE"/>
<xs:enumeration value="SUSPENDED"/>
<xs:enumeration value="CANCELED"/>
<xs:enumeration value="DISPATCHED"/>
<xs:enumeration value="UNKNOWN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TripClass">
<xs:restriction base="xs:string">
<xs:enumeration value="REGULAR"/>
<xs:enumeration value="CUSTOM"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TicketClass">
<xs:restriction base="xs:string">
<xs:enumeration value="PASSENGER"/>
<xs:enumeration value="BAGGAGE"/>
<xs:enumeration value="WITHOUT_SEAT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GenderType">
<xs:restriction base="xs:string">
<xs:enumeration value="MALE"/>
<xs:enumeration value="FEMALE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ErrorCode">
<xs:restriction base="xs:string">
<xs:enumeration value="INTERNAL"/>
<xs:enumeration value="NOT_FOUND"/>
<xs:enumeration value="SEAT_OCCUPIED"/>
<xs:enumeration value="PERSONAL_DATA_INCORRECT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TicketStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="RESERVED"/>
<xs:enumeration value="SOLD"/>
<xs:enumeration value="CANCELED"/>
<xs:enumeration value="RETURNED"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Trip">
<xs:sequence>
<xs:element name="id" type="IDType" minOccurs="1"/>
<xs:element name="name" type="NameType" minOccurs="1"/>
<xs:element name="num" type="xs:string" minOccurs="0"/>
<xs:element name="dispatchDate" type="xs:dateTime" minOccurs="1"/>
<xs:element name="arrivalDate" type="xs:dateTime" minOccurs="1"/>
<xs:element name="dispatchStationId" type="IDType" minOccurs="1"/>
<xs:element name="dispatchStationName" type="NameType" minOccurs="1"/>
<xs:element name="arrivalStationId" type="IDType" minOccurs="1"/>
<xs:element name="arrivalStationName" type="NameType" minOccurs="1"/>
<xs:element name="price" type="xs:decimal" minOccurs="1"/>
<xs:element name="carrierName" type="NameType" minOccurs="0"/>
<xs:element name="carrierInn" type="InnType" minOccurs="1"/>
<xs:element name="busInfo" type="xs:string" minOccurs="1"/>
<xs:element name="platform" type="xs:string" minOccurs="0"/>
<xs:element name="type" type="TripType" minOccurs="1"/>
<xs:element name="status" type="TripStatus" minOccurs="1"/>
<xs:element name="tripClass" type="TripClass" minOccurs="0"/>
<xs:element name="seatCount" type="xs:int" minOccurs="1"/>
<xs:element name="freeSeatCount" type="xs:int" minOccurs="1"/>
<xs:element name="routeKey" type="RouteKey" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Seat">
<xs:sequence>
<xs:element name="id" type="IDType" minOccurs="1"/>
<xs:element name="num" type="xs:int" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Passenger">
<xs:sequence>
<xs:element name="firstName" type="xs:string" minOccurs="1"/>
<xs:element name="lastName" type="xs:string" minOccurs="1"/>
<xs:element name="middleName" type="xs:string" minOccurs="0"/>
<xs:element name="docNum" type="xs:string" minOccurs="0"/>
<xs:element name="docSeries" type="xs:string" minOccurs="0"/>
<xs:element name="docTypeId" type="IDType" minOccurs="1"/>
<xs:element name="birthday" type="xs:date" minOccurs="0"/>
<xs:element name="citizenshipISO2" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="gender" type="GenderType" minOccurs="0"/>
<xs:element name="phone" type="xs:string" minOccurs="0"/>
<xs:element name="info" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Sale">
<xs:sequence>
<xs:element name="seatId" type="IDType" minOccurs="0"/>
<xs:element name="ticketTypeId" type="IDType" minOccurs="1"/>
<xs:element name="Passenger" type="Passenger" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TripStop">
<xs:sequence>
<xs:element name="id" type="IDType" minOccurs="1"/>
<xs:element name="name" type="NameType" minOccurs="1"/>
<xs:element name="regionName" type="NameType" minOccurs="0"/>
<xs:element name="dispatchDate" type="xs:dateTime" minOccurs="1"/>
<xs:element name="arrivalDate" type="xs:dateTime" minOccurs="1"/>
<xs:element name="stopTime" type="xs:int" minOccurs="0"/>
<xs:element name="distance" type="xs:int" minOccurs="0"/>
<xs:element name="price" type="xs:decimal" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TicketType">
<xs:sequence>
<xs:element name="id" type="IDType" minOccurs="1"/>
<xs:element name="name" type="NameType" minOccurs="1"/>
<xs:element name="price" type="xs:decimal" minOccurs="1"/>
<xs:element name="ticketClass" type="TicketClass" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DocumentType">
<xs:sequence>
<xs:element name="id" type="IDType" minOccurs="1"/>
<xs:element name="name" type="NameType" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Ticket">
<xs:sequence>
<xs:element name="id" type="IDType" minOccurs="1"/>
<xs:element name="number" type="xs:string" minOccurs="0"/>
<xs:element name="series" type="xs:string" minOccurs="0"/>
<xs:element name="created" type="xs:dateTime" minOccurs="1"/>
<xs:element name="returned" type="xs:dateTime" minOccurs="1"/>
<xs:element name="status" type="TicketStatus" minOccurs="1"/>
<xs:element name="ticketClass" type="TicketClass" minOccurs="1"/>
<xs:element name="typeId" type="IDType" minOccurs="1"/>
<xs:element name="routeNum" type="xs:string" minOccurs="0"/>
<xs:element name="routeName" type="NameType" minOccurs="1"/>
<xs:element name="busInfo" type="xs:string" minOccurs="1"/>
<xs:element name="carrierName" type="xs:string" minOccurs="0"/>
<xs:element name="carrierInn" type="InnType" minOccurs="1"/>
<xs:element name="platform" type="xs:string" minOccurs="0"/>
<xs:element name="dispatchDate" type="xs:dateTime" minOccurs="1"/>
<xs:element name="arrivalDate" type="xs:dateTime" minOccurs="1"/>
<xs:element name="dispatchStation" type="xs:string" minOccurs="1"/>
<xs:element name="arrivalStation" type="xs:string" minOccurs="1"/>
<xs:element name="seatNum" type="xs:int" minOccurs="1"/>
<xs:element name="Passenger" type="Passenger" minOccurs="0"/>
<xs:element name="fare" type="xs:decimal" minOccurs="1"/>
<xs:element name="fees" type="xs:decimal" minOccurs="1"/>
<xs:element name="repayment" type="xs:decimal" minOccurs="0"/>
<xs:element name="insuranceInfo" type="xs:string" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:element name="EchoRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="message" type="xs:string" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EchoResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="message" minOccurs="1" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="GetDispatchStationsRequest">
<xs:complexType>
</xs:complexType>
</xs:element>
<xs:element name="GetDispatchStationsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="Station" type="Station" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="GetArrivalStationsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="dispatchStationId" type="IDType" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetArrivalStationsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="Station" type="Station" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="SearchTripsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="dispatchStationId" type="IDType" minOccurs="1"/>
<xs:element name="arrivalStationId" type="IDType" minOccurs="1"/>
<xs:element name="date" type="xs:date" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SearchTripsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="Trip" type="Trip" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="GetFreeSeatsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="tripId" type="IDType" minOccurs="1"/>
<xs:element name="dispatchStationId" type="IDType" minOccurs="1"/>
<xs:element name="arrivalStationId" type="IDType" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetFreeSeatsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="Seat" type="Seat" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="GetTicketTypesRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="tripId" type="IDType" minOccurs="1"/>
<xs:element name="dispatchStationId" type="IDType" minOccurs="1"/>
<xs:element name="arrivalStationId" type="IDType" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetTicketTypesResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="TicketType" type="TicketType" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="GetDocumentTypesRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="tripId" type="IDType" minOccurs="1"/>
<xs:element name="dispatchStationId" type="IDType" minOccurs="1"/>
<xs:element name="arrivalStationId" type="IDType" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetDocumentTypesResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="DocumentType" type="DocumentType" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="GetTripStopsRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="tripId" type="IDType" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetTripStopsResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="Stop" type="TripStop" maxOccurs="unbounded" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="BookOrderRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="tripId" type="IDType" minOccurs="1"/>
<xs:element name="dispatchStationId" type="IDType" minOccurs="1"/>
<xs:element name="arrivalStationId" type="IDType" minOccurs="1"/>
<xs:element name="Sale" type="Sale" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Agent" type="Agent" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BookOrderResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="orderId" type="IDType" minOccurs="1"/>
<xs:element name="lifetime" type="xs:int" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="GetOrderRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="orderId" type="IDType" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetOrderResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="orderId" type="IDType" minOccurs="1"/>
<xs:element name="Ticket" type="Ticket" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="ConfirmOrderRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="orderId" type="IDType" minOccurs="1"/>
<xs:element name="Agent" type="Agent" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ConfirmOrderResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="orderId" type="IDType" minOccurs="1"/>
<xs:element name="Ticket" type="Ticket" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="CancelTicketRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="ticketId" type="IDType" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="Agent" type="Agent" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CancelTicketResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="Ticket" type="Ticket" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="ReturnTicketRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="ticketId" type="IDType" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="Agent" type="Agent" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ReturnTicketResponse">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AbstractResponse">
<xs:sequence>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element name="Ticket" type="Ticket" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="UpdateTicketRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="ticketId" type="IDType"/>
<xs:element name="Passenger" type="Passenger" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="UpdateTicketResponse">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="AbstractResponse"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:schema>

@ -3,65 +3,10 @@
elementFormDefault="qualified"
attributeFormDefault="qualified">
<xs:simpleType name="IDType">
<xs:restriction base="xs:string">
<xs:maxLength value="36"/>
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:import schemaLocation="avs5rs_common.xsd" namespace=""/>
<xs:simpleType name="UidType">
<xs:restriction base="xs:string">
<xs:length value="36"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="RouteKey">
<xs:sequence>
<xs:element name="dispatchStationUid" type="UidType"/>
<xs:element name="arrivalStationUid" type="UidType"/>
<xs:element name="dispatchTime" type="xs:time"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="InnType">
<xs:restriction base="xs:string">
<xs:maxLength value="12"/>
<xs:minLength value="10"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NameType">
<xs:restriction base="xs:string">
<xs:maxLength value="100"/>
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Agent">
<xs:sequence>
<xs:element name="name" type="NameType" minOccurs="0"/>
<xs:element name="inn" type="InnType" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AbstractResponse">
<xs:sequence>
<xs:element name="Error" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="code" type="xs:string" minOccurs="1"/>
<xs:element name="message" type="xs:string" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="SetStationUidRequest">
<xs:element name="SetStationInfoRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="stationId" type="IDType" minOccurs="1"/>
@ -70,7 +15,7 @@
</xs:complexType>
</xs:element>
<xs:element name="SetStationUidResponse">
<xs:element name="SetStationInfoResponse">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="AbstractResponse"/>
@ -85,7 +30,7 @@
<xs:element name="dispatchStationUid" type="UidType"/>
<xs:element name="arrivalStationUid" type="UidType"/>
<xs:element name="date" type="xs:date"/>
<xs:element name="seatsCount" type="xs:integer"/>
<xs:element name="seatsCount" type="xs:int"/>
<xs:element name="Agent" type="Agent" minOccurs="1"/>
</xs:sequence>
</xs:complexType>

Loading…
Cancel
Save