hostconnect 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. data/CHANGELOG +8 -0
  2. data/MIT-LICENSE +22 -0
  3. data/README.markdown +16 -0
  4. data/Rakefile +48 -0
  5. data/hostconnect.gemspec +44 -0
  6. data/lib/hostconnect/builder.rb +50 -0
  7. data/lib/hostconnect/builders/add_service_builder.rb +60 -0
  8. data/lib/hostconnect/builders/agent_info_builder.rb +19 -0
  9. data/lib/hostconnect/builders/get_booking_builder.rb +24 -0
  10. data/lib/hostconnect/builders/get_booking_payment_summary_builder.rb +20 -0
  11. data/lib/hostconnect/builders/get_locations_builder.rb +18 -0
  12. data/lib/hostconnect/builders/get_services_builder.rb +18 -0
  13. data/lib/hostconnect/builders/get_system_settings_builder.rb +18 -0
  14. data/lib/hostconnect/builders/list_bookings_builder.rb +27 -0
  15. data/lib/hostconnect/builders/new_booking_info_builder.rb +23 -0
  16. data/lib/hostconnect/builders/option_info_builder.rb +49 -0
  17. data/lib/hostconnect/builders/pax_details_builder.rb +21 -0
  18. data/lib/hostconnect/builders/ping_builder.rb +11 -0
  19. data/lib/hostconnect/builders/record_booking_payment_builder.rb +25 -0
  20. data/lib/hostconnect/builders/room_config_builder.rb +25 -0
  21. data/lib/hostconnect/builders/service_line_note_builder.rb +17 -0
  22. data/lib/hostconnect/builders/suppler_info_builder.rb +27 -0
  23. data/lib/hostconnect/client.rb +32 -0
  24. data/lib/hostconnect/coercion.rb +50 -0
  25. data/lib/hostconnect/core_extensions/string.rb +18 -0
  26. data/lib/hostconnect/core_extensions/symbol.rb +9 -0
  27. data/lib/hostconnect/response.rb +119 -0
  28. data/lib/hostconnect/responses/add_service.rb +4 -0
  29. data/lib/hostconnect/responses/agent_info.rb +7 -0
  30. data/lib/hostconnect/responses/get_booking.rb +20 -0
  31. data/lib/hostconnect/responses/get_booking_payment_summary.rb +21 -0
  32. data/lib/hostconnect/responses/get_locations.rb +21 -0
  33. data/lib/hostconnect/responses/get_services.rb +21 -0
  34. data/lib/hostconnect/responses/get_system_settings.rb +24 -0
  35. data/lib/hostconnect/responses/list_bookings.rb +14 -0
  36. data/lib/hostconnect/responses/option_info.rb +60 -0
  37. data/lib/hostconnect/responses/ping.rb +7 -0
  38. data/lib/hostconnect/responses/record_booking_payment.rb +4 -0
  39. data/lib/hostconnect/responses/supplier_info.rb +31 -0
  40. data/lib/hostconnect/rtf_document.rb +19 -0
  41. data/lib/hostconnect/translation.rb +22 -0
  42. data/lib/hostconnect.rb +58 -0
  43. data/spec/builders/add_service_builder_spec.rb +36 -0
  44. data/spec/builders/agent_info_builder_spec.rb +13 -0
  45. data/spec/builders/get_locations_builder_spec.rb +13 -0
  46. data/spec/builders/new_booking_info_builder_spec.rb +34 -0
  47. data/spec/builders/option_info_builder_spec.rb +48 -0
  48. data/spec/builders/pax_details_builder_spec.rb +41 -0
  49. data/spec/builders/ping_builder_spec.rb +23 -0
  50. data/spec/builders/room_config_builder_spec.rb +60 -0
  51. data/spec/client_spec.rb +20 -0
  52. data/spec/coercion_spec.rb +85 -0
  53. data/spec/core_extensions_spec.rb +17 -0
  54. data/spec/fixtures/requests/add_service_request/hotel_booking.xml +42 -0
  55. data/spec/fixtures/requests/agent_info.xml +8 -0
  56. data/spec/fixtures/requests/get_locations.xml +8 -0
  57. data/spec/fixtures/requests/option_info/hotel_search.xml +11 -0
  58. data/spec/fixtures/requests/option_info/hotel_search_total_stay_price.xml +18 -0
  59. data/spec/fixtures/requests/option_info/option_number.xml +10 -0
  60. data/spec/fixtures/requests/ping.xml +5 -0
  61. data/spec/fixtures/responses/add_service.xml +11 -0
  62. data/spec/fixtures/responses/agent_info.xml +12 -0
  63. data/spec/fixtures/responses/agent_info_error.xml +7 -0
  64. data/spec/fixtures/responses/get_booking.xml +40 -0
  65. data/spec/fixtures/responses/get_locations.xml +48 -0
  66. data/spec/fixtures/responses/get_system_settings.xml +28 -0
  67. data/spec/fixtures/responses/option_info/hotel_price.xml +17 -0
  68. data/spec/fixtures/responses/option_info/hotel_search.xml +721 -0
  69. data/spec/fixtures/responses/option_info/hotel_search_with_stay_price.xml +470 -0
  70. data/spec/fixtures/responses/option_info/option_number.xml +14 -0
  71. data/spec/fixtures/responses/option_info/tours.xml +74 -0
  72. data/spec/fixtures/responses/ping.xml +8 -0
  73. data/spec/responses/add_service_spec.rb +13 -0
  74. data/spec/responses/agent_info_spec.rb +24 -0
  75. data/spec/responses/get_booking_spec.rb +33 -0
  76. data/spec/responses/get_locations_spec.rb +29 -0
  77. data/spec/responses/get_system_settings_spec.rb +21 -0
  78. data/spec/responses/option_info_spec.rb +48 -0
  79. data/spec/responses/ping_spec.rb +22 -0
  80. data/spec/spec_helper.rb +13 -0
  81. data/spec/translation_spec.rb +18 -0
  82. metadata +259 -0
@@ -0,0 +1,48 @@
1
+ require File.dirname(__FILE__) + "/../spec_helper"
2
+
3
+ describe HostConnect::OptionInfoBuilder do
4
+ before(:each) do
5
+ end
6
+
7
+ it "should return xml for hotel search" do
8
+ @xml = File.read("./spec/fixtures/requests/option_info/hotel_search.xml")
9
+
10
+ req = OptionInfoBuilder.new(
11
+ :agent_id => "EURTAT",
12
+ :password => "EURTAT",
13
+ :opt => "LONAC????????????",
14
+ :date_from => "2007-10-01",
15
+ :info => "GNRI"
16
+ )
17
+
18
+ req.to_s.should == @xml
19
+ end
20
+
21
+ it "should return xml for hotel search with a room config (total stay price)" do
22
+ @xml = File.read("./spec/fixtures/requests/option_info/hotel_search_total_stay_price.xml")
23
+
24
+ room = RoomConfigBuilder.new(:adults => 2, :room_type => "TW")
25
+ req = OptionInfoBuilder.new(
26
+ :agent_id => "EURTAT",
27
+ :password => "EURTAT",
28
+ :opt => "LONAC????????????",
29
+ :info => "GS",
30
+ :room_configs => [ room ],
31
+ :date_from => "2007-10-03",
32
+ :date_to => "2007-10-06"
33
+ )
34
+
35
+ req.to_s.should == @xml
36
+ end
37
+
38
+ it "should return xml for option number search" do
39
+ @xml = File.read("./spec/fixtures/requests/option_info/option_number.xml")
40
+
41
+ req = OptionInfoBuilder.new
42
+ req.agent_id = "EURTAT"
43
+ req.password = "EURTAT"
44
+ req.option_number = [ 10, 15 ]
45
+
46
+ req.to_s.should == @xml
47
+ end
48
+ end
@@ -0,0 +1,41 @@
1
+ require File.dirname(__FILE__) + "/../spec_helper"
2
+
3
+ describe HostConnect::PaxDetailsBuilder do
4
+ before(:each) do
5
+ @pax_xml = <<-END
6
+ <PaxDetails>
7
+ <Title>Mr</Title>
8
+ <Forename>Rob</Forename>
9
+ <Surname>Jardim</Surname>
10
+ <DateOfBirth>1980-12-24</DateOfBirth>
11
+ <PaxType>A</PaxType>
12
+ </PaxDetails>
13
+ END
14
+ end
15
+
16
+ it "should return pure xml with the to_s method" do
17
+ pax = PaxDetailsBuilder.new(:title => "Mr", :forename => "Rob", :surname => "Jardim",
18
+ :pax_type => "A", :date_of_birth => "1980-12-24")
19
+
20
+ pax.to_s.should == @pax_xml
21
+ end
22
+
23
+ it "should be possible to set and change the attributes directly" do
24
+ pax = PaxDetailsBuilder.new
25
+ pax.title = "Mr"
26
+ pax.forename = "Rob"
27
+ pax.surname = "Jardim"
28
+ pax.pax_type = "A"
29
+ pax.date_of_birth = "1980-12-24"
30
+
31
+ pax.to_s.should == @pax_xml
32
+
33
+ pax.forename = "Pete"
34
+ pax.to_s.should_not == @pax_xml
35
+ end
36
+
37
+ it "should return a XML Builder object" do
38
+ pax = PaxDetailsBuilder.new({})
39
+ pax.to_xml.should respond_to(:target!)
40
+ end
41
+ end
@@ -0,0 +1,23 @@
1
+ require File.dirname(__FILE__) + "/../spec_helper"
2
+
3
+ describe HostConnect::PingBuilder do
4
+ before(:each) do
5
+ @xml = File.read("./spec/fixtures/requests/ping.xml")
6
+ @req = PingBuilder.new
7
+ end
8
+
9
+ it "should return pure xml with the to_s method" do
10
+ @req.to_s.should == @xml
11
+ end
12
+
13
+ it "should return a XML Builder object" do
14
+ @req.to_xml.should respond_to(:target!)
15
+ end
16
+
17
+ it "should know how to submit itself" do
18
+ response = File.read("./spec/fixtures/responses/ping.xml")
19
+ Client.should_receive(:post_xml_request).with(@xml).and_return(response)
20
+ ping = @req.submit
21
+ ping.should be_an_instance_of(Ping)
22
+ end
23
+ end
@@ -0,0 +1,60 @@
1
+ require File.dirname(__FILE__) + "/../spec_helper"
2
+
3
+ describe HostConnect::RoomConfigBuilder do
4
+ it "should produce xml" do
5
+ @room_xml_1 = <<-END
6
+ <RoomConfig>
7
+ <Adults>1</Adults>
8
+ <RoomType>TW</RoomType>
9
+ <PaxList>
10
+ <PaxDetails>
11
+ <Title>Mr</Title>
12
+ <Forename>Rob</Forename>
13
+ <Surname>Jardim</Surname>
14
+ <DateOfBirth>1980-12-24</DateOfBirth>
15
+ <PaxType>A</PaxType>
16
+ </PaxDetails>
17
+ </PaxList>
18
+ </RoomConfig>
19
+ END
20
+
21
+ @room_xml_2 = <<-END
22
+ <RoomConfig>
23
+ <Adults>2</Adults>
24
+ <RoomType>TW</RoomType>
25
+ <PaxList>
26
+ <PaxDetails>
27
+ <Title>Mr</Title>
28
+ <Forename>Rob</Forename>
29
+ <Surname>Jardim</Surname>
30
+ <DateOfBirth>1980-12-24</DateOfBirth>
31
+ <PaxType>A</PaxType>
32
+ </PaxDetails>
33
+ <PaxDetails>
34
+ <Title>Mrs</Title>
35
+ <Forename>Sally</Forename>
36
+ <Surname>Jardim</Surname>
37
+ <DateOfBirth>1980-12-24</DateOfBirth>
38
+ <PaxType>A</PaxType>
39
+ </PaxDetails>
40
+ </PaxList>
41
+ </RoomConfig>
42
+ END
43
+
44
+ pax1 = PaxDetailsBuilder.new(:title => "Mr", :forename => "Rob", :surname => "Jardim",
45
+ :pax_type => "A", :date_of_birth => "1980-12-24")
46
+ pax2 = PaxDetailsBuilder.new(:title => "Mrs", :forename => "Sally", :surname => "Jardim",
47
+ :pax_type => "A", :date_of_birth => "1980-12-24")
48
+
49
+ room = RoomConfigBuilder.new(:adults => 1, :room_type => "TW", :pax_list => [ pax1 ])
50
+ room.to_s.should == @room_xml_1
51
+
52
+ room = RoomConfigBuilder.new(:adults => 2, :room_type => "TW", :pax_list => [ pax1, pax2 ])
53
+ room.to_s.should == @room_xml_2
54
+ end
55
+
56
+ it "should return a XML Builder object" do
57
+ room = RoomConfigBuilder.new
58
+ room.to_xml.should_be_an_instance_of Builder::XmlMarkup
59
+ end
60
+ end
@@ -0,0 +1,20 @@
1
+ require File.dirname(__FILE__) + "/spec_helper"
2
+
3
+ describe HostConnect::Client do
4
+ it "should have a http connection" do
5
+ Client.http_connection.should be_an_instance_of(Net::HTTP)
6
+ end
7
+
8
+ it "should post xml requests" do
9
+ request = File.read("./spec/fixtures/requests/ping.xml")
10
+ response = File.read("./spec/fixtures/responses/ping.xml")
11
+ config = HostConnect.config
12
+
13
+ Net::HTTP::Post.should_receive(:new).with(config.path).and_return({})
14
+ mock = mock("response", :null_object => true)
15
+ mock.stub!(:body).and_return(response)
16
+ Client.http_connection.should_receive(:request).and_return(mock)
17
+
18
+ Client.post_xml_request(request).should == response
19
+ end
20
+ end
@@ -0,0 +1,85 @@
1
+ require File.dirname(__FILE__) + "/spec_helper"
2
+
3
+ describe HostConnect::Coercion do
4
+ it "should parse times" do
5
+ time = Coercion.time("2310")
6
+ time.should be_an_instance_of(Time)
7
+
8
+ lambda { Coercion.time("2410") }.should raise_error(ArgumentError)
9
+ end
10
+
11
+ it "should divide prices by 100" do
12
+ p = Coercion.price("10000")
13
+ p.should == 100
14
+ end
15
+
16
+ it "should parse times" do
17
+ time = Coercion.time("2310")
18
+ time.should be_an_instance_of(Time)
19
+
20
+ lambda { Coercion.time("2410") }.should raise_error(ArgumentError)
21
+ end
22
+
23
+ describe "Conversion of parameters from strings to Ruby objects" do
24
+ it "should return a date from a datestring" do
25
+ date = Coercion.from_hc("1985-10-24")
26
+ date.should be_an_instance_of(Date)
27
+ date.strftime("%m").should == "10"
28
+ end
29
+
30
+ it "should convert strings consisting of only numbers to integers" do
31
+ val = "12345"
32
+ res = Coercion.from_hc(val)
33
+ res.should == 12345
34
+
35
+ val = "12 34"
36
+ res = Coercion.from_hc(val)
37
+ res.should_not be_an_instance_of(Fixnum)
38
+ end
39
+
40
+ it "should return booleans for Y/N" do
41
+ Coercion.from_hc("Y").should be_true
42
+ Coercion.from_hc("N").should be_false
43
+ end
44
+
45
+ it "should return nil for strings consisting of only whitespace" do
46
+ Coercion.from_hc("").should be_nil
47
+ Coercion.from_hc(" ").should be_nil
48
+ end
49
+
50
+ it "should parse lists of integers" do
51
+ l1 = Coercion.from_hc("11 22 3 4")
52
+ l1.should be_an_instance_of(Array)
53
+ l1.size.should == 4
54
+ l1.first.should be_an_instance_of(Fixnum)
55
+ l1.last.should be_an_instance_of(Fixnum)
56
+
57
+ Coercion.from_hc("1 2 3 f 4").should be_an_instance_of(String)
58
+ end
59
+ end
60
+
61
+ describe "Conversion of parameters from Ruby objects to HC formatted strings" do
62
+ it "should turn dates into strings" do
63
+ date = Coercion.to_hc("1985-10-24")
64
+ date.should == "1985-10-24"
65
+
66
+ date = "1985-10-24".to_date
67
+ Coercion.to_hc(date).should == "1985-10-24"
68
+ end
69
+
70
+ it "should convert integers to strings" do
71
+ val = 12345
72
+ Coercion.to_hc(val).should == "12345"
73
+ end
74
+
75
+ it "should return Y/N for booleans" do
76
+ Coercion.to_hc(true).should == "Y"
77
+ Coercion.to_hc(false).should == "N"
78
+ end
79
+
80
+ it "should handle nil values and empty strings" do
81
+ Coercion.to_hc(nil).should == ""
82
+ Coercion.to_hc(" ").should == ""
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,17 @@
1
+ require File.dirname(__FILE__) + "/spec_helper"
2
+
3
+ describe Symbol do
4
+ it "should camelize" do
5
+ :host_connect.classify.should == "HostConnect"
6
+ end
7
+
8
+ it "should classify" do
9
+ :host_connect.classify.should == "HostConnect"
10
+ end
11
+ end
12
+
13
+ describe String do
14
+ it "should requestify" do
15
+ "AgentId".requestify.should == "AgentID"
16
+ end
17
+ end
@@ -0,0 +1,42 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE Request SYSTEM "http://www.tourplan.com/support/Connector/hostConnect_2_05_300.dtd">
3
+ <Request>
4
+ <AddServiceRequest>
5
+ <AgentID>EURTAT</AgentID>
6
+ <Password>EURTAT</Password>
7
+ <NewBookingInfo>
8
+ <Name>Jessop Mr/Mrs</Name>
9
+ <QB>B</QB>
10
+ </NewBookingInfo>
11
+ <RoomConfigs>
12
+ <RoomConfig>
13
+ <Adults>2</Adults>
14
+ <RoomType>TW</RoomType>
15
+ <PaxList>
16
+ <PaxDetails>
17
+ <Title>Mr</Title>
18
+ <Forename>Rob</Forename>
19
+ <Surname>Jardim</Surname>
20
+ <DateOfBirth>1980-12-24</DateOfBirth>
21
+ <PaxType>A</PaxType>
22
+ </PaxDetails>
23
+ <PaxDetails>
24
+ <Title>Mrs</Title>
25
+ <Forename>Sally</Forename>
26
+ <Surname>Jardim</Surname>
27
+ <DateOfBirth>1980-12-24</DateOfBirth>
28
+ <PaxType>A</PaxType>
29
+ </PaxDetails>
30
+ </PaxList>
31
+ </RoomConfig>
32
+ </RoomConfigs>
33
+ <Opt>LONACCUMLONSTDBCB</Opt>
34
+ <DateFrom>2007-10-07</DateFrom>
35
+ <SCUqty>2</SCUqty>
36
+ <UDText1>+4799999999</UDText1>
37
+ <UDText2>contact@email.net</UDText2>
38
+ <UDText3>Norway</UDText3>
39
+ <UDText4>N</UDText4>
40
+ <UDText5>Smoking</UDText5>
41
+ </AddServiceRequest>
42
+ </Request>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE Request SYSTEM "http://www.tourplan.com/support/Connector/hostConnect_2_05_300.dtd">
3
+ <Request>
4
+ <AgentInfoRequest>
5
+ <AgentID>EURTAT</AgentID>
6
+ <Password>EURTAT</Password>
7
+ </AgentInfoRequest>
8
+ </Request>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE Request SYSTEM "http://www.tourplan.com/support/Connector/hostConnect_2_05_300.dtd">
3
+ <Request>
4
+ <GetLocationsRequest>
5
+ <AgentID>EURTAT</AgentID>
6
+ <Password>EURTAT</Password>
7
+ </GetLocationsRequest>
8
+ </Request>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE Request SYSTEM "http://www.tourplan.com/support/Connector/hostConnect_2_05_300.dtd">
3
+ <Request>
4
+ <OptionInfoRequest>
5
+ <AgentID>EURTAT</AgentID>
6
+ <Password>EURTAT</Password>
7
+ <Info>GNRI</Info>
8
+ <DateFrom>2007-10-01</DateFrom>
9
+ <Opt>LONAC????????????</Opt>
10
+ </OptionInfoRequest>
11
+ </Request>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE Request SYSTEM "http://www.tourplan.com/support/Connector/hostConnect_2_05_300.dtd">
3
+ <Request>
4
+ <OptionInfoRequest>
5
+ <AgentID>EURTAT</AgentID>
6
+ <Password>EURTAT</Password>
7
+ <Info>GS</Info>
8
+ <DateFrom>2007-10-03</DateFrom>
9
+ <DateTo>2007-10-06</DateTo>
10
+ <Opt>LONAC????????????</Opt>
11
+ <RoomConfigs>
12
+ <RoomConfig>
13
+ <Adults>2</Adults>
14
+ <RoomType>TW</RoomType>
15
+ </RoomConfig>
16
+ </RoomConfigs>
17
+ </OptionInfoRequest>
18
+ </Request>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE Request SYSTEM "http://www.tourplan.com/support/Connector/hostConnect_2_05_300.dtd">
3
+ <Request>
4
+ <OptionInfoRequest>
5
+ <AgentID>EURTAT</AgentID>
6
+ <Password>EURTAT</Password>
7
+ <OptionNumber>10</OptionNumber>
8
+ <OptionNumber>15</OptionNumber>
9
+ </OptionInfoRequest>
10
+ </Request>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE Request SYSTEM "http://www.tourplan.com/support/Connector/hostConnect_2_05_300.dtd">
3
+ <Request>
4
+ <PingRequest/>
5
+ </Request>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+ <!DOCTYPE Reply SYSTEM "http://www.tourplan.com/support/connector/hostConnect_2_04_170.dtd">
3
+ <Reply>
4
+ <AddServiceReply>
5
+ <BookingId>6050</BookingId>
6
+ <Ref>ASIN100101</Ref>
7
+ <ServiceLineId>55418</ServiceLineId>
8
+ <SequenceNumber>10</SequenceNumber>
9
+ <Status>RQ</Status>
10
+ </AddServiceReply>
11
+ </Reply>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+ <!DOCTYPE Reply SYSTEM "http://217.206.100.98:8080/iComNew205/hostConnect_2_05_006.dtd">
3
+ <Reply>
4
+ <AgentInfoReply>
5
+ <Currency>GBP</Currency>
6
+ <Email></Email>
7
+ <Name>European Tours &amp; Travel</Name>
8
+ <PriceCodes>2ST</PriceCodes>
9
+ <IsSubLogin>N</IsSubLogin>
10
+ <HasBookingRights>N</HasBookingRights>
11
+ </AgentInfoReply>
12
+ </Reply>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+ <!DOCTYPE Reply SYSTEM "http://217.206.100.98:8080/iComNew205/hostConnect_2_05_006.dtd">
3
+ <Reply>
4
+ <ErrorReply>
5
+ <Error>1051 SCN EURTAT</Error>
6
+ </ErrorReply>
7
+ </Reply>
@@ -0,0 +1,40 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+ <!DOCTYPE Reply SYSTEM "http://www.tourplan.com/support/connector/hostConnect_2_04_170.dtd">
3
+ <Reply>
4
+ <GetBookingReply>
5
+ <BookingId>6051</BookingId>
6
+ <Ref>ASIN100102</Ref>
7
+ <BookingUpdateCount>61</BookingUpdateCount>
8
+ <Name>Jessop Mr/Mrs</Name>
9
+ <QB>B</QB>
10
+ <Consult></Consult>
11
+ <AgentRef></AgentRef>
12
+ <Email>Test av kontaktinfo</Email>
13
+ <TravelDate>2008-10-08</TravelDate>
14
+ <EnteredDate>2008-07-30</EnteredDate>
15
+ <BookingStatus>Internet Booking</BookingStatus>
16
+ <ReadOnly>N</ReadOnly>
17
+ <IsInternetBooking>Y</IsInternetBooking>
18
+ <Currency>EUR</Currency>
19
+ <TotalPrice>131800</TotalPrice>
20
+ <Remarks></Remarks>
21
+ <Dialogue></Dialogue>
22
+ <Services>
23
+ <Service>
24
+ <ServiceLineId>55440</ServiceLineId>
25
+ <ServiceLineUpdateCount>3</ServiceLineUpdateCount>
26
+ <Opt>OSLRTASFIPA10001O</Opt>
27
+ <OptionNumber>5614</OptionNumber>
28
+ <Date>2008-10-08</Date>
29
+ <SequenceNumber>10</SequenceNumber>
30
+ <Adults>2</Adults>
31
+ <Children>0</Children>
32
+ <RoomType>TW</RoomType>
33
+ <LinePrice>131800</LinePrice>
34
+ <SCUqty>1</SCUqty>
35
+ <Status>RQ</Status>
36
+ </Service>
37
+ </Services>
38
+ </GetBookingReply>
39
+ </Reply>
40
+
@@ -0,0 +1,48 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+ <!DOCTYPE Reply SYSTEM "http://217.206.100.98:8080/iComNew205/hostConnect_2_05_006.dtd">
3
+ <Reply>
4
+ <GetLocationsReply>
5
+ <Locations>
6
+ <Location>
7
+ <Code>AAA</Code>
8
+ <Name>Andorra</Name>
9
+ </Location>
10
+ <Location>
11
+ <Code>AAB</Code>
12
+ <Name>Abu Dhabi</Name>
13
+ </Location>
14
+ <Location>
15
+ <Code>CAR</Code>
16
+ <Name>Co. Carlow</Name>
17
+ </Location>
18
+ <Location>
19
+ <Code>CAV</Code>
20
+ <Name>Co. Cavan</Name>
21
+ </Location>
22
+ <Location>
23
+ <Code>CLA</Code>
24
+ <Name>Co. Clare</Name>
25
+ </Location>
26
+ <Location>
27
+ <Code>COR</Code>
28
+ <Name>Co. Cork</Name>
29
+ </Location>
30
+ <Location>
31
+ <Code>DUB</Code>
32
+ <Name>Dublin</Name>
33
+ </Location>
34
+ <Location>
35
+ <Code>LON</Code>
36
+ <Name>London</Name>
37
+ </Location>
38
+ <Location>
39
+ <Code>MAD</Code>
40
+ <Name>Madrid</Name>
41
+ </Location>
42
+ <Location>
43
+ <Code>PAR</Code>
44
+ <Name>Paris</Name>
45
+ </Location>
46
+ </Locations>
47
+ </GetLocationsReply>
48
+ </Reply>
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+ <!DOCTYPE Reply SYSTEM "http://217.206.100.98:8080/iComNew205/hostConnect_2_05_006.dtd">
3
+ <Reply>
4
+ <GetSystemSettingsReply>
5
+ <QuotesEnabled>N</QuotesEnabled>
6
+ <QuotesAreDefault>N</QuotesAreDefault>
7
+ <AvailableMessages />
8
+ <IsAgentDialogueEnabled>N</IsAgentDialogueEnabled>
9
+ <Countries>
10
+ <Country>
11
+ <CountryName>(Unspecified)</CountryName>
12
+ <DestinationNames>
13
+ <DestinationName>Abu Dhabi</DestinationName>
14
+ <DestinationName>Andorra</DestinationName>
15
+ <DestinationName>Co. Carlow</DestinationName>
16
+ <DestinationName>Co. Cavan</DestinationName>
17
+ <DestinationName>Co. Clare</DestinationName>
18
+ <DestinationName>Co. Cork</DestinationName>
19
+ <DestinationName>Dublin</DestinationName>
20
+ <DestinationName>London</DestinationName>
21
+ <DestinationName>Madrid</DestinationName>
22
+ <DestinationName>Paris</DestinationName>
23
+ </DestinationNames>
24
+ </Country>
25
+ </Countries>
26
+ <BookingStatuses />
27
+ </GetSystemSettingsReply>
28
+ </Reply>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+ <!DOCTYPE Reply SYSTEM "http://www.tourplan.com/support/connector/hostConnect_2_04_170.dtd">
3
+ <Reply>
4
+ <OptionInfoReply>
5
+ <Option>
6
+ <Opt>BERACBERGRABB </Opt>
7
+ <OptionNumber>4772</OptionNumber>
8
+ <OptStayResults>
9
+ <Availability>RQ</Availability>
10
+ <Currency>EUR</Currency>
11
+ <TotalPrice>34800</TotalPrice>
12
+ <RateName>Standard</RateName>
13
+ <RateText>Standard</RateText>
14
+ </OptStayResults>
15
+ </Option>
16
+ </OptionInfoReply>
17
+ </Reply>