This feature allows:
- to obtain information from IMS VOYAGER Tour / Transit V3.5 database in XML format;
- perform remote V3.5 booking using your own website or any other application;
- insert/update IMS VOYAGER inventory;
- get detailed information about tours and transit in the IMS VOYAGER system in XML format.
HOW IT WORKS
1. Your application submits request by opening special link containing all necessary parameters
(including login/password/request details). List of parameters will depend on the operation that you want to do.
2. IMS VOYAGER proceeds request and build XML.
3. IMS VOYAGER returns XML with necessary data in your application.
ENABLE XML INTERFACE FOR USER
By default IMS VOYAGER users does not have the ability to use V3.5 XML features. You'll need to enable this option for user:
1). Log-in as administrator.
2). Go to "Admin" > "List Users" section and click on user name.
3). Tick "Enable XML Access" checkbox:
COMMON REQUEST PARAMETERS:
To submit request to select/insert/update data you'll need to build URL like this:
http://<IMS VOYAGER installation>/xml.php?ulogin=<your IMS VOYAGER login>&upassw=
<your IMS VOYAGER password>&fmethod=<method name>&lang=<language code>&<param.name1>=<param.value1>&<param.name2>
=<param.value2>...&<param.nameN>=<param.valueN>
<your IMS VOYAGER login> - your login in the IMS VOYAGER system
<your IMS VOYAGER password> - your password in the IMS VOYAGER system
<method name> - method name (please see detailed descriptions below)
<language code> - language code; depends on your installation (for example: eng=english)
<param.name...>=<param.value...> - parameters for this method (please see detailed descriptions below)
COMMON RESPONSE STRUCTURE:
<?xml version="1.0" encoding="utf-8" ?>
<Response>
<Result>[Result Code]</Result>
<Error>[Error Message]</Error>
<fmethod>[Request Method Name]</fmethod>
[other response parameters]
</Response>
[Result Code] - "Error" in case if error occurs or "Success".
[Error Message] - will contain error message (in case of error) or will be empty in other case.
[Request Method Name] - requested method name
[other response parameters] - other response parameters in XML format. List of parameters and content depends on the called method.
---
Method: transit_search
Description: obtain information about transits availability for the given period
Request parameters (all parameters are optional):
dtstart - start date to select information about trips availability (yyyy-mm-dd format); if not specified then current date will be used
dtend - end date to select information about trips availability (yyyy-mm-dd format); if not specified then current date will be used
from - trip start location name or code (for example: London)
to - trip end location name or code (for example: Paris)
tripname - trip name to search or part of trip name
tripid - unique trip ID in the IMS VOYAGER system (number)
catid - category ID
catname - category name to search
timefrom - start time to select availability
timeto - end time to select availability
onlyavail - if set to "1", then system will return information only about available trips in the given period between dtstart and dtend.
timefrom/timeto should be specified as number of seconds starting from 00:00.
For example: 3600 means 1:00AM, 7200 means 2:00AM etc.
XML Response:
<?xml version="1.0" encoding="utf-8" ?>
- <Response>
<Result>Success</Result>
<Error />
- <Product>
<product_id>354</product_id>
<category_id>d2be7d0e7d99429ace3e55a2445f24d6</category_id>
<product_name>London - Paris</product_name>
<category_name>#105 London - Paris - Milan</category_name>
<product_thumb_image />
<product_full_image />
- <avails>
- <dateinfo>
<date>2010-05-10</date>
- <timeinfo>
<time>28800</time>
<avail_id>267420</avail_id>
<no_seats>20</no_seats>
<no_booked>0</no_booked>
<tfreight>0.00</tfreight>
<tfreight_booked>0.00</tfreight_booked>
<voyno>267420</voyno>
</timeinfo>
- <timeinfo>
<time>54000</time>
<avail_id>267421</avail_id>
<no_seats>20</no_seats>
<no_booked>0</no_booked>
<tfreight>0.00</tfreight>
<tfreight_booked>0.00</tfreight_booked>
<voyno>267421</voyno>
</timeinfo>
</dateinfo>
- <dateinfo>
<date>2010-05-11</date>
- <timeinfo>
<time>28800</time>
<avail_id>267423</avail_id>
<no_seats>20</no_seats>
<no_booked>0</no_booked>
<tfreight>0.00</tfreight>
<tfreight_booked>0.00</tfreight_booked>
<voyno>267423</voyno>
</timeinfo>
- <timeinfo>
<time>54000</time>
<avail_id>267424</avail_id>
<no_seats>20</no_seats>
<no_booked>0</no_booked>
<tfreight>0.00</tfreight>
<tfreight_booked>0.00</tfreight_booked>
<voyno>267424</voyno>
</timeinfo>
</dateinfo>
</avails>
</Product>
</Response>
Some comments:
product_id - unique trip ID in the IMS VOYAGER system.
category_id - unique trip category ID in the IMS VOYAGER system (one trip may contain several categories).
avails - block containing information about trip availability for all period; contains several dateinfo blocks.
dateinfo - block containing availability information for one date; contains several timeinfo blocks.
timeinfo - contains information about availability for one given time:
time - trip time as number of seconds starting from 0:00AM
avail_id - unique availability ID for the given trip
no_seats - total number of seats for trip for the given date/time
no_booked - number of booked seats for trip for the given date/time
tfreight - total number of freight units for trip for the given date/time
tfreight_booked - number of reserved freight units for trip for the given date/time
voyno - unique voyage number for this trip date/time
Method: transit_details
Description: obtain full information about transits with the given parameters
Request parameters (all parameters are optional):
from - trip start location name or code (for example: London)
to - trip end location name or code (for example: Paris)
tripname - trip name to search or part of trip name
tripid - unique trip ID in the IMS VOYAGER system (number)
catid - category ID
catname - category name to search
XML Response:
<?xml version="1.0" encoding="utf-8" ?>
- <Response>
<Result>Success</Result>
<Error />
- <Product>
<product_id>419</product_id>
<category_id>683a8041a15ff6c3229cd18c6159f22b</category_id>
<product_name>Galiano Island - Vancouver</product_name>
<category_name>Multi-Leg/Round-Trip</category_name>
<product_sku>GAL-VANC</product_sku>
<product_thumb_image>http://maximus/imsv3/shop_image/product/thb-canada.jpg</product_thumb_image>
<product_full_image>http://maximus/imsv3/shop_image/product/
canada_big.jpg</product_full_image>
<product_s_desc>Set up your featured trips to display here!!
Add text such as: Galiano Island to Vancouver now at a special price!</product_s_desc>
- <product_desc>
<H2>Galiano Island - Vancouver</H2>
<P>Add your detailed trip description here! Such as:</P>
<p>We reduced our price by US 5.00. Take the opportunity and book this lovely trip!</p>
<P>Bring sunglasses, sun lotion, hat to protect you from the sun,
and a rain jacket to keep off wind and spray.</P>
</product_desc>
- <prices>
- <price>
<product_price>20.00</product_price>
<product_currency>USD</product_currency>
<shopper_group_id>5</shopper_group_id>
<shopper_group_name>-default-</shopper_group_name>
<shopper_group_discount>0.00</shopper_group_discount>
</price>
</prices>
- <items>
- <item>
<item_id>420</item_id>
<item_sku>gal-van-Gal-Van-Adult</item_sku>
<item_name>Adult -</item_name>
- <prices>
- <price>
<product_price>50.00</product_price>
<product_currency>USD</product_currency>
<shopper_group_id>5</shopper_group_id>
<shopper_group_name>-default-</shopper_group_name>
<shopper_group_discount>0.00</shopper_group_discount>
</price>
</prices>
</item>
- <item>
<item_id>421</item_id>
<item_sku>gal-van-Gal-Van-Child</item_sku>
<item_name>Child -</item_name>
- <prices>
- <price>
<product_price>40.00</product_price>
<product_currency>USD</product_currency>
<shopper_group_id>5</shopper_group_id>
<shopper_group_name>-default-</shopper_group_name>
<shopper_group_discount>0.00</shopper_group_discount>
</price>
</prices>
</item>
- <item>
<item_id>422</item_id>
<item_sku>gal-van-Gal-Van-Infant</item_sku>
<item_name>Infant -</item_name>
- <prices>
- <price>
<product_price>10.00</product_price>
<product_currency>USD</product_currency>
<shopper_group_id>5</shopper_group_id>
<shopper_group_name>-default-</shopper_group_name>
<shopper_group_discount>0.00</shopper_group_discount>
</price>
</prices>
</item>
</items>
</Product>
</Response>
Some comments:
product_id - unique trip ID in the IMS VOYAGER system
product_sku - trip string identifier
category_id - unique trip category ID in the IMS VOYAGER system (one trip may contain several categories)
product_thumb_image - URL of trip's thumbnail
product_full_image - URL of trip's big image
product_s_desc - brief trip description
product_desc - full trip description
items - block containing information about trip items (item = child product with different price, for example, Adult, Senior etc.)
-item - trip item element
--item_id - unique trip item ID (number)
--item_sku - trip item identifier (string)
--item_name - item name
prices - block containing default trip prices for different shoppers groups:
-price - price element (price for one shopper group):
--product_price - price value (only number)
--product_currency - currency code (for example USD)
--shopper_group_id - shopper's group unique number
--shopper_group_name - shopper's group name
--shopper_group_discount - shopper's group discount (% from the original price).
Please note: it is possible that prices block will be available for the main trip and for each item.
Method: book_transit
Description: performs reservation (inventory update) for transits
Request parameters (all parameters are mandatory):
dt - trip date in yyyy-mm-dd format.
triptime - trip start time as number of seconds starting from 0:00AM (for example: 3600 means 1:00AM).
tripid - unique trip ID in the IMS VOYAGER system (number)
qty - number of seats to book.
XML Response in case of success (information was updated):
<?xml version="1.0" encoding="utf-8" ?>
- <Response>
<Result>Success</Result>
<Error />
<Total>100</Total>
<Avail>98</Avail>
</Response>
Total - total number of seats for the trip on the given date/time.
Avail - number of available seats after update.
XML Response in case if information about inventory is absent (no appropriate record in database):
<?xml version="1.0" encoding="utf-8" ?>
- <Response>
<Result>Error</Result>
<Error>Information about availability is absent</Error>
<Errcode>norecord</Errcode>
</Response>
XML Response in case if requested number of seats > number of available seats:
<?xml version="1.0" encoding="utf-8" ?>
- <Response>
<Result>Error</Result>
<Error>Specified number of seats is absent. Available: 98, requested: 1000.</Error>
<Errcode>notavail</Errcode>
<Avail>98</Avail>
</Response>
'Avail' contains number of available seats.
---
Method: insert_transit_inventory
Description: insert inventory records in the database or update existing
Request parameters (* = mandatory):
*dtstart - must contain date in yyyy-mm-dd format to start inventory generation.
*dtend - must contain date in yyyy-mm-dd format to end inventory generation.
times - must contain comma-separated list of trip times to add inventory; each time
should be specified as number of seconds starting from 00:00 AM.
If 'times' parameter was not specified, then system will generate inventory for all trip times.
*tripid - unique trip identifier (number).
qtytotal - total number of seats for trip for each time. If parameter was not specified, then system will insert 0.
qtybooked - total number of already booked seats. If parameter was not specified, then system will insert 0.
price - trip price. If price is not set, then 0.00 will be inserted.
tfreight - total number of freight units for each trip.
tfreight_booked - total number of reserved freight units for each trip.
voyno - voyage number (will be used for report); if not set, then system will generate unique number automatically.
XML Response:
<?xml version="1.0" encoding="utf-8" ?>
- <Response>
<Result>Success</Result>
<Error />
<Inserted>0</Inserted>
<Updated>20</Updated>
</Response>
'Inserted' - contains number of inserted records.
'Updated' - contains number of updated records.
---
Method: tour_search
Description: obtain information about tours availability for the given period.
Request parameters and XML response are the same as for 'transit_search' method.
---
Method: tour_details
Description: obtain full information about tours with the given parameters.
Request parameters and XML response are the same as for 'transit_details' method.
---
Method: book_tour
Description: performs tour reservation (inventory update for tours).
Request parameters and XML response are the same as for 'book_transit' method.
---
Method: insert_tour_inventory
Description: insert inventory records in the database for tours or update existing tours inventory.
Request parameters and XML response are the same as for 'insert_transit_inventory' method.

Follow our latest developments: