Project

General

Profile

결함(Bug) #2507 » Ctrip Booking Test Cases - Fix traveller.postman_collection.json

Daniel Do, 12/16/2025 01:42 AM

 
1
{
2
	"info": {
3
		"_postman_id": "d7f7d77a-61b3-4ef1-8d89-d7b6ae1b5762",
4
		"name": "Ctrip Booking Test Cases - Fix traveller",
5
		"description": "Test cases for commit: Fix bug traveller for booking ctrip (19657379b9)\n\nScenarios covered:\n1. Single room with 1 guest\n2. Single room with multiple unique guests\n3. Single room with duplicate guest names\n4. Multiple rooms with 1 guest each\n5. Multiple rooms with multiple guests\n6. Multiple rooms with duplicate names across rooms",
6
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
7
		"_exporter_id": "8802366"
8
	},
9
	"item": [
10
		{
11
			"name": "v1/availability - Search",
12
			"request": {
13
				"auth": {
14
					"type": "noauth"
15
				},
16
				"method": "POST",
17
				"header": [
18
					{
19
						"key": "Content-Type",
20
						"value": "application/xml",
21
						"type": "text"
22
					},
23
					{
24
						"key": "Origin",
25
						"value": "https://dev-api-ctrip.ohmyhotel.com",
26
						"type": "text"
27
					}
28
				],
29
				"body": {
30
					"mode": "raw",
31
					"raw": "<?xml version=\"1.0\"?>\r\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n    <SOAP-ENV:Header/>\r\n    <SOAP-ENV:Body>\r\n        <OTA_HotelAvailRQ xmlns=\"http://www.opentravel.org/OTA/2003/05\" EchoToken=\"6811640125\" TimeStamp=\"2025-12-21T20:54:54.099+08:00\" Version=\"2.2\" PrimaryLangID=\"en-us\">\r\n            <POS>\r\n                <Source>\r\n                    <RequestorID MessagePassword=\"Ctripr@Aye$9J6n37j#DeGM\" Type=\"5\" ID=\"ctrip\">\r\n                        <CompanyName Code=\"C\" CodeContext=\"1252\"/>\r\n                    </RequestorID>\r\n                </Source>\r\n            </POS>\r\n            <AvailRequestSegments>\r\n                <AvailRequestSegment>\r\n                    <HotelSearchCriteria>\r\n                        <Criterion>\r\n                            <HotelRef HotelCode=\"KR001072\"/>\r\n                            <StayDateRange Start=\"2026-01-09\" End=\"2026-01-10\"/>\r\n                            <RatePlanCandidates>\r\n                                <RatePlanCandidate RatePlanCode=\"RABB1351\"/>\r\n                            </RatePlanCandidates>\r\n                            <RoomStayCandidates>\r\n                                <RoomStayCandidate Quantity=\"1\" RoomTypeCode=\"RTAA2646\">\r\n                                    <GuestCounts>\r\n                                        <GuestCount AgeQualifyingCode=\"10\" Count=\"2\"/>\r\n                                    </GuestCounts>\r\n                                </RoomStayCandidate>\r\n                            </RoomStayCandidates>\r\n                        </Criterion>\r\n                    </HotelSearchCriteria>\r\n                </AvailRequestSegment>\r\n            </AvailRequestSegments>\r\n        </OTA_HotelAvailRQ>\r\n    </SOAP-ENV:Body>\r\n</SOAP-ENV:Envelope>",
32
					"options": {
33
						"raw": {
34
							"language": "xml"
35
						}
36
					}
37
				},
38
				"url": {
39
					"raw": "https://dev-api-ctrip.ohmyhotel.com/v1/availability",
40
					"protocol": "https",
41
					"host": [
42
						"dev-api-ctrip",
43
						"ohmyhotel",
44
						"com"
45
					],
46
					"path": [
47
						"v1",
48
						"availability"
49
					]
50
				}
51
			},
52
			"response": []
53
		},
54
		{
55
			"name": "TC01 - Single Room, 1 Guest",
56
			"request": {
57
				"method": "POST",
58
				"header": [
59
					{
60
						"key": "Content-Type",
61
						"value": "text/xml"
62
					}
63
				],
64
				"body": {
65
					"mode": "raw",
66
					"raw": "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">\n    <SOAP-ENV:Header/>\n    <SOAP-ENV:Body>\n        <OTA_HotelResRQ xmlns=\"http://www.opentravel.org/OTA/2003/05\" EchoToken=\"TC01-SINGLE-1GUEST\" TimeStamp=\"2025-12-15T10:00:00.000+08:00\" Version=\"2.2\">\n            <POS>\n                <Source>\n                    <RequestorID MessagePassword=\"{{ctripPw}}\" Type=\"5\" ID=\"{{ctripId}}\">\n                        <CompanyName Code=\"C\" CodeContext=\"{{codeContext}}\"/>\n                    </RequestorID>\n                </Source>\n            </POS>\n            <UniqueID Type=\"501\" ID=\"TC01-{{$timestamp}}\"/>\n            <HotelReservations>\n                <HotelReservation>\n                    <RoomStays>\n                        <RoomStay>\n                            <RoomTypes>\n                                <RoomType NumberOfUnits=\"1\" RoomTypeCode=\"{{roomTypeCode}}\"/>\n                            </RoomTypes>\n                            <RatePlans>\n                                <RatePlan RatePlanCode=\"{{ratePlanCode}}\" PrepaidIndicator=\"true\">\n                                    <RatePlanDescription>\n                                        <Text TextFormat=\"PlainText\" Language=\"en-us\">Breakfast Included</Text>\n                                    </RatePlanDescription>\n                                </RatePlan>\n                            </RatePlans>\n                            <RoomRates>\n                                <RoomRate RoomTypeCode=\"{{roomTypeCode}}\" NumberOfUnits=\"1\" RatePlanCode=\"{{ratePlanCode}}\" RatePlanCategory=\"501\">\n                                    <Rates>\n                                        <Rate EffectiveDate=\"2026-02-01\" ExpireDate=\"2026-02-02\">\n                                            <Base AmountAfterTax=\"103103\" CurrencyCode=\"KRW\" AmountBeforeTax=\"103103\"/>\n                                        </Rate>\n                                    </Rates>\n                                </RoomRate>\n                            </RoomRates>\n                            <BasicPropertyInfo HotelCode=\"{{hotelCode}}\" HotelName=\"Test Hotel\"/>\n                        </RoomStay>\n                    </RoomStays>\n                    <ResGuests>\n                        <ResGuest>\n                            <Profiles>\n                                <ProfileInfo>\n                                    <Profile>\n                                        <Customer>\n                                            <PersonName>\n                                                <GivenName>John</GivenName>\n                                                <Surname>Doe</Surname>\n                                            </PersonName>\n                                            <ContactPerson>\n                                                <PersonName>\n                                                    <GivenName>Ctrip</GivenName>\n                                                    <Surname>Support</Surname>\n                                                </PersonName>\n                                                <Telephone PhoneNumber=\"+84-28-7308-4199\"/>\n                                                <Email>hotelSupport@trip.com</Email>\n                                            </ContactPerson>\n                                        </Customer>\n                                    </Profile>\n                                </ProfileInfo>\n                            </Profiles>\n                        </ResGuest>\n                    </ResGuests>\n                    <ResGlobalInfo>\n                        <GuestCounts>\n                            <GuestCount Count=\"1\"/>\n                        </GuestCounts>\n                        <TimeSpan Start=\"2026-02-01 0:00:00\" End=\"2026-02-02 0:00:00\"/>\n                        <SpecialRequests>\n                            <SpecialRequest>\n                                <Text TextFormat=\"PlainText\" Language=\"en-us\">Non-smoking room please</Text>\n                            </SpecialRequest>\n                        </SpecialRequests>\n                        <DepositPayments>\n                            <GuaranteePayment>\n                                <AcceptedPayments>\n                                    <AcceptedPayment>\n                                        <PaymentCard/>\n                                    </AcceptedPayment>\n                                </AcceptedPayments>\n                            </GuaranteePayment>\n                        </DepositPayments>\n                        <Total AmountAfterTax=\"103103\" CurrencyCode=\"KRW\" AmountBeforeTax=\"103103\"/>\n                        <TPA_Extensions>\n                            <IsReserved>false</IsReserved>\n                        </TPA_Extensions>\n                        <HotelReservationIDs>\n                            <HotelReservationID ResID_Type=\"501\" ResID_Value=\"TC01-{{$timestamp}}\"/>\n                        </HotelReservationIDs>\n                    </ResGlobalInfo>\n                </HotelReservation>\n            </HotelReservations>\n        </OTA_HotelResRQ>\n    </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>"
67
				},
68
				"url": {
69
					"raw": "{{baseUrl}}/v1/booking",
70
					"host": [
71
						"{{baseUrl}}"
72
					],
73
					"path": [
74
						"v1",
75
						"booking"
76
					]
77
				},
78
				"description": "**Test Case 01: Single Room with 1 Guest**\n\n**Scenario:** Basic booking with 1 room and 1 guest\n\n**Expected Result:**\n- Room 1: Guest \"John Doe\"\n- No TBA names"
79
			},
80
			"response": []
81
		},
82
		{
83
			"name": "TC02 - Single Room, 2 Unique Guests",
84
			"request": {
85
				"method": "POST",
86
				"header": [
87
					{
88
						"key": "Content-Type",
89
						"value": "text/xml"
90
					}
91
				],
92
				"body": {
93
					"mode": "raw",
94
					"raw": "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">\n    <SOAP-ENV:Header/>\n    <SOAP-ENV:Body>\n        <OTA_HotelResRQ xmlns=\"http://www.opentravel.org/OTA/2003/05\" EchoToken=\"TC02-SINGLE-2GUESTS\" TimeStamp=\"2025-12-15T10:00:00.000+08:00\" Version=\"2.2\">\n            <POS>\n                <Source>\n                    <RequestorID MessagePassword=\"{{ctripPw}}\" Type=\"5\" ID=\"{{ctripId}}\">\n                        <CompanyName Code=\"C\" CodeContext=\"{{codeContext}}\"/>\n                    </RequestorID>\n                </Source>\n            </POS>\n            <UniqueID Type=\"501\" ID=\"TC02-{{$timestamp}}\"/>\n            <HotelReservations>\n                <HotelReservation>\n                    <RoomStays>\n                        <RoomStay>\n                            <RoomTypes>\n                                <RoomType NumberOfUnits=\"1\" RoomTypeCode=\"{{roomTypeCode}}\"/>\n                            </RoomTypes>\n                            <RatePlans>\n                                <RatePlan RatePlanCode=\"{{ratePlanCode}}\" PrepaidIndicator=\"true\">\n                                    <RatePlanDescription>\n                                        <Text TextFormat=\"PlainText\" Language=\"en-us\">Breakfast Included</Text>\n                                    </RatePlanDescription>\n                                </RatePlan>\n                            </RatePlans>\n                            <RoomRates>\n                                <RoomRate RoomTypeCode=\"{{roomTypeCode}}\" NumberOfUnits=\"1\" RatePlanCode=\"{{ratePlanCode}}\" RatePlanCategory=\"501\">\n                                    <Rates>\n                                        <Rate EffectiveDate=\"2026-02-01\" ExpireDate=\"2026-02-02\">\n                                            <Base AmountAfterTax=\"103103\" CurrencyCode=\"KRW\" AmountBeforeTax=\"103103\"/>\n                                        </Rate>\n                                    </Rates>\n                                </RoomRate>\n                            </RoomRates>\n                            <BasicPropertyInfo HotelCode=\"{{hotelCode}}\" HotelName=\"Test Hotel\"/>\n                        </RoomStay>\n                    </RoomStays>\n                    <ResGuests>\n                        <ResGuest>\n                            <Profiles>\n                                <ProfileInfo>\n                                    <Profile>\n                                        <Customer>\n                                            <PersonName>\n                                                <GivenName>John</GivenName>\n                                                <Surname>Doe</Surname>\n                                            </PersonName>\n                                            <PersonName>\n                                                <GivenName>Jane</GivenName>\n                                                <Surname>Smith</Surname>\n                                            </PersonName>\n                                            <ContactPerson>\n                                                <PersonName>\n                                                    <GivenName>Ctrip</GivenName>\n                                                    <Surname>Support</Surname>\n                                                </PersonName>\n                                                <Telephone PhoneNumber=\"+84-28-7308-4199\"/>\n                                                <Email>hotelSupport@trip.com</Email>\n                                            </ContactPerson>\n                                        </Customer>\n                                    </Profile>\n                                </ProfileInfo>\n                            </Profiles>\n                        </ResGuest>\n                    </ResGuests>\n                    <ResGlobalInfo>\n                        <GuestCounts>\n                            <GuestCount Count=\"2\"/>\n                        </GuestCounts>\n                        <TimeSpan Start=\"2026-02-01 0:00:00\" End=\"2026-02-02 0:00:00\"/>\n                        <SpecialRequests>\n                            <SpecialRequest>\n                                <Text TextFormat=\"PlainText\" Language=\"en-us\">High floor preferred</Text>\n                            </SpecialRequest>\n                        </SpecialRequests>\n                        <DepositPayments>\n                            <GuaranteePayment>\n                                <AcceptedPayments>\n                                    <AcceptedPayment>\n                                        <PaymentCard/>\n                                    </AcceptedPayment>\n                                </AcceptedPayments>\n                            </GuaranteePayment>\n                        </DepositPayments>\n                        <Total AmountAfterTax=\"103103\" CurrencyCode=\"KRW\" AmountBeforeTax=\"103103\"/>\n                        <TPA_Extensions>\n                            <IsReserved>false</IsReserved>\n                        </TPA_Extensions>\n                        <HotelReservationIDs>\n                            <HotelReservationID ResID_Type=\"501\" ResID_Value=\"TC02-{{$timestamp}}\"/>\n                        </HotelReservationIDs>\n                    </ResGlobalInfo>\n                </HotelReservation>\n            </HotelReservations>\n        </OTA_HotelResRQ>\n    </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>"
95
				},
96
				"url": {
97
					"raw": "{{baseUrl}}/v1/booking",
98
					"host": [
99
						"{{baseUrl}}"
100
					],
101
					"path": [
102
						"v1",
103
						"booking"
104
					]
105
				},
106
				"description": "**Test Case 02: Single Room with 2 Unique Guests**\n\n**Scenario:** 1 room with 2 different guests (isSingleRoom = true)\n\n**Expected Result (After Fix):**\n- Room 1: Guest 1 \"John Doe\", Guest 2 \"Jane Smith\"\n- Both guests should be included in the same room\n\n**Bug Before Fix:** Only first guest was added, second guest was TBA"
107
			},
108
			"response": []
109
		},
110
		{
111
			"name": "TC03 - Single Room, 2 Duplicate Guests",
112
			"request": {
113
				"method": "POST",
114
				"header": [
115
					{
116
						"key": "Content-Type",
117
						"value": "text/xml"
118
					}
119
				],
120
				"body": {
121
					"mode": "raw",
122
					"raw": "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">\n    <SOAP-ENV:Header/>\n    <SOAP-ENV:Body>\n        <OTA_HotelResRQ xmlns=\"http://www.opentravel.org/OTA/2003/05\" EchoToken=\"TC03-SINGLE-DUPLICATE\" TimeStamp=\"2025-12-15T10:00:00.000+08:00\" Version=\"2.2\">\n            <POS>\n                <Source>\n                    <RequestorID MessagePassword=\"{{ctripPw}}\" Type=\"5\" ID=\"{{ctripId}}\">\n                        <CompanyName Code=\"C\" CodeContext=\"{{codeContext}}\"/>\n                    </RequestorID>\n                </Source>\n            </POS>\n            <UniqueID Type=\"501\" ID=\"TC03-{{$timestamp}}\"/>\n            <HotelReservations>\n                <HotelReservation>\n                    <RoomStays>\n                        <RoomStay>\n                            <RoomTypes>\n                                <RoomType NumberOfUnits=\"1\" RoomTypeCode=\"{{roomTypeCode}}\"/>\n                            </RoomTypes>\n                            <RatePlans>\n                                <RatePlan RatePlanCode=\"{{ratePlanCode}}\" PrepaidIndicator=\"true\">\n                                    <RatePlanDescription>\n                                        <Text TextFormat=\"PlainText\" Language=\"en-us\">Breakfast Included</Text>\n                                    </RatePlanDescription>\n                                </RatePlan>\n                            </RatePlans>\n                            <RoomRates>\n                                <RoomRate RoomTypeCode=\"{{roomTypeCode}}\" NumberOfUnits=\"1\" RatePlanCode=\"{{ratePlanCode}}\" RatePlanCategory=\"501\">\n                                    <Rates>\n                                        <Rate EffectiveDate=\"2026-02-01\" ExpireDate=\"2026-02-02\">\n                                            <Base AmountAfterTax=\"103103\" CurrencyCode=\"KRW\" AmountBeforeTax=\"103103\"/>\n                                        </Rate>\n                                    </Rates>\n                                </RoomRate>\n                            </RoomRates>\n                            <BasicPropertyInfo HotelCode=\"{{hotelCode}}\" HotelName=\"Test Hotel\"/>\n                        </RoomStay>\n                    </RoomStays>\n                    <ResGuests>\n                        <ResGuest>\n                            <Profiles>\n                                <ProfileInfo>\n                                    <Profile>\n                                        <Customer>\n                                            <PersonName>\n                                                <GivenName>John</GivenName>\n                                                <Surname>Doe</Surname>\n                                            </PersonName>\n                                            <PersonName>\n                                                <GivenName>John</GivenName>\n                                                <Surname>Doe</Surname>\n                                            </PersonName>\n                                            <ContactPerson>\n                                                <PersonName>\n                                                    <GivenName>Ctrip</GivenName>\n                                                    <Surname>Support</Surname>\n                                                </PersonName>\n                                                <Telephone PhoneNumber=\"+84-28-7308-4199\"/>\n                                                <Email>hotelSupport@trip.com</Email>\n                                            </ContactPerson>\n                                        </Customer>\n                                    </Profile>\n                                </ProfileInfo>\n                            </Profiles>\n                        </ResGuest>\n                    </ResGuests>\n                    <ResGlobalInfo>\n                        <GuestCounts>\n                            <GuestCount Count=\"2\"/>\n                        </GuestCounts>\n                        <TimeSpan Start=\"2026-02-01 0:00:00\" End=\"2026-02-02 0:00:00\"/>\n                        <SpecialRequests>\n                            <SpecialRequest>\n                                <Text TextFormat=\"PlainText\" Language=\"en-us\"/>\n                            </SpecialRequest>\n                        </SpecialRequests>\n                        <DepositPayments>\n                            <GuaranteePayment>\n                                <AcceptedPayments>\n                                    <AcceptedPayment>\n                                        <PaymentCard/>\n                                    </AcceptedPayment>\n                                </AcceptedPayments>\n                            </GuaranteePayment>\n                        </DepositPayments>\n                        <Total AmountAfterTax=\"103103\" CurrencyCode=\"KRW\" AmountBeforeTax=\"103103\"/>\n                        <TPA_Extensions>\n                            <IsReserved>false</IsReserved>\n                        </TPA_Extensions>\n                        <HotelReservationIDs>\n                            <HotelReservationID ResID_Type=\"501\" ResID_Value=\"TC03-{{$timestamp}}\"/>\n                        </HotelReservationIDs>\n                    </ResGlobalInfo>\n                </HotelReservation>\n            </HotelReservations>\n        </OTA_HotelResRQ>\n    </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>"
123
				},
124
				"url": {
125
					"raw": "{{baseUrl}}/v1/booking",
126
					"host": [
127
						"{{baseUrl}}"
128
					],
129
					"path": [
130
						"v1",
131
						"booking"
132
					]
133
				},
134
				"description": "**Test Case 03: Single Room with Duplicate Guest Names**\n\n**Scenario:** 1 room with 2 guests having the same name (duplicate detection)\n\n**Expected Result (After Fix):**\n- Room 1: Guest 1 \"John Doe\", Guest 2 \"TBA TBA\"\n- Duplicate names should be replaced with TBA\n\n**Key Logic Tested:** keyNames.contains(nameKey) check"
135
			},
136
			"response": []
137
		},
138
		{
139
			"name": "TC04 - 2 Rooms, 1 Guest Each",
140
			"request": {
141
				"method": "POST",
142
				"header": [
143
					{
144
						"key": "Content-Type",
145
						"value": "text/xml"
146
					}
147
				],
148
				"body": {
149
					"mode": "raw",
150
					"raw": "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">\n    <SOAP-ENV:Header/>\n    <SOAP-ENV:Body>\n        <OTA_HotelResRQ xmlns=\"http://www.opentravel.org/OTA/2003/05\" EchoToken=\"TC04-MULTI-1EACH\" TimeStamp=\"2025-12-15T10:00:00.000+08:00\" Version=\"2.2\">\n            <POS>\n                <Source>\n                    <RequestorID MessagePassword=\"{{ctripPw}}\" Type=\"5\" ID=\"{{ctripId}}\">\n                        <CompanyName Code=\"C\" CodeContext=\"{{codeContext}}\"/>\n                    </RequestorID>\n                </Source>\n            </POS>\n            <UniqueID Type=\"501\" ID=\"TC04-{{$timestamp}}\"/>\n            <HotelReservations>\n                <HotelReservation>\n                    <RoomStays>\n                        <RoomStay>\n                            <RoomTypes>\n                                <RoomType NumberOfUnits=\"2\" RoomTypeCode=\"{{roomTypeCode}}\"/>\n                            </RoomTypes>\n                            <RatePlans>\n                                <RatePlan RatePlanCode=\"{{ratePlanCode}}\" PrepaidIndicator=\"true\">\n                                    <RatePlanDescription>\n                                        <Text TextFormat=\"PlainText\" Language=\"en-us\">Breakfast Included</Text>\n                                    </RatePlanDescription>\n                                </RatePlan>\n                            </RatePlans>\n                            <RoomRates>\n                                <RoomRate RoomTypeCode=\"{{roomTypeCode}}\" NumberOfUnits=\"2\" RatePlanCode=\"{{ratePlanCode}}\" RatePlanCategory=\"501\">\n                                    <Rates>\n                                        <Rate EffectiveDate=\"2026-02-01\" ExpireDate=\"2026-02-02\">\n                                            <Base AmountAfterTax=\"206206\" CurrencyCode=\"KRW\" AmountBeforeTax=\"206206\"/>\n                                        </Rate>\n                                    </Rates>\n                                </RoomRate>\n                            </RoomRates>\n                            <BasicPropertyInfo HotelCode=\"{{hotelCode}}\" HotelName=\"Test Hotel\"/>\n                        </RoomStay>\n                    </RoomStays>\n                    <ResGuests>\n                        <ResGuest>\n                            <Profiles>\n                                <ProfileInfo>\n                                    <Profile>\n                                        <Customer>\n                                            <PersonName>\n                                                <GivenName>John</GivenName>\n                                                <Surname>Doe</Surname>\n                                            </PersonName>\n                                            <PersonName>\n                                                <GivenName>Jane</GivenName>\n                                                <Surname>Smith</Surname>\n                                            </PersonName>\n                                            <ContactPerson>\n                                                <PersonName>\n                                                    <GivenName>Ctrip</GivenName>\n                                                    <Surname>Support</Surname>\n                                                </PersonName>\n                                                <Telephone PhoneNumber=\"+84-28-7308-4199\"/>\n                                                <Email>hotelSupport@trip.com</Email>\n                                            </ContactPerson>\n                                        </Customer>\n                                    </Profile>\n                                </ProfileInfo>\n                            </Profiles>\n                        </ResGuest>\n                    </ResGuests>\n                    <ResGlobalInfo>\n                        <GuestCounts>\n                            <GuestCount Count=\"2\"/>\n                        </GuestCounts>\n                        <TimeSpan Start=\"2026-02-01 0:00:00\" End=\"2026-02-02 0:00:00\"/>\n                        <SpecialRequests>\n                            <SpecialRequest>\n                                <Text TextFormat=\"PlainText\" Language=\"en-us\">Adjacent rooms please</Text>\n                            </SpecialRequest>\n                        </SpecialRequests>\n                        <DepositPayments>\n                            <GuaranteePayment>\n                                <AcceptedPayments>\n                                    <AcceptedPayment>\n                                        <PaymentCard/>\n                                    </AcceptedPayment>\n                                </AcceptedPayments>\n                            </GuaranteePayment>\n                        </DepositPayments>\n                        <Total AmountAfterTax=\"206206\" CurrencyCode=\"KRW\" AmountBeforeTax=\"206206\"/>\n                        <TPA_Extensions>\n                            <IsReserved>false</IsReserved>\n                        </TPA_Extensions>\n                        <HotelReservationIDs>\n                            <HotelReservationID ResID_Type=\"501\" ResID_Value=\"TC04-{{$timestamp}}\"/>\n                        </HotelReservationIDs>\n                    </ResGlobalInfo>\n                </HotelReservation>\n            </HotelReservations>\n        </OTA_HotelResRQ>\n    </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>"
151
				},
152
				"url": {
153
					"raw": "{{baseUrl}}/v1/booking",
154
					"host": [
155
						"{{baseUrl}}"
156
					],
157
					"path": [
158
						"v1",
159
						"booking"
160
					]
161
				},
162
				"description": "**Test Case 04: 2 Rooms with 1 Guest Each**\n\n**Scenario:** 2 rooms, 2 total guests (isSingleRoom = false)\n\n**Expected Result:**\n- Room 1: Guest \"John Doe\"\n- Room 2: Guest \"Jane Smith\"\n- Each room gets 1 guest from the list\n\n**Key Logic Tested:** pdx = i (multi-room mode)"
163
			},
164
			"response": []
165
		},
166
		{
167
			"name": "TC05 - 2 Rooms, 3 Guests (Uneven Distribution)",
168
			"request": {
169
				"method": "POST",
170
				"header": [
171
					{
172
						"key": "Content-Type",
173
						"value": "text/xml"
174
					}
175
				],
176
				"body": {
177
					"mode": "raw",
178
					"raw": "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">\n    <SOAP-ENV:Header/>\n    <SOAP-ENV:Body>\n        <OTA_HotelResRQ xmlns=\"http://www.opentravel.org/OTA/2003/05\" EchoToken=\"TC05-MULTI-UNEVEN\" TimeStamp=\"2025-12-15T10:00:00.000+08:00\" Version=\"2.2\">\n            <POS>\n                <Source>\n                    <RequestorID MessagePassword=\"{{ctripPw}}\" Type=\"5\" ID=\"{{ctripId}}\">\n                        <CompanyName Code=\"C\" CodeContext=\"{{codeContext}}\"/>\n                    </RequestorID>\n                </Source>\n            </POS>\n            <UniqueID Type=\"501\" ID=\"TC05-{{$timestamp}}\"/>\n            <HotelReservations>\n                <HotelReservation>\n                    <RoomStays>\n                        <RoomStay>\n                            <RoomTypes>\n                                <RoomType NumberOfUnits=\"2\" RoomTypeCode=\"{{roomTypeCode}}\"/>\n                            </RoomTypes>\n                            <RatePlans>\n                                <RatePlan RatePlanCode=\"{{ratePlanCode}}\" PrepaidIndicator=\"true\">\n                                    <RatePlanDescription>\n                                        <Text TextFormat=\"PlainText\" Language=\"en-us\">Breakfast Included</Text>\n                                    </RatePlanDescription>\n                                </RatePlan>\n                            </RatePlans>\n                            <RoomRates>\n                                <RoomRate RoomTypeCode=\"{{roomTypeCode}}\" NumberOfUnits=\"2\" RatePlanCode=\"{{ratePlanCode}}\" RatePlanCategory=\"501\">\n                                    <Rates>\n                                        <Rate EffectiveDate=\"2026-02-01\" ExpireDate=\"2026-02-02\">\n                                            <Base AmountAfterTax=\"206206\" CurrencyCode=\"KRW\" AmountBeforeTax=\"206206\"/>\n                                        </Rate>\n                                    </Rates>\n                                </RoomRate>\n                            </RoomRates>\n                            <BasicPropertyInfo HotelCode=\"{{hotelCode}}\" HotelName=\"Test Hotel\"/>\n                        </RoomStay>\n                    </RoomStays>\n                    <ResGuests>\n                        <ResGuest>\n                            <Profiles>\n                                <ProfileInfo>\n                                    <Profile>\n                                        <Customer>\n                                            <PersonName>\n                                                <GivenName>John</GivenName>\n                                                <Surname>Doe</Surname>\n                                            </PersonName>\n                                            <PersonName>\n                                                <GivenName>Jane</GivenName>\n                                                <Surname>Smith</Surname>\n                                            </PersonName>\n                                            <PersonName>\n                                                <GivenName>Bob</GivenName>\n                                                <Surname>Wilson</Surname>\n                                            </PersonName>\n                                            <ContactPerson>\n                                                <PersonName>\n                                                    <GivenName>Ctrip</GivenName>\n                                                    <Surname>Support</Surname>\n                                                </PersonName>\n                                                <Telephone PhoneNumber=\"+84-28-7308-4199\"/>\n                                                <Email>hotelSupport@trip.com</Email>\n                                            </ContactPerson>\n                                        </Customer>\n                                    </Profile>\n                                </ProfileInfo>\n                            </Profiles>\n                        </ResGuest>\n                    </ResGuests>\n                    <ResGlobalInfo>\n                        <GuestCounts>\n                            <GuestCount Count=\"3\"/>\n                        </GuestCounts>\n                        <TimeSpan Start=\"2026-02-01 0:00:00\" End=\"2026-02-02 0:00:00\"/>\n                        <SpecialRequests>\n                            <SpecialRequest>\n                                <Text TextFormat=\"PlainText\" Language=\"en-us\">Late check-out</Text>\n                            </SpecialRequest>\n                        </SpecialRequests>\n                        <DepositPayments>\n                            <GuaranteePayment>\n                                <AcceptedPayments>\n                                    <AcceptedPayment>\n                                        <PaymentCard/>\n                                    </AcceptedPayment>\n                                </AcceptedPayments>\n                            </GuaranteePayment>\n                        </DepositPayments>\n                        <Total AmountAfterTax=\"206206\" CurrencyCode=\"KRW\" AmountBeforeTax=\"206206\"/>\n                        <TPA_Extensions>\n                            <IsReserved>false</IsReserved>\n                        </TPA_Extensions>\n                        <HotelReservationIDs>\n                            <HotelReservationID ResID_Type=\"501\" ResID_Value=\"TC05-{{$timestamp}}\"/>\n                        </HotelReservationIDs>\n                    </ResGlobalInfo>\n                </HotelReservation>\n            </HotelReservations>\n        </OTA_HotelResRQ>\n    </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>"
179
				},
180
				"url": {
181
					"raw": "{{baseUrl}}/v1/booking",
182
					"host": [
183
						"{{baseUrl}}"
184
					],
185
					"path": [
186
						"v1",
187
						"booking"
188
					]
189
				},
190
				"description": "**Test Case 05: 2 Rooms with 3 Guests (Uneven Distribution)**\n\n**Scenario:** 2 rooms, 3 total guests - tests remainCount logic\n\n**Expected Result:**\n- Room 1: Guest 1 \"John Doe\", Guest 2 \"TBA TBA\" (2 guests, 1 named + 1 TBA)\n- Room 2: Guest \"Jane Smith\" (1 guest)\n\n**Key Logic Tested:** remainCount distribution (3/2 = 1 remainder)"
191
			},
192
			"response": []
193
		},
194
		{
195
			"name": "TC06 - 2 Rooms, Duplicate Names Across Rooms",
196
			"request": {
197
				"method": "POST",
198
				"header": [
199
					{
200
						"key": "Content-Type",
201
						"value": "text/xml"
202
					}
203
				],
204
				"body": {
205
					"mode": "raw",
206
					"raw": "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">\n    <SOAP-ENV:Header/>\n    <SOAP-ENV:Body>\n        <OTA_HotelResRQ xmlns=\"http://www.opentravel.org/OTA/2003/05\" EchoToken=\"TC06-MULTI-DUPLICATE\" TimeStamp=\"2025-12-15T10:00:00.000+08:00\" Version=\"2.2\">\n            <POS>\n                <Source>\n                    <RequestorID MessagePassword=\"{{ctripPw}}\" Type=\"5\" ID=\"{{ctripId}}\">\n                        <CompanyName Code=\"C\" CodeContext=\"{{codeContext}}\"/>\n                    </RequestorID>\n                </Source>\n            </POS>\n            <UniqueID Type=\"501\" ID=\"TC06-{{$timestamp}}\"/>\n            <HotelReservations>\n                <HotelReservation>\n                    <RoomStays>\n                        <RoomStay>\n                            <RoomTypes>\n                                <RoomType NumberOfUnits=\"2\" RoomTypeCode=\"{{roomTypeCode}}\"/>\n                            </RoomTypes>\n                            <RatePlans>\n                                <RatePlan RatePlanCode=\"{{ratePlanCode}}\" PrepaidIndicator=\"true\">\n                                    <RatePlanDescription>\n                                        <Text TextFormat=\"PlainText\" Language=\"en-us\">Breakfast Included</Text>\n                                    </RatePlanDescription>\n                                </RatePlan>\n                            </RatePlans>\n                            <RoomRates>\n                                <RoomRate RoomTypeCode=\"{{roomTypeCode}}\" NumberOfUnits=\"2\" RatePlanCode=\"{{ratePlanCode}}\" RatePlanCategory=\"501\">\n                                    <Rates>\n                                        <Rate EffectiveDate=\"2026-02-01\" ExpireDate=\"2026-02-02\">\n                                            <Base AmountAfterTax=\"206206\" CurrencyCode=\"KRW\" AmountBeforeTax=\"206206\"/>\n                                        </Rate>\n                                    </Rates>\n                                </RoomRate>\n                            </RoomRates>\n                            <BasicPropertyInfo HotelCode=\"{{hotelCode}}\" HotelName=\"Test Hotel\"/>\n                        </RoomStay>\n                    </RoomStays>\n                    <ResGuests>\n                        <ResGuest>\n                            <Profiles>\n                                <ProfileInfo>\n                                    <Profile>\n                                        <Customer>\n                                            <PersonName>\n                                                <GivenName>John</GivenName>\n                                                <Surname>Doe</Surname>\n                                            </PersonName>\n                                            <PersonName>\n                                                <GivenName>John</GivenName>\n                                                <Surname>Doe</Surname>\n                                            </PersonName>\n                                            <ContactPerson>\n                                                <PersonName>\n                                                    <GivenName>Ctrip</GivenName>\n                                                    <Surname>Support</Surname>\n                                                </PersonName>\n                                                <Telephone PhoneNumber=\"+84-28-7308-4199\"/>\n                                                <Email>hotelSupport@trip.com</Email>\n                                            </ContactPerson>\n                                        </Customer>\n                                    </Profile>\n                                </ProfileInfo>\n                            </Profiles>\n                        </ResGuest>\n                    </ResGuests>\n                    <ResGlobalInfo>\n                        <GuestCounts>\n                            <GuestCount Count=\"2\"/>\n                        </GuestCounts>\n                        <TimeSpan Start=\"2026-02-01 0:00:00\" End=\"2026-02-02 0:00:00\"/>\n                        <SpecialRequests>\n                            <SpecialRequest>\n                                <Text TextFormat=\"PlainText\" Language=\"en-us\"/>\n                            </SpecialRequest>\n                        </SpecialRequests>\n                        <DepositPayments>\n                            <GuaranteePayment>\n                                <AcceptedPayments>\n                                    <AcceptedPayment>\n                                        <PaymentCard/>\n                                    </AcceptedPayment>\n                                </AcceptedPayments>\n                            </GuaranteePayment>\n                        </DepositPayments>\n                        <Total AmountAfterTax=\"206206\" CurrencyCode=\"KRW\" AmountBeforeTax=\"206206\"/>\n                        <TPA_Extensions>\n                            <IsReserved>false</IsReserved>\n                        </TPA_Extensions>\n                        <HotelReservationIDs>\n                            <HotelReservationID ResID_Type=\"501\" ResID_Value=\"TC06-{{$timestamp}}\"/>\n                        </HotelReservationIDs>\n                    </ResGlobalInfo>\n                </HotelReservation>\n            </HotelReservations>\n        </OTA_HotelResRQ>\n    </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>"
207
				},
208
				"url": {
209
					"raw": "{{baseUrl}}/v1/booking",
210
					"host": [
211
						"{{baseUrl}}"
212
					],
213
					"path": [
214
						"v1",
215
						"booking"
216
					]
217
				},
218
				"description": "**Test Case 06: 2 Rooms with Duplicate Names**\n\n**Scenario:** 2 rooms, same guest name provided twice\n\n**Expected Result:**\n- Room 1: Guest \"John Doe\"\n- Room 2: Guest \"TBA TBA\" (duplicate detected)\n\n**Key Logic Tested:** Duplicate detection across multiple rooms"
219
			},
220
			"response": []
221
		},
222
		{
223
			"name": "TC07 - Single Room, 3 Guests (Mixed Unique and Duplicate)",
224
			"request": {
225
				"method": "POST",
226
				"header": [
227
					{
228
						"key": "Content-Type",
229
						"value": "text/xml"
230
					}
231
				],
232
				"body": {
233
					"mode": "raw",
234
					"raw": "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">\n    <SOAP-ENV:Header/>\n    <SOAP-ENV:Body>\n        <OTA_HotelResRQ xmlns=\"http://www.opentravel.org/OTA/2003/05\" EchoToken=\"TC07-SINGLE-MIXED\" TimeStamp=\"2025-12-15T10:00:00.000+08:00\" Version=\"2.2\">\n            <POS>\n                <Source>\n                    <RequestorID MessagePassword=\"{{ctripPw}}\" Type=\"5\" ID=\"{{ctripId}}\">\n                        <CompanyName Code=\"C\" CodeContext=\"{{codeContext}}\"/>\n                    </RequestorID>\n                </Source>\n            </POS>\n            <UniqueID Type=\"501\" ID=\"TC07-{{$timestamp}}\"/>\n            <HotelReservations>\n                <HotelReservation>\n                    <RoomStays>\n                        <RoomStay>\n                            <RoomTypes>\n                                <RoomType NumberOfUnits=\"1\" RoomTypeCode=\"{{roomTypeCode}}\"/>\n                            </RoomTypes>\n                            <RatePlans>\n                                <RatePlan RatePlanCode=\"{{ratePlanCode}}\" PrepaidIndicator=\"true\">\n                                    <RatePlanDescription>\n                                        <Text TextFormat=\"PlainText\" Language=\"en-us\">Breakfast Included</Text>\n                                    </RatePlanDescription>\n                                </RatePlan>\n                            </RatePlans>\n                            <RoomRates>\n                                <RoomRate RoomTypeCode=\"{{roomTypeCode}}\" NumberOfUnits=\"1\" RatePlanCode=\"{{ratePlanCode}}\" RatePlanCategory=\"501\">\n                                    <Rates>\n                                        <Rate EffectiveDate=\"2026-02-01\" ExpireDate=\"2026-02-02\">\n                                            <Base AmountAfterTax=\"103103\" CurrencyCode=\"KRW\" AmountBeforeTax=\"103103\"/>\n                                        </Rate>\n                                    </Rates>\n                                </RoomRate>\n                            </RoomRates>\n                            <BasicPropertyInfo HotelCode=\"{{hotelCode}}\" HotelName=\"Test Hotel\"/>\n                        </RoomStay>\n                    </RoomStays>\n                    <ResGuests>\n                        <ResGuest>\n                            <Profiles>\n                                <ProfileInfo>\n                                    <Profile>\n                                        <Customer>\n                                            <PersonName>\n                                                <GivenName>John</GivenName>\n                                                <Surname>Doe</Surname>\n                                            </PersonName>\n                                            <PersonName>\n                                                <GivenName>Jane</GivenName>\n                                                <Surname>Smith</Surname>\n                                            </PersonName>\n                                            <PersonName>\n                                                <GivenName>John</GivenName>\n                                                <Surname>Doe</Surname>\n                                            </PersonName>\n                                            <ContactPerson>\n                                                <PersonName>\n                                                    <GivenName>Ctrip</GivenName>\n                                                    <Surname>Support</Surname>\n                                                </PersonName>\n                                                <Telephone PhoneNumber=\"+84-28-7308-4199\"/>\n                                                <Email>hotelSupport@trip.com</Email>\n                                            </ContactPerson>\n                                        </Customer>\n                                    </Profile>\n                                </ProfileInfo>\n                            </Profiles>\n                        </ResGuest>\n                    </ResGuests>\n                    <ResGlobalInfo>\n                        <GuestCounts>\n                            <GuestCount Count=\"3\"/>\n                        </GuestCounts>\n                        <TimeSpan Start=\"2026-02-01 0:00:00\" End=\"2026-02-02 0:00:00\"/>\n                        <SpecialRequests>\n                            <SpecialRequest>\n                                <Text TextFormat=\"PlainText\" Language=\"en-us\">Family room</Text>\n                            </SpecialRequest>\n                        </SpecialRequests>\n                        <DepositPayments>\n                            <GuaranteePayment>\n                                <AcceptedPayments>\n                                    <AcceptedPayment>\n                                        <PaymentCard/>\n                                    </AcceptedPayment>\n                                </AcceptedPayments>\n                            </GuaranteePayment>\n                        </DepositPayments>\n                        <Total AmountAfterTax=\"103103\" CurrencyCode=\"KRW\" AmountBeforeTax=\"103103\"/>\n                        <TPA_Extensions>\n                            <IsReserved>false</IsReserved>\n                        </TPA_Extensions>\n                        <HotelReservationIDs>\n                            <HotelReservationID ResID_Type=\"501\" ResID_Value=\"TC07-{{$timestamp}}\"/>\n                        </HotelReservationIDs>\n                    </ResGlobalInfo>\n                </HotelReservation>\n            </HotelReservations>\n        </OTA_HotelResRQ>\n    </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>"
235
				},
236
				"url": {
237
					"raw": "{{baseUrl}}/v1/booking",
238
					"host": [
239
						"{{baseUrl}}"
240
					],
241
					"path": [
242
						"v1",
243
						"booking"
244
					]
245
				},
246
				"description": "**Test Case 07: Single Room with 3 Guests (Mixed Unique and Duplicate)**\n\n**Scenario:** 1 room with 3 guests - John, Jane, John (duplicate)\n\n**Expected Result (After Fix):**\n- Room 1: Guest 1 \"John Doe\", Guest 2 \"Jane Smith\", Guest 3 \"TBA TBA\"\n- Third guest is duplicate of first, should be TBA\n\n**Key Logic Tested:** Combined single room + duplicate detection"
247
			},
248
			"response": []
249
		},
250
		{
251
			"name": "TC08 - 3 Rooms, 4 Guests (Complex Distribution)",
252
			"request": {
253
				"method": "POST",
254
				"header": [
255
					{
256
						"key": "Content-Type",
257
						"value": "text/xml"
258
					}
259
				],
260
				"body": {
261
					"mode": "raw",
262
					"raw": "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">\n    <SOAP-ENV:Header/>\n    <SOAP-ENV:Body>\n        <OTA_HotelResRQ xmlns=\"http://www.opentravel.org/OTA/2003/05\" EchoToken=\"TC08-COMPLEX\" TimeStamp=\"2025-12-15T10:00:00.000+08:00\" Version=\"2.2\">\n            <POS>\n                <Source>\n                    <RequestorID MessagePassword=\"{{ctripPw}}\" Type=\"5\" ID=\"{{ctripId}}\">\n                        <CompanyName Code=\"C\" CodeContext=\"{{codeContext}}\"/>\n                    </RequestorID>\n                </Source>\n            </POS>\n            <UniqueID Type=\"501\" ID=\"TC08-{{$timestamp}}\"/>\n            <HotelReservations>\n                <HotelReservation>\n                    <RoomStays>\n                        <RoomStay>\n                            <RoomTypes>\n                                <RoomType NumberOfUnits=\"3\" RoomTypeCode=\"{{roomTypeCode}}\"/>\n                            </RoomTypes>\n                            <RatePlans>\n                                <RatePlan RatePlanCode=\"{{ratePlanCode}}\" PrepaidIndicator=\"true\">\n                                    <RatePlanDescription>\n                                        <Text TextFormat=\"PlainText\" Language=\"en-us\">Breakfast Included</Text>\n                                    </RatePlanDescription>\n                                </RatePlan>\n                            </RatePlans>\n                            <RoomRates>\n                                <RoomRate RoomTypeCode=\"{{roomTypeCode}}\" NumberOfUnits=\"3\" RatePlanCode=\"{{ratePlanCode}}\" RatePlanCategory=\"501\">\n                                    <Rates>\n                                        <Rate EffectiveDate=\"2026-02-01\" ExpireDate=\"2026-02-02\">\n                                            <Base AmountAfterTax=\"309309\" CurrencyCode=\"KRW\" AmountBeforeTax=\"309309\"/>\n                                        </Rate>\n                                    </Rates>\n                                </RoomRate>\n                            </RoomRates>\n                            <BasicPropertyInfo HotelCode=\"{{hotelCode}}\" HotelName=\"Test Hotel\"/>\n                        </RoomStay>\n                    </RoomStays>\n                    <ResGuests>\n                        <ResGuest>\n                            <Profiles>\n                                <ProfileInfo>\n                                    <Profile>\n                                        <Customer>\n                                            <PersonName>\n                                                <GivenName>John</GivenName>\n                                                <Surname>Doe</Surname>\n                                            </PersonName>\n                                            <PersonName>\n                                                <GivenName>Jane</GivenName>\n                                                <Surname>Smith</Surname>\n                                            </PersonName>\n                                            <PersonName>\n                                                <GivenName>Bob</GivenName>\n                                                <Surname>Wilson</Surname>\n                                            </PersonName>\n                                            <PersonName>\n                                                <GivenName>Alice</GivenName>\n                                                <Surname>Brown</Surname>\n                                            </PersonName>\n                                            <ContactPerson>\n                                                <PersonName>\n                                                    <GivenName>Ctrip</GivenName>\n                                                    <Surname>Support</Surname>\n                                                </PersonName>\n                                                <Telephone PhoneNumber=\"+84-28-7308-4199\"/>\n                                                <Email>hotelSupport@trip.com</Email>\n                                            </ContactPerson>\n                                        </Customer>\n                                    </Profile>\n                                </ProfileInfo>\n                            </Profiles>\n                        </ResGuest>\n                    </ResGuests>\n                    <ResGlobalInfo>\n                        <GuestCounts>\n                            <GuestCount Count=\"4\"/>\n                        </GuestCounts>\n                        <TimeSpan Start=\"2026-02-01 0:00:00\" End=\"2026-02-02 0:00:00\"/>\n                        <SpecialRequests>\n                            <SpecialRequest>\n                                <Text TextFormat=\"PlainText\" Language=\"en-us\">Group booking - same floor</Text>\n                            </SpecialRequest>\n                        </SpecialRequests>\n                        <DepositPayments>\n                            <GuaranteePayment>\n                                <AcceptedPayments>\n                                    <AcceptedPayment>\n                                        <PaymentCard/>\n                                    </AcceptedPayment>\n                                </AcceptedPayments>\n                            </GuaranteePayment>\n                        </DepositPayments>\n                        <Total AmountAfterTax=\"309309\" CurrencyCode=\"KRW\" AmountBeforeTax=\"309309\"/>\n                        <TPA_Extensions>\n                            <IsReserved>false</IsReserved>\n                        </TPA_Extensions>\n                        <HotelReservationIDs>\n                            <HotelReservationID ResID_Type=\"501\" ResID_Value=\"TC08-{{$timestamp}}\"/>\n                        </HotelReservationIDs>\n                    </ResGlobalInfo>\n                </HotelReservation>\n            </HotelReservations>\n        </OTA_HotelResRQ>\n    </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>"
263
				},
264
				"url": {
265
					"raw": "{{baseUrl}}/v1/booking",
266
					"host": [
267
						"{{baseUrl}}"
268
					],
269
					"path": [
270
						"v1",
271
						"booking"
272
					]
273
				},
274
				"description": "**Test Case 08: 3 Rooms with 4 Guests (Complex Distribution)**\n\n**Scenario:** 3 rooms, 4 guests - tests complex distribution\n4 guests / 3 rooms = 1 guest/room + 1 remainder\n\n**Expected Result:**\n- Room 1: \"John Doe\" + \"TBA TBA\" (2 guests - gets remainder)\n- Room 2: \"Jane Smith\" (1 guest)\n- Room 3: \"Bob Wilson\" (1 guest)\n\n**Key Logic Tested:** remainCount with multi-room scenario"
275
			},
276
			"response": []
277
		},
278
		{
279
			"name": "TC09 - Single Room, More Guests Than PersonName",
280
			"request": {
281
				"method": "POST",
282
				"header": [
283
					{
284
						"key": "Content-Type",
285
						"value": "text/xml"
286
					}
287
				],
288
				"body": {
289
					"mode": "raw",
290
					"raw": "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">\n    <SOAP-ENV:Header/>\n    <SOAP-ENV:Body>\n        <OTA_HotelResRQ xmlns=\"http://www.opentravel.org/OTA/2003/05\" EchoToken=\"TC09-MORE-GUESTS\" TimeStamp=\"2025-12-15T10:00:00.000+08:00\" Version=\"2.2\">\n            <POS>\n                <Source>\n                    <RequestorID MessagePassword=\"{{ctripPw}}\" Type=\"5\" ID=\"{{ctripId}}\">\n                        <CompanyName Code=\"C\" CodeContext=\"{{codeContext}}\"/>\n                    </RequestorID>\n                </Source>\n            </POS>\n            <UniqueID Type=\"501\" ID=\"TC09-{{$timestamp}}\"/>\n            <HotelReservations>\n                <HotelReservation>\n                    <RoomStays>\n                        <RoomStay>\n                            <RoomTypes>\n                                <RoomType NumberOfUnits=\"1\" RoomTypeCode=\"{{roomTypeCode}}\"/>\n                            </RoomTypes>\n                            <RatePlans>\n                                <RatePlan RatePlanCode=\"{{ratePlanCode}}\" PrepaidIndicator=\"true\">\n                                    <RatePlanDescription>\n                                        <Text TextFormat=\"PlainText\" Language=\"en-us\">Breakfast Included</Text>\n                                    </RatePlanDescription>\n                                </RatePlan>\n                            </RatePlans>\n                            <RoomRates>\n                                <RoomRate RoomTypeCode=\"{{roomTypeCode}}\" NumberOfUnits=\"1\" RatePlanCode=\"{{ratePlanCode}}\" RatePlanCategory=\"501\">\n                                    <Rates>\n                                        <Rate EffectiveDate=\"2026-02-01\" ExpireDate=\"2026-02-02\">\n                                            <Base AmountAfterTax=\"103103\" CurrencyCode=\"KRW\" AmountBeforeTax=\"103103\"/>\n                                        </Rate>\n                                    </Rates>\n                                </RoomRate>\n                            </RoomRates>\n                            <BasicPropertyInfo HotelCode=\"{{hotelCode}}\" HotelName=\"Test Hotel\"/>\n                        </RoomStay>\n                    </RoomStays>\n                    <ResGuests>\n                        <ResGuest>\n                            <Profiles>\n                                <ProfileInfo>\n                                    <Profile>\n                                        <Customer>\n                                            <PersonName>\n                                                <GivenName>John</GivenName>\n                                                <Surname>Doe</Surname>\n                                            </PersonName>\n                                            <ContactPerson>\n                                                <PersonName>\n                                                    <GivenName>Ctrip</GivenName>\n                                                    <Surname>Support</Surname>\n                                                </PersonName>\n                                                <Telephone PhoneNumber=\"+84-28-7308-4199\"/>\n                                                <Email>hotelSupport@trip.com</Email>\n                                            </ContactPerson>\n                                        </Customer>\n                                    </Profile>\n                                </ProfileInfo>\n                            </Profiles>\n                        </ResGuest>\n                    </ResGuests>\n                    <ResGlobalInfo>\n                        <GuestCounts>\n                            <GuestCount Count=\"3\"/>\n                        </GuestCounts>\n                        <TimeSpan Start=\"2026-02-01 0:00:00\" End=\"2026-02-02 0:00:00\"/>\n                        <SpecialRequests>\n                            <SpecialRequest>\n                                <Text TextFormat=\"PlainText\" Language=\"en-us\">Extra bed needed</Text>\n                            </SpecialRequest>\n                        </SpecialRequests>\n                        <DepositPayments>\n                            <GuaranteePayment>\n                                <AcceptedPayments>\n                                    <AcceptedPayment>\n                                        <PaymentCard/>\n                                    </AcceptedPayment>\n                                </AcceptedPayments>\n                            </GuaranteePayment>\n                        </DepositPayments>\n                        <Total AmountAfterTax=\"103103\" CurrencyCode=\"KRW\" AmountBeforeTax=\"103103\"/>\n                        <TPA_Extensions>\n                            <IsReserved>false</IsReserved>\n                        </TPA_Extensions>\n                        <HotelReservationIDs>\n                            <HotelReservationID ResID_Type=\"501\" ResID_Value=\"TC09-{{$timestamp}}\"/>\n                        </HotelReservationIDs>\n                    </ResGlobalInfo>\n                </HotelReservation>\n            </HotelReservations>\n        </OTA_HotelResRQ>\n    </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>"
291
				},
292
				"url": {
293
					"raw": "{{baseUrl}}/v1/booking",
294
					"host": [
295
						"{{baseUrl}}"
296
					],
297
					"path": [
298
						"v1",
299
						"booking"
300
					]
301
				},
302
				"description": "**Test Case 09: Single Room, More Guests Than PersonName Provided**\n\n**Scenario:** 1 room, GuestCount=3 but only 1 PersonName provided\n\n**Expected Result:**\n- Room 1: Guest 1 \"John Doe\", Guest 2 \"TBA TBA\", Guest 3 \"TBA TBA\"\n- Missing names should default to TBA\n\n**Key Logic Tested:** pdx < personNodeList.getLength() boundary check"
303
			},
304
			"response": []
305
		},
306
		{
307
			"name": "TC10 - Original Case",
308
			"request": {
309
				"method": "POST",
310
				"header": [
311
					{
312
						"key": "Content-Type",
313
						"value": "text/xml"
314
					}
315
				],
316
				"body": {
317
					"mode": "raw",
318
					"raw": "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">\n    <SOAP-ENV:Header/>\n    <SOAP-ENV:Body>\n        <OTA_HotelResRQ xmlns=\"http://www.opentravel.org/OTA/2003/05\" EchoToken=\"TC10-ORIGINAL\" TimeStamp=\"2025-12-15T14:01:55.935+08:00\" Version=\"2.2\">\n            <POS>\n                <Source>\n                    <RequestorID MessagePassword=\"{{ctripPw}}\" Type=\"5\" ID=\"{{ctripId}}\">\n                        <CompanyName Code=\"C\" CodeContext=\"{{codeContext}}\"/>\n                    </RequestorID>\n                </Source>\n            </POS>\n            <UniqueID Type=\"501\" ID=\"TC10-{{$timestamp}}\"/>\n            <HotelReservations>\n                <HotelReservation>\n                    <RoomStays>\n                        <RoomStay>\n                            <RoomTypes>\n                                <RoomType NumberOfUnits=\"1\" RoomTypeCode=\"{{roomTypeCode}}\"/>\n                            </RoomTypes>\n                            <RatePlans>\n                                <RatePlan RatePlanCode=\"{{ratePlanCode}}\" PrepaidIndicator=\"true\">\n                                    <RatePlanDescription>\n                                        <Text TextFormat=\"PlainText\" Language=\"en-us\">Breakfast I</Text>\n                                    </RatePlanDescription>\n                                </RatePlan>\n                            </RatePlans>\n                            <RoomRates>\n                                <RoomRate RoomTypeCode=\"{{roomTypeCode}}\" NumberOfUnits=\"1\" RatePlanCode=\"{{ratePlanCode}}\" RatePlanCategory=\"501\">\n                                    <Rates>\n                                        <Rate EffectiveDate=\"2026-01-09\" ExpireDate=\"2026-01-10\">\n                                            <Base AmountAfterTax=\"103103\" CurrencyCode=\"KRW\" AmountBeforeTax=\"103103\"/>\n                                        </Rate>\n                                    </Rates>\n                                </RoomRate>\n                            </RoomRates>\n                            <BasicPropertyInfo HotelCode=\"{{hotelCode}}\" HotelName=\"Shinsegae Youngrangho Resort test\"/>\n                        </RoomStay>\n                    </RoomStays>\n                    <ResGuests>\n                        <ResGuest>\n                            <Profiles>\n                                <ProfileInfo>\n                                    <Profile>\n                                        <Customer>\n                                            <PersonName>\n                                                <GivenName>Dang Tung</GivenName>\n                                                <Surname>Ngo</Surname>\n                                            </PersonName>\n                                            <PersonName>\n                                                <GivenName>Dang Tung</GivenName>\n                                                <Surname>Ngo</Surname>\n                                            </PersonName>\n                                            <ContactPerson>\n                                                <PersonName>\n                                                    <GivenName>Ctrip</GivenName>\n                                                    <Surname>Team</Surname>\n                                                </PersonName>\n                                                <Telephone PhoneNumber=\"+84-28-7308-4199\"/>\n                                                <Email>hotelSupport@trip.com</Email>\n                                            </ContactPerson>\n                                        </Customer>\n                                    </Profile>\n                                </ProfileInfo>\n                            </Profiles>\n                        </ResGuest>\n                    </ResGuests>\n                    <ResGlobalInfo>\n                        <GuestCounts>\n                            <GuestCount Count=\"2\"/>\n                        </GuestCounts>\n                        <TimeSpan Start=\"2026-01-09 0:00:00\" End=\"2026-01-10 0:00:00\"/>\n                        <SpecialRequests>\n                            <SpecialRequest>\n                                <Text TextFormat=\"PlainText\" Language=\"en-us\"/>\n                            </SpecialRequest>\n                        </SpecialRequests>\n                        <DepositPayments>\n                            <GuaranteePayment>\n                                <AcceptedPayments>\n                                    <AcceptedPayment>\n                                        <PaymentCard/>\n                                    </AcceptedPayment>\n                                </AcceptedPayments>\n                            </GuaranteePayment>\n                        </DepositPayments>\n                        <Total AmountAfterTax=\"103103\" CurrencyCode=\"KRW\" AmountBeforeTax=\"103103\"/>\n                        <TPA_Extensions>\n                            <IsReserved>false</IsReserved>\n                        </TPA_Extensions>\n                        <HotelReservationIDs>\n                            <HotelReservationID ResID_Type=\"501\" ResID_Value=\"TC10-{{$timestamp}}\"/>\n                        </HotelReservationIDs>\n                    </ResGlobalInfo>\n                </HotelReservation>\n            </HotelReservations>\n        </OTA_HotelResRQ>\n    </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>"
319
				},
320
				"url": {
321
					"raw": "{{baseUrl}}/v1/booking",
322
					"host": [
323
						"{{baseUrl}}"
324
					],
325
					"path": [
326
						"v1",
327
						"booking"
328
					]
329
				},
330
				"description": "**Test Case 10: Original Bug Case (User's Request - Fixed)**\n\n**Scenario:** Based on user's original request - 1 room, 2 guests with same name\n\n**Expected Result (After Fix):**\n- Room 1: Guest 1 \"Ngo Dang Tung\", Guest 2 \"TBA TBA\"\n- Duplicate name should be replaced with TBA\n\n**Note:** TimeSpan fixed to match Rate dates (2026-01-09 to 2026-01-10)"
331
			},
332
			"response": []
333
		}
334
	],
335
	"event": [
336
		{
337
			"listen": "prerequest",
338
			"script": {
339
				"type": "text/javascript",
340
				"packages": {},
341
				"requests": {},
342
				"exec": [
343
					""
344
				]
345
			}
346
		},
347
		{
348
			"listen": "test",
349
			"script": {
350
				"type": "text/javascript",
351
				"packages": {},
352
				"requests": {},
353
				"exec": [
354
					""
355
				]
356
			}
357
		}
358
	],
359
	"variable": [
360
		{
361
			"key": "baseUrl",
362
			"value": "http://localhost:6400"
363
		},
364
		{
365
			"key": "ctripId",
366
			"value": "ctrip"
367
		},
368
		{
369
			"key": "ctripPw",
370
			"value": "Ctripr@Aye$9J6n37j#DeGM"
371
		},
372
		{
373
			"key": "codeContext_VN",
374
			"value": "1311"
375
		},
376
		{
377
			"key": "hotelCode",
378
			"value": "KR001072"
379
		},
380
		{
381
			"key": "roomTypeCode",
382
			"value": "RTAA2646"
383
		},
384
		{
385
			"key": "ratePlanCode",
386
			"value": "RABB1351"
387
		},
388
		{
389
			"key": "codeContext",
390
			"value": ""
391
		}
392
	]
393
}
(1-1/14)
Add picture from clipboard (Maximum size: 50 MB)