hostconnect 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>