The fundamental way to perform a task with iVectorConnect is to send XML requests to the system. The system will then attempt to process the request and send an XML response back.
Before we go into the details what to send in specific calls, it is worth looking at some generic elements that are used in all calls. These elements are
Login details - required in every request
Return Status - included in every response
Â
As the interface is stateless, all requests to the interface require login details to be sent in the body of the request. The login details have the following XML structure:
<LoginDetails>
    <Login>TestLogin</Login>
    <Password>TestPassword</Password>
    <AgentReference>Test</AgentReference>
    <SellingCurrencyID>1</SellingCurrencyID>
    <LanguageID>1</LanguageID>
</LoginDetails>
Example XML requests
The example given below is a Search Bookings request, which includes the login details as the first child node of the request:
<SearchBookingsRequest>
<LoginDetails>
<Login>TestLogin</Login>
<Password>TestPassword</Password>
</LoginDetails>
<BookingReference>123</BookingReference>
</SearchBookingsRequest>
The following example is a transfer search request:
<TransferSearchRequest>
<LoginDetails>
<Login>TestLogin</Login>
<Password>TestPassword</Password>
</LoginDetails>
<DepartureParentType>Airport</DepartureParentType>
<DepartureParentID>21</DepartureParentID>
<ArrivalParentType>Resort</ArrivalParentType>
<ArrivalParentID>386</ArrivalParentID>
<DepartureDate>2014-03-15</DepartureDate>
<DepartureTime>13:00</DepartureTime>
<OneWay>1</OneWay>
<GuestConfiguration>
<Adults>3</Adults>
<Children>1</Children>
<infants>0</Infants>
<ChildAges>
<ChildAge>15</ChildAge>
</ChildAges>
</GuestConfiguration>
</TransferSearchRequest>
All responses from the interface will include a Return Status, to determine whether a request made to the interface was successful. The return status has the following XML structure:
<ReturnStatus>
<Success>true</Success>
<Exceptions/>
</ReturnStatus>
Example XML responses
If a request was successful:
<PropertySearchResponse>
<ReturnStatus>
<Success>true</Success>
<Exceptions />
</ReturnStatus>
<PropertyResults />
</PropertySearchResponse>
If a request was unsuccessful:
<PropertySearchResponse>
<ReturnStatus>
<Success>false</Success>
<Exceptions>
<Exception>A departure date must be specified</Exception>
<Exception>An age must be specified for each child</Exception>
</Exceptions>
</ReturnStatus>
</PropertySearchResponse>