34
IAN XML Technology Orientation for Affiliates

IAN XML Technology Orientation for Affiliates · IAN.com XML is delivered by the WebServices layer ... Guest Reviews -Hotels.com Traveler Opinions -Expedia Affiliates can include

Embed Size (px)

Citation preview

IAN XML Technology Orientation for Affiliates

dschlier 2

What is XML? Extensible Markup Language

XML or Extensible Markup Language is a

universal method of transferring data so that any webpage can request and display content from an outside source when using dynamic scripting

languages in your web pages.

Example programming languages used in web pages:

ASP Active Server PagesPHP Preprocessed Hyptertext

JSP Java Server Pages

Example programming languages used in web pages:

ASP Active Server PagesPHP Preprocessed Hyptertext

JSP Java Server Pages

Dynamic scripting languages insert instructions into HTML tags to process XML data and display it on the page. The data is requested by user interaction with the browser and is called a request when a search button is clicked.

The data is based on the requested parameters and a response is returned to the affiliate server.

dschlier 3

What is XML? Data Flow Example

dschlier 4

What is XML? Extensible Markup Language

An XML response corresponds to data in the affiliate download files found in the Affiliate Center -> Integration -> Property Databases

An XML response corresponds to data in the affiliate download files found in the Affiliate Center -> Integration -> Property Databases

<hotel><hotelID>125727</hotelID><name>RED LION HOTEL ON 5TH AVENUE</name><address1>1415 5TH AVENUE</address1><city>SEATTLE</city><stateProvince>WA</stateProvince><country>US</country>

</hotel>

Database field name or XML element

XML Value of the database field

Database Record or XML Parent Node

XML consists of data which is inserted between datafield tags known as elements

XML data from our database is translated into extensible markup (tag-based element rather than a database field)

dschlier 5

What is XML? Extensible Markup Language

By giving the data a universal tag-based reference using XML, any webpage can be coded to request the data and write it to it s own page rather than linking to a Travelnow.com affiliate template page.

It gives the affiliate the ability to have all content on your own server and design the pagesas you choose.

It gives the affiliate the ability to have all content on your own server and design the pagesas you choose.

The affiliate has the ability to fully brandyour site.

The affiliate has the ability to fully brandyour site.

The affiliate has full control over monitoring your traffic and customizing your application.

The affiliate has full control over monitoring your traffic and customizing your application.

dschlier 6

What is XML? Affiliate Template versus Custom Branding

dschlier 7

Affiliate Template versus Custom Branding

XML Website prints out the data from the response

Recall the data tree example:

<hotel><hotelID>125727</hotelID><name>RED LION HOTEL</name><address1>1415 5TH

AVE</address1><city>SEATTLE</city><stateProvince>WA</stateProvince><country>US</country>

dschlier 8

XML data, delivered with website scripting languages, is called to the page and is dynamic or on the fly .

The page is not written until the request or search for data is made and the data is sent back to the web page to be used as the text in the layout. The browser receives the data that is requested and uses the HTML instructions to write the XML data into the page design at that very moment.

What is XML? Dynamic Data

The web page is only a design template for parsing the data each time it is requested from the source.

The web page is only a design template for parsing the data each time it is requested from the source.

Once the code is processed and data is displayed in the browser, it is availableONLY while that page is being viewed or in the browser history.

Once the code is processed and data is displayed in the browser, it is availableONLY while that page is being viewed or in the browser history.

HTML is staticHTML is hard codeHTML does not change

until manually alteredHTML instructs the

browser how to display the text and design of the page

HTML is staticHTML is hard codeHTML does not change

until manually alteredHTML instructs the

browser how to display the text and design of the page

dschlier 9

What are Web Services? Data Transportation

Web Services is another way of transporting XML data across the web.

A Web Service is a library providing data or services to other applications over the Internet. A service is called by using internet protocol standards such as SOAP over HTTP. Each "service" exposes a business functionality and means of interacting with a dataset at run-time.

HyperText Transfer Protocol (HTTP) - the underlying protocol used by the World Wide Web. HTTP defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. For example, when you enter a URL in your browser, this actually sends an HTTP command to the Web server directing it to retrieve and transmit the requested Web page.

HyperText Transfer Protocol (HTTP) - the underlying protocol used by the World Wide Web. HTTP defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. For example, when you enter a URL in your browser, this actually sends an HTTP command to the Web server directing it to retrieve and transmit the requested Web page.

Simple Object Access Protocol (SOAP) - SOAP provides a universal way for applications to communicate with each other over the Internet, independent of platform.

Simple Object Access Protocol (SOAP) - SOAP provides a universal way for applications to communicate with each other over the Internet, independent of platform.

SOAP relies on XML to define the format of the information or dataand then adds the necessary HTTP headers to send it.

SOAP relies on XML to define the format of the information or dataand then adds the necessary HTTP headers to send it.

dschlier 10

What are WebServices? Object Oriented Transmissions

Code in any of these languages reference anobject container that

holds data in memoryuntil it is written to the page.

Code in any of these languages reference anobject container that

holds data in memoryuntil it is written to the page.

The method of invoking a web service will depend on the programming language used.

Java or .NET utilizes inherent language functionality to compile source code along with special server configurations to make the XML Web Service request and then process the results.

Other methods may use SOAP directly within the document object.

The request or response can t be viewed directly in the browser like the XML string examples. It must

be parsed to the web page to be seen.

The request or response can t be viewed directly in the browser like the XML string examples. It must

be parsed to the web page to be seen.

dschlier 11

How is WebServices different from XML? Methodology

Data is transmitted with server-side source code instead of within web page scripts.

The request is coming from a separate source file stored on the server rather than inside the web page scripts.

XML is transported by HTTP as a string of data

defined by XML elements.

XML is transported by HTTP as a string of data

defined by XML elements.

WebServices are transported as a container of data

through SOAP within the source code and is defined by the XML elements.

WebServices are transported as a container of data

through SOAP within the source code and is defined by the XML elements.

IAN.com XML is delivered by the WebServices layer on the core system.

IAN.com XML is delivered by the WebServices layer on the core system.

dschlier 12

How is WebServices different from XML? Methodology

Affiliate Application accesses the server s compiled source file to build the request

The source file contains specific definition language (WSDL) to communicate with the IAN WebServices program

Affiliate Application accesses the server s compiled source file to build the request

The source file contains specific definition language (WSDL) to communicate with the IAN WebServices program

IANDatabase

Web Services request sent for data

Visitor places search on Affiliate Website

Visitor places search on Affiliate Website

SOAP request sent to IAN to retrieve data

SOAP response sent back to affiliate server for processing

Affiliate Application builds page and delivers results to user

Server-side source code is compiled into

machine language.

Server-side source code is compiled into

machine language.

Travelnow.com is only accessed from inside the server s source file.

Travelnow.com is only accessed from inside the server s source file.

dschlier 13

Advantages of using XML Content, Design & Marketing Control

Write our product content to the affiliate s own web pages.

You do not have to work within the confines of the affiliate template pages. You have more options than the use of your own headers and footers. You can organize the content and search results to fit your own

merchandising, target audience, and demographics.

Affiliates can include other types of data into your pages which may help sell our products or target your demographics or improve search engine rankings.

Rough Guides and Road Trips - Travelnow.com

Guest Reviews - Hotels.comTraveler Opinions - Expedia

Affiliates can include other types of data into your pages which may help sell our products or target your demographics or improve search engine rankings.

Rough Guides and Road Trips - Travelnow.com

Guest Reviews - Hotels.comTraveler Opinions - Expedia

All web pages are on the affiliate s own server.

No pages are called from Travelnow.com unless you choose to pass the customer to any of our pages such as to make the booking, or use our cancel page instead of creating your own.

All web pages are on the affiliate s own server.

No pages are called from Travelnow.com unless you choose to pass the customer to any of our pages such as to make the booking, or use our cancel page instead of creating your own.

Because you are handling your own web pages and traffic, you have full control to log and monitor the visitor s server activity for your own market research.

Because you are handling your own web pages and traffic, you have full control to log and monitor the visitor s server activity for your own market research.

dschlier 14

Advantages of using XML Unique Content

By using XML, affiliates create more of their own content which can be used to greater capacity with the search engines and other marketing efforts.

You also have the ability to integrate other appropriate content with our data.

The original/additional content will improve search engine traffic, relevancy, and alter duplicate contentwhich therefore improves rankings.

Other Content Examples :including your own reviewstravel recommendationsthings to see and doopportunities for visitors to input

their own recommendations, experiences, reviews, etc.

Other Content Examples :including your own reviewstravel recommendationsthings to see and doopportunities for visitors to input

their own recommendations, experiences, reviews, etc.

Engaging the visitor creates opportunities for :

repeat trafficunique content to be seen by the

search enginesuser referrals

Engaging the visitor creates opportunities for :

repeat trafficunique content to be seen by the

search enginesuser referrals

What other ways can you engage the user to build your traffic?

dschlier 15

Advantages of using XML Keyword Optimization

You can utilize keywords for your search engine market on each of your own pages to your best advantage.

All the content appears as if it came from the affiliate and not another source.

This gives you tremendous flexibility in your marketing and online presence.

The search engine crawler s do not see an affiliate template page if the affiliate has not linked to one. This creates less chances for exclusion in listings.

The search engine crawler s do not see an affiliate template page if the affiliate has not linked to one. This creates less chances for exclusion in listings.

dschlier 16

Advantages of using XML Version Maintenance

We maintain up to 2 versions of interface code at a time. Required changes may occur once or twice a year.

At the end of the older version s cycle, this code is removed from the system and can no longer be accessed. This insures all affiliate code and data are current and creates an efficiently managed platform.

The affiliate is notified by XML newsletters in advance of the upcoming schedules and you may typically have up to 6 months to complete any updates.

The affiliate, has a convenient time window to make any necessary updates to work with the new version before old system code is removed.

The affiliate, has a convenient time window to make any necessary updates to work with the new version before old system code is removed.

If an affiliate application attempts to access a non-existent/removed version, the application will not be found and access errors will return.

If an affiliate application attempts to access a non-existent/removed version, the application will not be found and access errors will return.

dschlier 17

Who is NOT a good candidate for XML?

Affiliates who do not have technical or financial resources to develop, purchase or maintain an xml website. Remember you receive our application and all programming logic for free when you use youraffiliate template. When you use the data interface, all you receive is data. It is up to you to create any and all logic necessary to manage your page functions, control user input and activity, and workaround common user errors.

Affiliates who do not expend time or effort on marketing, searchengine optimization or market research expend a lot of time and effort for no chance of return on investment.

Any affiliate can find a way to utilize data integration, however, because of the effort needed to do so, it s those who actually work their sites, have a sense of professionalism and a good understanding of the internet who will benefit the most from the time, money, and energy needed to create such a site.

dschlier 18

Where can I find the XML documentation?

https://www.ian.com/xmldocs/main.jsp

If an affiliate has a developer, or others, who need to access the documentation to create his application but does not want others to have his affiliate account login, we have a dummy account set up for this purpose.

You may use this login information in both the XML Documentation Center and the Affiliate Center.

CID = 60449

User = test

Pass = test

dschlier 19

What s in the XML documentation?

Every bit of known information that will assist the affiliate in developing their application as autonomously as possible.

The documents are updated continuously as more information is available or clarification becomes necessary.

The Documentation outlines all XML products along with every possible request parameter AND all response data.

The Documentation includes examples, testing procedures and any other important notices the affiliate needs.

It is a living information center.

Every bit of known information that will assist the affiliate in developing their application as autonomously as possible.

The documents are updated continuously as more information is available or clarification becomes necessary.

The Documentation outlines all XML products along with every possible request parameter AND all response data.

The Documentation includes examples, testing procedures and any other important notices the affiliate needs.

It is a living information center.

The main page of each section links to major points, announcements, notices or reminders, best practices, etc.

dschlier 20

What s in the documentation?

XML includes all API for processing requests and responses with an XML method for those available products hotel/condo, car, air, road trips

WebServices includes all API for processing requests and responses through a WebServices method for those available products hotel/condo, car, road trips

Each platform and product available through the data interface is outlined in the appropriate sections of the documentation.

dschlier 21

What s in the documentation?

Sample request documentation from the NEW XML HotelsBy reviewing each parameter

in the request outline, the affiliate is able to determine all methods of placing searches or submitting a reservation request.

Each request is preceded by a valid example.

By reviewing each parameter in the request outline, the affiliate is able to determine all methods of placing searches or submitting a reservation request.

Each request is preceded by a valid example.

By reviewing each parameter in the response outline, the affiliate is able to determine all data returned in the response and display to his best advantage within the requirements and guidelines.

By reviewing each parameter in the response outline, the affiliate is able to determine all data returned in the response and display to his best advantage within the requirements and guidelines.

dschlier 22

Basic XML Request Example

Basic XML Request string for hotel availability as created by the webpage application

The request stringis buried in the scripting code where the search engines do not recognize it as an affiliate link.

&intfc=ws indicates request to the NEW enhanced XML Platform

dschlier 23

Basic XML Full Database Record in XML Format (an XML response example)

<HotelAvailabilityListResults size="1"><Hotel><hotelId>210687</hotelId>

<name>AMARYS SIMART</name><address1>7 RUE SIMART</address1> <address2 /> <address3 /> <city>PARIS</city><stateProvince /> <country>FR</country><postalCode>75018</postalCode> <airportCode>PAR</airportCode> <lowRate>98.0</lowRate> <highRate>98.0</highRate> <rateCurrencyCode>USD</rateCurrencyCode> <latitude>48.8899</latitude> <longitude>2.3488</longitude> <shortDescription> The Amarys Simart is a economy-class hotel located

near the Sacr&#233;-Coeur Basilica in the 18th district of Paris. The hotel is also convenient to Place du Tertre and the northern Paris flea market.</shortDescription>

<thumbNailUrl>/hotels/thumbs/PAR_AMAR-exter-1-thumb.jpg</thumbNailUrl> <supplierType>H</supplierType>

<location>NEAR SACRE-COEUR BASILICA</location> <propertyRating>1.0</propertyRating> <propertyType>1</propertyType> <marketingLevel>1</marketingLevel> <hasMap>true</hasMap> <hotelInDestination>true</hotelInDestination> <referenceProximityDistance>-1.0</referenceProximityDistance> <referenceProximityUnit>MI</referenceProximityUnit>

- <HotelProperty><specialRate>N</specialRate> <promoDescription /> <promoType /> <promoDetailText /> <hrnQuoteKey>UR202490401077</hrnQuoteKey> <currentAllotment>-1</currentAllotment> <propertyId>PAR AMAR</propertyId> <propertyAvailable>true</propertyAvailable> <propertyRestricted>false</propertyRestricted> <roomDescription>standard triple room</roomDescription> <roomTypeCode>005</roomTypeCode>

- <RateInfo><displayCurrencyCode>USD</displayCurrencyCode>

- <DisplayNightlyRates size="3"><displayNightlyRate>98.0</displayNightlyRate> <displayNightlyRate>98.0</displayNightlyRate> <displayNightlyRate>98.0</displayNightlyRate> </DisplayNightlyRates><displayRoomRate>317.01</displayRoomRate><nativeCurrencyCode>USD</nativeCurrencyCode>

- <NativeNightlyRates size="3"><nativeNightlyRate>98.0</nativeNightlyRate> <nativeNightlyRate>98.0</nativeNightlyRate> <nativeNightlyRate>98.0</nativeNightlyRate> </NativeNightlyRates><nativeRoomRate>317.01</nativeRoomRate> <rateFrequency>B</rateFrequency> </RateInfo></HotelProperty></Hotel>

The data in the pre-defined tagscorresponds to the database record, as well as, the data seen on a Travelnow.com results page.

dschlier 24

Basic XML Parsing the XML Database Response into the HTML with XSL

There are a few ways to parse the data to the page but the most common is by using Extensible Style Language (XSL)which introduces the xml data into the html display instructions.

Here is a sample of parsing the data with

XSL to display the Hotel Availability to the page.

XML is dynamic data

XML is updated from the source each time accessed

XML data is written to a webpage template file each time it is accessed

XML uses another programming language to parse the data into html format

<xsl:for-each select="HotelAvailabilityListResults/Hotel"><xsl:choose><xsl:when test="supplierType = ('H')">

<table ><tr">

<td><xsl:value-of select="name"/>

</td><td> </td>

</tr><tr><td>

<img src="http://images.travelnow.com{thumbNailUrl}/></td>

<td><xsl:value-of select="shortDescription"/>

</td></tr>

</ table >

<xsl:for-each select = "HotelProperty/RateInfo/DisplayNightlyRates/displayNightlyRate">

< table ><tr><!--Show Rate--><td>

$ <xsl:value-of select="format-number(., '#.00')"/> </td></tr>

</ table ></ xsl:for-each >

Recall the data tree example:

<hotel><hotelID>125727</hotelID><name>RED LION HOTEL</name><address1>1415 5TH AVE</address1><city>SEATTLE</city><stateProvince>WA</stateProvince><country>US</country>

</hotel>

dschlier 25

WebServices Request ASP.NET Example Code

<%@ Page Language="VB" Debug="true" %><script runat=server language="VB">

Sub Page_Load(o As Object, e As EventArgs)

Dim service As New tnow.webservices.HotelFunctionsDim getList As New tnow.webservices.CityAvailabilityRequestDim listResponse As tnow.webservices.CityAvailabilityResult

getList.cid=1getList.city="Denver"getList.stateProvince = "CO"getList.country = "US"getList.numberOfAdults=1getList.arrivalDate = = "11/08/2004"getList.departureDate = "11/09/2004"getList.numberOfResults = 1

TrylistResponse = service.getCityAvailability(getList)Catch ex As Exception

Response.Write(ex.Message & " <br>")End Try

parsing the data RESPONSE to the page from the container objects

Response.write (listResponse.propertyList(0).hotel.name) Response.write (listResponse.propertyList(0).hotel.address1) Response.write ( <br> ")Response.write (listResponse.propertyList(0).hotel.city)Response.write (", ")Response.write (listResponse.propertyList(0).hotel.stateProvince)

End Sub</script>

Datafield name

Data is still designed on the page with HTML instructions even though the table isn t outlined here.

The response is still returned with an XML format but is handled differently by a Web Services implementation.

refer to the server source file for all the code behind activity

container holding the request information

container holding the response information

REQUEST interacting with the server s source file

dschlier 26

Is there an archive of XML Newsletters and System Notices?

With the archive of Newsletters, System Notices, and Updates found in the Site Map, you can always refer back to circulated publications and the date it was announced.

dschlier 27

Where do I sign up for XML Access? Follow the navigational path

On the homepage, find the Section pointing to Managing Your XML Access.

This section provides links to all pages for maintaining the affiliate s access.

dschlier 28

How do you sign up for XML?

Accounts that request access through the XML application form are now automatically validated with XML contract language so that no additional paperwork or additonal legal approval is required.The online contract acts as a digital signature and validates that you agree to all legal terms of use.

Any negotiated contracts you re working on will supersede any online contracts once completed. Here is a direct link that can be used to apply for XML access with immediate contract language.

http://12.14.173.100/xmldocs/xmlAccessForm.asp

dschlier 29

What things are not allowed?

Non-exclusivityGoogle or competitor type adsMeta Search Price comparisonSpywareDatabase or XML request scanning procedures

dschlier 30

XML Access is for Active CIDs only

The partner must fill out the XML application which includes info we need to activate your account. Missing info delays your activation.

http://12.14.173.100/xmldocs/xmlAccessForm.asp

The application includes minimum required info to set up access:

pre-approved agreement to XML language while we re waiting for a negotiated contract to be completed Your own CIDIP addresses of your requesting server

Used to authenticate access with your CIDSpecific XML Products you want activated (hotels, car, air, road trips)

Additional info that helps us manage your access

URL where XML is expected once the API is completedUsed for site reviews and audits

Email addresses who should receive any critical XML notices or update messagesInsures you know when updates are needed to your API and alerts you to scheduled downtime

Phone number we can use to contact you in the event of a problem

1

2

dschlier 31

What is the Approval to Go Live?

Once you have completed your program and is ready to go live it is crucial that we review the site for live approval against our Mandatory Requirements Checklist.

https://www.ian.com/xmldocs/checklist/checkListHome.shtml

The review process verifiesany required/legal items are present throughout all pricing and text is accurate insures the site returns a test booking

verify the test booking and confirmation text for accuracy against supplier charges

We compare the affiliate results to the same search results on Travelnow.com

These guidelines are there to protect partners in the event of any customer disputes and chargebacks by the hotel when proper pricing is not displayed or policies are not properly informed.

It is in your best interest to collaborate with us in the final step.

Apply for live approval: http://www.ian.com/xmldocs/requestReview.shtml

dschlier 32

Approved Example Sites

NewYorkCity.comundercovertourist.com orlando.com hotel.usdeutsch.hotels.com espana.hotels.comhotel.itireland.hotels.com hotels.dkhotell.comemea.hotels.comdeals.hotels.com

dschlier 33

Here s a summary list of resource links for Managing Your XML :

1. Documentation: http://www.ian.com/xmldocs/main.jsp

2. Apply for Access: http://12.14.173.100/xmldocs/xmlAccessForm.asp

3. Mandatory Requirements Checklist: http://www.ian.com/xmldocs/checklist/checkListHome.shtml

4. Apply for Approval to Go Live: http://www.ian.com/xmldocs/requestReview.shtml

5. When you need to update your IP address: http://www.ian.com/xmldocs/updateIp.shtml

6. When you need to update your XML distribution email addresses: http://www.ian.com/xmldocs/updateEmail.shtml

7. Sign up for Trip Advisor guest reviews: https://www.ian.com/xmldocs/guestReviews/guestReviews.shtml

[email protected]

469-335-1106 Affiliate Relations

EAN :: Expedia Affiliate Network 333 108th Ave NEBellevue, WA :: 98004

ian.com :: hotels.com10440 N. Central ExpresswaySuite 400Dallas, TX :: 75231

This document was created with Win2PDF available at http://www.daneprairie.com.The unregistered version of Win2PDF is for evaluation or non-commercial use only.