Please note

[X]
INTERNET MERCHANDISING SYSTEMS
IMS VOYAGER V3.5 Tour & Transit XML INTERFACE DESCRIPTION (Enterprise Option)

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.



RESERVATION SOFTWARE
 
  • ENTERPRISE
    Reservation Technology
    A scalable & modular reservation software system that readily adapts to your changing business requirements.
  • Tour & Activity
    Reservation System
    Build your reservation business with simple or complex online tour & activity reservations...
  • TRANSIT
    Reservation Software
    Ferry, bus & airline reservation software providing advanced reservation, ticketing and departure control solutions.
  • Hotel
    Reservation Software
    Manage bookings whether made directly by guests or through travel agents and corporate clients.
  • Rental
    Reservation Software
    For your rentals, such as; car rentals, boat rentals, marina, campground, cottages, villas, equipment, etc!
  • IMSCart
    Ecommerce Technology
    Provides end-to-end ecommerce, payment services, inventory management, multi-stores, marketplace integration and more..
  • PATRON
    Ticketing Module
    Integrated Online Ticketing System with barcodes, scanning, etc.
  • Active Seat Mapping
    Graphical seat & vehicle selection for ferries, buses, aircraft, shows, stadiums and restaurants!
  • FoodCourt
    Restaurant Software
    FoodCourt Restaurant and Pizza Ordering Software integrated with all modules..

Follow our latest developments: