Skip to main content

BOOK

Method DestServicesBookV2

This method is to add to chart the products returned in the DestServicesAvailV2 response.

Note!! The price returned in this method, is the final price of the service. If the returned price in the method DestServicesAvailV2 do not match with this, the valid and final price will be the returned in the method DestServicesBookV2.

{YOUR.PROVIDER.DOMAIN}/destservices/destservices.asmx?op=DestServicesBookV2

Types of services

CodeDescription
Generic
TTransfers

Generic

General data that should be obtained from the DestServicesAvailV2Response

Node definition Request

NodeAttributeData TypeDescriptionValueMandatory
objRequestPrimaryLangIDStringLanguage codeLANGUAGERequired
objRequestEchoTokenIntegerThis value is returned in the response of the method DestServicesAvailV2Required
objRequestTransactionIdentifierStringBooking/locator referenceOptional
objRequest\DateDateInitial date to the booking This date must be an available date returned in the node "AvailResponseV2Detail\Date" of DestServicesAvailV2 response (If anyone has returned, the start date of the booking is equal to the Start date of the DestServicesAvailV2 request and this node should not be informed).YYYY-MM-DDOptional
objRequest\SectorCodeStringCode of the selected sector, from among those returned in the DestServicesAvailV2 responseOptional
objRequest\BookRequestV2PackageOptionsPackageIDIntegerProduct identifier package, allows package the service that is being added to the reservation. This identifier must be requested from the providerOptional
objRequest\BookRequestV2PackageOptionsIncludeOtherServicesBooleanIf the value is true, other services that exist in the reservation are packedOptional
objRequest\ConceptsArrayArray of the concepts of the bookingRequired
objRequest\Concepts\BookRequestV2Concept\ProductBookingCodeIntegerCode of the product returned in DestServicesAvailV2Required
objRequest\Concepts\BookRequestV2Concept\ProductCodeIntegerProductCode of the product returned in static data (StaticMasterData=Default)Optional
objRequest\Concepts\BookRequestV2Concept\ConceptCodeIntegerConceptCode of the producto/concept returned in static data (StaticMasterData=Default)Optional
objRequest\Concepts\BookRequestV2Concept\DurationBooleanDuration of service, mandatory only for products with variable duration (products with value -1 in ProductDays node of static data method) and added with the ProductCode nodeOptional
objRequest\Concepts\BookRequestV2Concept\QuantityIntegerQuantity of the concepts to bookRequired
objRequest\Concepts\BookRequestV2Concept\HourStringHour returned in the BookOptions of DestServicesAvailV2--:--Optional
objRequest\Concepts\BookRequestV2Concept\LangIDStringLanguage returned in the BookOptions of DestServicesAvailV2Optional
objRequest\Concepts\BookRequestV2Concept\ConceptBookingCodeStringCode of the concept returned in DestServicesAvailV2Required
objRequest\Concepts\BookRequestV2Concept\OptionalDetailsArrayArray of optional details to be reservedOptional
objRequest\Concepts\BookRequestV2Concept\OptionalDetails\OptionalDetailDetailBookingCodeStringValue returned in DestServicesAvailV2Required
objRequest\Concepts\BookRequestV2Concept\OptionalDetails\OptionalDetailQuantityIntegerQuantity of the details to bookRequired
objRequest\CancelBookingItemsArrayArray of booking items to cancelOptional
objRequest\CancelBookingItems\BookingItemIdentifierIntegerIdentifier of the element to cancelRequired

Node definition Response

NodeAttributeData TypeDescriptionValueMandatory
DestServicesBookV2ResultTransactionIdentifierStringLocator of the bookingRequired
DestServicesBookV2Result\BookingExpirationDateExpiration date of the booking if this not is commited beforeOptional
DestServicesBookV2Result\BookingExpirationSecondsLeftSeconds remaining to send the commit request of this bookingOptional
ProductsArrayArray of productsRequired
Products\BookResponseV2Product\CancelPenaltiesArrayArray of cancel penaltiesOptional
Products\BookResponseV2Product\CancelPenalties\CancelPenaltyStartDateStart date of the application of this cancel penaltyYYYY-MM-DDRequired
Products\BookResponseV2Product\CancelPenalties\CancelPenaltyEndDateEnd date of the application of this cancel penaltyYYYY-MM-DDRequired
Products\BookResponseV2Product\CancelPenalties\CancelPenalty\AmountPercentPercentIntegerPercentage of penalty over the amount of the productYYYY-MM-DDOptional
Products\BookResponseV2Product\CancelPenalties\CancelPenalty\AmountPercentNmbrOfNightsIntegerNumber of nights of penaltyOptional
Products\BookResponseV2Product\CancelPenalties\CancelPenalty\AmountPercentAmountDecimalAmount of the penaltyOptional
Products\BookResponseV2Product\CancelPenaltiesStartDateDateFirst day with cancellations feesOptional
Products\BookResponseV2Product\CancelPenaltiesDescriptionStringDescription of the cancel penaltiesOptional
Products\BookResponseV2Product\CancelPenalties\CancelPenalty\AmountPercentCurrencyCodeStringCurrency of the amount of the penaltyOptional
Products\BookResponseV2Product\Concepts\BookResponseV2Concept\ConceptBookingCodeConcept identifier to send in the commit requestRequired
Products...\BookResponseV2Concept\TotalPrice information of the concept (more info)Required
Products...\BookResponseV2Concept\Total\TaxesAmountDecimalNet amount of the conceptRequired
Products...\BookResponseV2Concept\Total\TaxesCurrencyCodeStringCode of the currency of the priceRequired
Products...\BookResponseV2Concept\Total\Taxes\CommissionsNode with the information about the commissionsOptional
Products...\BookResponseV2Concept\Total\Taxes\Commissions\SellingPriceDecimalSelling amount of the conceptRequired
Products...\BookResponseV2Concept\Total\Taxes\Commissions\CommissionableAmountDecimalCommissionable amount of the conceptRequired
Products...\BookResponseV2Concept\Total\Taxes\Commissions\NotCommissionableAmountDecimalNot commissionable amount of the conceptRequired
Products...\BookResponseV2Concept\Total\Taxes\Commissions\CommissionAmountDecimalAmount of the commission of the conceptRequired
Products...\BookResponseV2Concept\Total\Taxes\Commissions\NetAmountDecimalNet amount of the conceptRequired
Products\BookResponseV2Product\Concepts\BookResponseV2Concept\DetailsArrayArray of the details of the conceptRequired
Products...\Details\BookResponseV2Detail\QuantityIntegerReturn the booked quantity of the detail (only in optional details)Optional
Products...\Details\BookResponseV2Detail\TotalPrice information detail (more info)Required
Products...\Details\BookResponseV2Detail\Total\TaxesAmountDecimalNet amount of the detailRequired
Products...\Details\BookResponseV2Detail\Total\TaxesCurrencyCodeStringCode of the currency of the priceRequired
Products...\Details\BookResponseV2Detail\Total\Taxes\CommissionsNode with the information about the commissionsOptional
Products...\Commissions\SellingPriceDecimalSelling amount of the detailRequired
Products...\Commissions\CommissionableAmountDecimalCommissionable amount of the detailRequired
Products...\Commissions\NotCommissionableAmountDecimalNot commissionable amount of the detailRequired
Products...\Commissions\CommissionAmountDecimalAmount of the commission of the detailRequired
Products...\Commissions\NetAmountDecimalNet amount of the detailRequired
Products\BookResponseV2Product\Concepts\BookResponseV2Concept\QuestionsArrayArray of the questions for the passengerOptional
Products...\Questions\QuestionCodeStringCode of the questionRequired
Products...\Questions\QuestionMandatoryBooleanIndicate whether it is mandatory to answer the questiontrue/falseRequired
Products...\Questions\Question\NameStringQuestion nameRequired
Products...\Questions\Question\ResponsesArrayArray of the possible responses for the questionOptional
Products...\Questions\Question\Responses\stringStringPossible responseRequired
Products...\Questions\Question\RPHIntegerIdentifier of the pax to whom the question relates. This is used to ask questions for each passenger in order to differentiate the answers.Optional
Products\BookResponseV2Product\Concepts\BookResponseV2Concept\GuestInfoRequired\PaxsRequiredEnnumPax that you need inform to commit the bookingOne_Passenger All_PassengersOptional
Products\BookResponseV2Product\Concepts\BookResponseV2Concept\GuestInfoRequired\GivenNameBooleanIndicates if passenger name is requiredtrue/falseOptional
Products\BookResponseV2Product\Concepts\BookResponseV2Concept\GuestInfoRequired\SurnameBooleanIndicates if passenger surname is requiredtrue/falseOptional
Products\BookResponseV2Product\Concepts\BookResponseV2Concept\GuestInfoRequired\BirthDateBooleanIndicates if passanger birth date is requiredtrue/falseOptional
Products\BookResponseV2Product\Concepts\BookResponseV2Concept\GuestInfoRequired\PhoneNumberBooleanIndicates if passenger phone number is requiredtrue/falseOptional
Products\BookResponseV2Product\Concepts\BookResponseV2Concept\GuestInfoRequired\EmailBooleanIndicates if passenger email is requiredtrue/falseOptional
Products\BookResponseV2Product\Concepts\BookResponseV2Concept\GuestInfoRequired\DocumentIDBooleanIndicates if passenger National ID Card/Passport number is requiredtrue/falseOptional
Products\BookResponseV2Product\Concepts\BookResponseV2Concept\GuestInfoRequired\DocumentExpirationDateBooleanIndicates whether the passenger's National ID Card/Passport expiration date is requiredtrue/falseOptional
Products\BookResponseV2Product\Concepts\BookResponseV2Concept\GuestInfoRequired\GenderBooleanIndicates whether the passenger gender is requiredtrue/falseOptional
Products\BookResponseV2Product\ProviderLocatorStringExternal booking locator. This is not always returned, check with your provider if you need it.Optional
Products\BookResponseV2Product\BookingItemIdentifierIntegerIdentifier of the product element in the booking.Required
Products\BookResponseV2Product\VoucherNode with the information about the voucherOptional
Products\BookResponseV2Product\VoucherTypeStringType of the voucherBAR_CODE / QR_CODERequired
Products\BookResponseV2Product\VoucherValueStringValue of the voucherRequired
CancelBookingItemsResultStringMessage about the item cancellation result.Optional
CanceledBookingItems/BookingItemIdentifierIntegerIdentifier of the product element in the booking that was cancelled.Optional

XML Examples

Add to cart REQUEST example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://xml.ineedtours.com/ws/">
<soapenv:Header/>
<soapenv:Body>
<ws:DestServicesBookV2>
<ws:objCredentials>
<ws:Source>
<ws:RequestorID Type="DSP" ID="YOUR-USER" MessagePassword="YOUR-PASSWORD"/>
</ws:Source>
</ws:objCredentials>
<ws:objRequest EchoToken="8473933" PrimaryLangID="IDLANGUAGE">
<ws:Date>YYYY-MM-DD</ws:Date>
<ws:Concepts>
<ws:BookRequestV2Concept>
<ws:ProductBookingCode>1</ws:ProductBookingCode>
<ws:Quantity>2</ws:Quantity>
<ws:Hour>17:00</ws:Hour>
<ws:ConceptBookingCode>8330-11967556</ws:ConceptBookingCode>
</ws:BookRequestV2Concept>
<ws:BookRequestV2Concept>
<ws:ProductBookingCode>2</ws:ProductBookingCode>
<ws:Quantity>1</ws:Quantity>
<ws:Hour>17:00</ws:Hour>
<ws:ConceptBookingCode>8331-11967556</ws:ConceptBookingCode>
</ws:BookRequestV2Concept>
</ws:Concepts>
</ws:objRequest>
<CancelBookingItems>
<BookingItemIdentifier>852456</BookingItemIdentifier>
</CancelBookingItems>
</ws:DestServicesBookV2>
</soapenv:Body>
</soapenv:Envelope>
Add to cart RESPONSE example
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<DestServicesBookV2Response xmlns="http://xml.ineedtours.com/ws/">
<DestServicesBookV2Result EchoToken="8473933" PrimaryLangID="ES" TransactionIdentifier="2653R9" ResResponseType="Pending">
<Header ResponseTimestamp="2019-12-10T16:26:14.2137883+01:00" MillisecondProcessingTime="17867" Endpoint="demo.xml.com"/>
<BookingExpirationDate>2022-08-24T10:52:00</BookingExpirationDate>
<BookingExpirationMinutesLeft>39</BookingExpirationMinutesLeft>
<Products>
<BookResponseV2Product>
<Status>Pending</Status>
<ProductCode>51157</ProductCode>
<ProductName>OFERTA A Entrada Adult</ProductName>
<ProductDays>1</ProductDays>
<ProductBookingCode>0</ProductBookingCode>
<StayDateRange Start="2020-01-24T00:00:00" End="2020-01-24T00:00:00"/>
<Comments>
<Comment>
<Text>Entrada prevista para el día 24/01/2020 a las 17:00</Text>
</Comment>
</Comments>
<CancelPenalties>
<CancelPenalty Start="2022-11-15T00:00:00+01:00" End="2022-12-09T00:00:00+01:00">
<AmountPercent Amount="40.45000" CurrencyCode="EUR" />
<CancelPenaltiesStartDate>0001-01-01T00:00:00</CancelPenaltiesStartDate>
</CancelPenalty>
<CancelPenalty Start="2022-12-10T00:00:00" End="2022-12-17T00:00:00">
<AmountPercent Amount="80.9000" CurrencyCode="EUR" />
<CancelPenaltiesStartDate>0001-01-01T00:00:00</CancelPenaltiesStartDate>
</CancelPenalty>
</CancelPenalties>
<CancelPenaltiesStartDate>2021-12-17T00:00:00</CancelPenaltiesStartDate>
<CancelPenaltiesDescription>Cancelando entre el día 15/11/2022 y el día 09/12/2022: 40,45 €
Cancelando entre el día 10/12/2022 y el día 17/12/2022: 80,90 €
* Se toma como referencia la hora local del destino en el que se encuentra ubicado el hotel/actividad.</CancelPenaltiesDescription>
<ProviderLocator>Z58X8D</ProviderLocator>
<Concepts>
<BookResponseV2Concept>
<ConceptCode>16859</ConceptCode>
<ConceptName>Oferta A tarda: termoludic adult</ConceptName>
<Quantity>2</Quantity>
<ConceptBookingCode>8330-11967556</ConceptBookingCode>
<AgeFrom xsi:nil="true"/>
<AgeTo xsi:nil="true"/>
<IsChild>false</IsChild>
<StartTime>17:00</StartTime>
<Duration>0</Duration>
<Questions>
<Question Code="HTLOPCIONAL" Mandatory="false">
<Name>Por favor informe los detalles de su alojamiento (con dirección completa) en la ciudad del tour</Name>
</Question>
<Question Code="HTLOBLIGATORIO" Mandatory="true">
<Name>Por favor informe los detalles de su alojamiento (con dirección completa) en la ciudad del tour</Name>
</Question>
<Question Code="MENU" Mandatory="true">
<Name>Decida el menu entre las diferentes opciones</Name>
<Responses>
<string>Pescado</string>
<string>Carne</string>
<string>Pasta</string>
</Responses>
</Question>
</Questions>
<Answers>
<Answer Code="HTLOPCIONAL"/>
<Answer Code="HTLOBLIGATORIO"/>
<Answer Code="MENU"/>
</Answers>
<Details>
<BookResponseV2Detail>
<DetailName>Oferta A tarda: termoludic adult</DetailName>
<DetailBookingCode/>
<Date>2020-01-24T00:00:00</Date>
<OnRequest>false</OnRequest>
<Total>
<Taxes Amount="56" CurrencyCode="EUR" NumDecimals="2">
<Commissions>
<SellingPrice>56</SellingPrice>
<CommissionableAmount>56</CommissionableAmount>
<NotCommissionableAmount>0</NotCommissionableAmount>
<CommissionAmount>0</CommissionAmount>
<NetAmount>56</NetAmount>
</Commissions>
</Taxes>
</Total>
<Offer>false</Offer>
</BookResponseV2Detail>
</Details>
</BookResponseV2Concept>
</Concepts>
<BookingItemIdentifier>5890672</BookingItemIdentifier>
</BookResponseV2Product>
<BookResponseV2Product>
<Status>Pending</Status>
<ProductCode>51158</ProductCode>
<ProductName>OFERTA A Entrada Infant</ProductName>
<ProductDays>1</ProductDays>
<ProductBookingCode>0</ProductBookingCode>
<StayDateRange Start="2020-01-24T00:00:00" End="2020-01-24T00:00:00"/>
<Comments>
<Comment>
<Text>Entrada prevista para el día 24/01/2020 a las 17:00</Text>
</Comment>
</Comments>
<CancelPenaltiesStartDate xsi:nil="true"/>
<ProviderLocator>Z58X8D</ProviderLocator>
<Concepts>
<BookResponseV2Concept>
<ConceptCode>16860</ConceptCode>
<ConceptName>Oferta A termoludic infant 5 - 8 anys</ConceptName>
<Quantity>1</Quantity>
<ConceptBookingCode>8331-11967556</ConceptBookingCode>
<AgeFrom xsi:nil="true"/>
<AgeTo xsi:nil="true"/>
<IsChild>false</IsChild>
<StartTime>17:00</StartTime>
<Duration>0</Duration>
<Details>
<BookResponseV2Detail>
<DetailName>Oferta A termoludic infant 5 - 8 anys</DetailName>
<DetailBookingCode/>
<Date>2020-01-24T00:00:00</Date>
<OnRequest>false</OnRequest>
<Total>
<Taxes Amount="20.25" CurrencyCode="EUR" NumDecimals="2">
<Commissions>
<SellingPrice>20.25</SellingPrice>
<CommissionableAmount>20.25</CommissionableAmount>
<NotCommissionableAmount>0</NotCommissionableAmount>
<CommissionAmount>0</CommissionAmount>
<NetAmount>20.25</NetAmount>
</Commissions>
</Taxes>
</Total>
<Offer>false</Offer>
</BookResponseV2Detail>
</Details>
</BookResponseV2Concept>
</Concepts>
<BookingItemIdentifier>5890673</BookingItemIdentifier>
</BookResponseV2Product>
</Products>
</DestServicesBookV2Result>
</DestServicesBookV2Response>
</soap:Body>
</soap:Envelope>

Tranfers

Transfer data that should be obtained from the DestServicesAvailV2Response

Pick-up and drop-off times

Both the response of the DestServicesBookV2 method and the DestServicesCommitV2 method will return the times that will finally appear in the reservation. Therefore, if a transfer does not have the duration configured, only one timetable will be returned based on what is indicated in the valuation. If the transfer does have the duration configured, the pick-up and drop-off times will be returned.

XML Examples

Add to cart REQUEST example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://xml.ineedtours.com/ws/">
<soapenv:Header/>
<soapenv:Body>
<ws:DestServicesBookV2>
<ws:objCredentials>
<ws:Source>
<ws:RequestorID Type="DSP" ID="YOUR-USER" MessagePassword="YOUR-PASSWORD"/>
</ws:Source>
</ws:objCredentials>
<ws:objRequest EchoToken="8473933" PrimaryLangID="IDLANGUAGE">
<ws:ProductBookingCode>28</ws:ProductBookingCode>
<ws:Concepts>
<ws:BookRequestV2Concept>
<ws:ConceptBookingCode>1088</ws:ConceptBookingCode>
</ws:BookRequestV2Concept>
</ws:Concepts>
</ws:objRequest>
</ws:DestServicesBookV2>
</soapenv:Body>
</soapenv:Envelope>
Add to cart RESPONSE example
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<DestServicesBookV2Response xmlns="http://xml.ineedtours.com/ws/">
<DestServicesBookV2Result EchoToken="262" PrimaryLangID="ES" TransactionIdentifier="9B8ANE" ResResponseType="Pending">
<BookingExpirationDate>2022-08-24T10:52:00</BookingExpirationDate>
<BookingExpirationMinutesLeft>39</BookingExpirationMinutesLeft>
<Header ResponseTimestamp="2019-01-14T17:00:33.1750525+01:00" MillisecondProcessingTime="12517" Endpoint="demo.xml.com"/>
<Products>
<BookResponseV2Product>
<ProductCode>1352</ProductCode>
<ProductName>Coche Berlina Tipo A</ProductName>
<ProductDays>1</ProductDays>
<ProductBookingCode>1</ProductBookingCode>
<StayDateRange Start="2019-01-19T00:00:00" End="2019-01-19T00:00:00"/>
<CancelPenaltiesStartDate xsi:nil="true"/>
<ProviderLocator>Z58X8D</ProviderLocator>
<Concepts>
<BookResponseV2Concept>
<ConceptCode>1398</ConceptCode>
<ConceptName>Coche Berlina Tipo A</ConceptName>
<Quantity>1</Quantity>
<ConceptBookingCode>72</ConceptBookingCode>
<AgeFrom>0</AgeFrom>
<AgeTo>99</AgeTo>
<IsChild>false</IsChild>
<PickUpTime>09:00</PickUpTime>
<Duration>0</Duration>
<Details>
<BookResponseV2Detail>
<DetailName>Coche Berlina Tipo A</DetailName>
<DetailBookingCode/>
<Date xsi:nil="true"/>
<OnRequest>false</OnRequest>
<Total>
<Taxes Amount="52.5000" CurrencyCode="EUR" NumDecimals="2">
<Commissions>
<SellingPrice>52.5000</SellingPrice>
<CommissionableAmount>52.5000</CommissionableAmount>
<NotCommissionableAmount>0</NotCommissionableAmount>
<CommissionAmount>0</CommissionAmount>
<NetAmount>52.5000</NetAmount>
</Commissions>
</Taxes>
</Total>
<Offer>false</Offer>
</BookResponseV2Detail>
</Details>
</BookResponseV2Concept>
</Concepts>
</BookResponseV2Product>
<BookResponseV2Product>
<ProductCode>1352</ProductCode>
<ProductName>Coche Berlina Tipo A</ProductName>
<ProductDays>1</ProductDays>
<ProductBookingCode>1</ProductBookingCode>
<StayDateRange Start="2019-01-27T00:00:00" End="2019-01-27T00:00:00"/>
<CancelPenaltiesStartDate xsi:nil="true"/>
<ProviderLocator>Z58X8D</ProviderLocator>
<Concepts>
<BookResponseV2Concept>
<ConceptCode>1398</ConceptCode>
<ConceptName>Coche Berlina Tipo A</ConceptName>
<Quantity>1</Quantity>
<ConceptBookingCode>73</ConceptBookingCode>
<AgeFrom>0</AgeFrom>
<AgeTo>99</AgeTo>
<IsChild>false</IsChild>
<DeliveryTime>15:30</DeliveryTime>
<Duration>0</Duration>
<Details>
<BookResponseV2Detail>
<DetailName>Coche Berlina Tipo A</DetailName>
<DetailBookingCode/>
<Date xsi:nil="true"/>
<OnRequest>false</OnRequest>
<Total>
<Taxes Amount="52.5000" CurrencyCode="EUR" NumDecimals="2">
<Commissions>
<SellingPrice>52.5000</SellingPrice>
<CommissionableAmount>52.5000</CommissionableAmount>
<NotCommissionableAmount>0</NotCommissionableAmount>
<CommissionAmount>0</CommissionAmount>
<NetAmount>52.5000</NetAmount>
</Commissions>
</Taxes>
</Total>
<Offer>false</Offer>
</BookResponseV2Detail>
</Details>
</BookResponseV2Concept>
</Concepts>
</BookResponseV2Product>
</Products>
</DestServicesBookV2Result>
</DestServicesBookV2Response>
</soap:Body>
</soap:Envelope>