ResLink

Make Tour Booking


Request Profile Table

Element | @Attribute Description/Contents
MakeTourBooking_RQ Root element of message.
BookingAgent (optional) Element indicating a booking agent. Leave empty to make a direct booking.
To specify an agent you can just provide either the ID, or the GUID. If both are provided ResLink will make a check to see if the GUID and ID match in the database and will error out if they don't.
  ID ID of the booking agent.
  GUID GUID identifier for booking agent.
  Contact Contact name.
  Email Email address.
  Phone Phone number.
  OtherRef Booking Agent Reference.
  OtherRef2 Second Booking Agent Reference.
SellingAgent (optional) Element indicating a selling agent.
To specify an agent you can just provide either the ID, or the GUID. If both are provided ResLink will make a check to see if the GUID and ID match in the database and will error out if they don't.
  ID ID of the selling agent.
  GUID GUID identifier for selling agent.
Booking Element indicating the booking.
  Name Booking name.
  Email Contact email address for booking.
  Phone Contact phone for booking.
  MemberID ProCharter Member ID.
  PaymentToken Payment Token issued by a Payment Gateway to store on the booking.
  Pickup Pickup Location code (see GetPickupLocations for more details).
RunID Element specifying the run ID to book.
HoldID (optional) Element specifying an existing Availability Hold ID use.
BookingClassTypes Element indicating a list of booking class types.
  BookingClassType Element indicating a booking class type.
  @ClassTypeID Class type ID.
  @PaxCount Number of passengers to allocate to this class type.
  @Quantity Number of class types being used. Eg. for a room with two single beds, PaxCount would be 2, and Quantity would be 2. For a room with a single and a double (Total Capacity of 3) and three people staying in that room, PaxCount would be 3, and Quantity would be 1.
  @Price The desired cost for this class type in dollar amounts. (No need for $ sign). If this value is greater than zero, it will be used as the price for the booking rather than the calculated price.
This value is used only if the Allow Price/Commission Overrides setting is enabled in the suppliers ProCharter settings.
  @Commission The desired commission in dollar amounts. If this value is greater than zero, it will be used as the commission for the booking rather than the calculated commission.
This value is used only if the Allow Price/Commission Overrides setting is enabled in the suppliers ProCharter settings.
PaxList Element indicating a list of passengers.
  Pax Element indicating a passenger.
    Firstname First name.
    LastName Last name.
    Email Email address.
    Phone Phone number.
    Country_GUID Passenger's country as identified by ProCharter System Code GUID
    State_GUID Passenger's state as identified by ProCharter System Code GUID
    Comments Comments.
    OtherRef Passenger Agent Reference.
    OtherRef2 Passenger Second Agent Reference.
    MarketingFields
    (optional)
Element indicating a list of marketing fields for the passenger. See GetMarketingFields for how to retrieve marketing fields.
      MarketingField Element indicating a marketing field.
      @Type Can be either "Pax", or "BookPax".
      @Index Unique index for the field type.
      @Name Description of the field - this can be left blank.
      @Value Value of the marketing field.
MarketingFields
(optional)
Element indicating a list of marketing fields for the booking.
  MarketingField Element indicating a marketing field.
  @Type Use "Booking".
  @Index Unique index for the field type.
  @Name Description of the field - this can be left blank.
  @Value Value of the marketing field.
Notes
(optional)
Element indicating a list of notes.
  string Element indicating a note string value.
Services Collection of BookingServices.
  Booking Service Element indicating an additional service for the booking.
  @ProductCode Product Code for the service
  @Quantity Quantity of the service
  @Price Total Price for the service
  @Commission Total Commission for the service
Receipt
(optional)
Element indicating a payment receipt. The amount receipted in ProCharter is Total - Commission.
  Total Payment total.
  Commission The portion of the Total amount that is the Commission passed on to the Agent automatically as part of a Money Direct transaction.
  TransactionFee The portion of the Total amount that is the Transaction fee.
  FTR Financial Transaction Record - a string value used in Money Direct transactions.
  PaymentType
  (optional)
The 2 character ProCharter PaymentType code for the payment. If omitted the default payment type will be used.
MakeTestBooking Create a test booking. Set to true to create a WebRes booking; the status will automatically be set to cancelled.
SendConfirmationEmail Flag to send a confirmation email from ProCharter when the booking has been created. Default is True.
CreateAccommodation (optional) Controls whether to create additional accommodation bookings (number of nights specified by PreAccommodationNights and PostAccommodationNights. Possible values are:
DoDefault - Set the Create Accommodation flag to the default
CreateAccommodation - Explicitly set the Create Accommodation flag
DontCreateAccommodation - Explicity clear the Create Accommodation
Default value is DoDefault.
PreAccommodationNights (optional) Number of nights prior to the booking to create accommodation for. Requires CreateAccommodation = CreateAccommodation.
PostAccommodationNights (optional) Number of nights after the booking to create accommodation for. Requires CreateAccommodation = CreateAccommodation.

Scenario:

You want to book Run ID 9257 for John Doe using a test agent.


Example message:

<?xml version="1.0" encoding="utf-8"?>
<MakeTourBooking_RQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <BookingAgent xmlns="ResLink">
    <GUID>TEST</GUID>
    <Contact>Mr John Smith </Contact>
    <Email>John@palace</Email>
    <Phone>07 1234 5678 </Phone>
    <OtherRef>BK1794</OtherRef>
    <OtherRef2>R2D2-C3PO</OtherRef2>
  </BookingAgent>
  <SellingAgent xmlns="ResLink">
    <GUID></GUID>
  </SellingAgent>
  <Booking xmlns="ResLink">
    <Name>John Doe</Name>
    <Email>JohnDoe@hotmail.com</Email>
    <Phone>0401 123 456</Phone>
    <MemberID>101</MemberID>
    <PaymentToken></PaymentToken>
    <Pickup>P01</Pickup>
  </Booking>
  <RunID xmlns="ResLink">9257</RunID>
  <HoldID xmlns="ResLink">0</HoldID>
  <BookingClassTypes xmlns="ResLink">
    <BookingClassType ClassTypeID="32" PaxCount="2" Quantity="1" Price="1098" Commission="219.6" />
  </BookingClassTypes>
  <PaxList xmlns="ResLink">
    <Pax>
      <FirstName>John</FirstName>
      <LastName>Doe</LastName>
      <Email>JohnDoe@hotmail.com</Email>
      <Phone>0401 123 456</Phone>
      <Country_GUID>CNT_AUS</Country_GUID>
      <State_GUID>STS_QLD</State_GUID>
      <Comments>Allergic to cotton sheets</Comments>
      <OtherRef>BK1794-1</OtherRef>
      <OtherRef2></OtherRef2>
      <MarketingFields>
        <MarketingField Type="Pax" Index="1" Name="Diet" Value="NNU" />
        <MarketingField Type="BookPax" Index="3" Name="Dive Status" Value="CER" />
      </MarketingFields>
    </Pax>
    <Pax>
      <FirstName>Jane</FirstName>
      <LastName>Doe</LastName>
      <Email>JaneDoe@hotmail.com</Email>
      <Phone>0401 654 321</Phone>
      <Country_GUID>CNT_AUS</Country_GUID>
      <State_GUID>STS_QLD</State_GUID>
      <Comments>I am a banana</Comments>
      <OtherRef>BK1794-2</OtherRef>
      <OtherRef2></OtherRef2>
    </Pax>
  </PaxList>
  <Notes xmlns="ResLink">
    <string>Need to be picked up at the airport flight JQ143.</string>
  </Notes>
  <Services xmlns="ResLink">
    <BookingService ProductCode="DIVE1" Quantity="2" Price="200" Commission="20" />
  </Services>
  <Receipt xmlns="ResLink">
    <Total>1098</Total>
    <Commission>219.6</Commission>
    <TransactionFee>1</TransactionFee>
    <FTR>123456789</FTR>
  </Receipt>
  <MakeTestBooking xmlns="ResLink">false</MakeTestBooking>
  <SendConfirmationEmail xmlns="ResLink">true</SendConfirmationEmail>
  <CreateAccommodation xmlns="ResLink">CreateAccommodation</CreateAccommodation>
  <PreAccommodationNights xmlns="ResLink">1</PreAccommodationNights>
  <PostAccommodationNights xmlns="ResLink">2</PostAccommodationNights>
</MakeTourBooking_RQ>


Response Profile Table

Element | @Attribute Description/Contents
MakeTourBooking_RS Root element of message.
ID The WebRes Booking ID prefixed with 'WR'.
GUID Unique identifier for the WebRes booking that is required by certain integration partners
Status Element indicating the return status of the transaction.
@Code A numerical code for the status.
@Message The message of the status.
The messages (and corresponding codes) returned are:
Code   Message
0 Booking successful.
1 This booking already exists. ResLink will return this booking's data. If the run has already been booked, the booking will be loaded and this message returned with a matching warning message.
2 Booking cannot be processed: Booking class types not specified. The booking class types in the request message is empty.
3 Booking cannot be processed: PaxList not specified. The PaxList in the request message is empty.
4 Booking cannot be processed: Booking Agent GUID does not match up with the Booking Agent ID specified.
5 Booking cannot be processed: Selling Agent GUID does not match up with the Selling Agent ID specified.
6 Booking cannot be processed: Run ID: n does not exist.
7 Booking cannot be processed: Insufficient availability for Run ID: n.
8 Booking cannot be processed: Validation failed. See error list for violations. If any values are incorrect or missing when required, this message will be raised. Individual validation errors will be listed in the error messages.
9 Booking cannot be processed: Product with Code ProductCode does not exist. A Booking Service was requested with a Product that does not exist
10 Booking cannot be processed: Product with Code ProductCode has an incorrect price specified. Price should be Quantityx UnitPrice = TotalPrice. A Booking Service was added to the booking with an invalid price,
11 Booking cannot be processed: Product with Code ProductCode has an incorrect commission specified. Commission should be TotalCommission. A Booking Service was added to the booking with an invalid commission value.
12 Booking Agent: AgentName does not have permission to book ResourceName. The specified Booking Agent does not permission to create bookings on the selected Resource.
13 Passenger First Name is required.
14 Passenger Last Name is required.
CalculatedPrice The calculated price of the booking.
CalculatedCommission The calculated commission of the booking.

Example message:

<?xml version="1.0" encoding="utf-8"?>
<MakeTourBooking_RS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ID xmlns="ResLink">WR6699</ID>
  <Status Code="0" Message="Booking successful." xmlns="ResLink" />
  <CalculatedPrice xmlns="ResLink">599</CalculatedPrice>
  <CalculatedCommission xmlns="ResLink">0</CalculatedCommission>
  <TimeStamp xmlns="ResLink"> 2007-11-20T16:08:35.0274665+10:00</TimeStamp>
  <Errors xmlns="ResLink" />
  <Warnings xmlns="ResLink" />
</MakeTourBooking_RS>