sabre-client 0.4.1 → 0.5.1
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.
- package/README.es.md +226 -21
- package/README.md +226 -21
- package/dist/anonymize.d.ts +54 -0
- package/dist/anonymize.js +111 -0
- package/dist/anonymize.js.map +1 -0
- package/dist/index.d.ts +2726 -693
- package/dist/index.js +497 -115
- package/dist/index.js.map +1 -1
- package/dist/reservation-history-BKRFlxpA.d.ts +792 -0
- package/dist/testing.d.ts +84 -7
- package/dist/testing.js +475 -57
- package/dist/testing.js.map +1 -1
- package/package.json +5 -1
- package/dist/queue-ref-BDGh8FrV.d.ts +0 -11
package/dist/testing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/testing/queue-fake.ts","../src/queue/queue-access.ts","../src/queue/queue-ref.ts","../src/queue/queue-place.ts","../test/fixtures/queue.production-place.json","../test/fixtures/queue.production-place-sin-pic.json","../test/fixtures/queue.production-place-sin-pic-adentro.json","../test/fixtures/queue.production-walk-empty-queue.json","../test/fixtures/queue.production-walk.json","../src/testing/fixtures.ts"],"sourcesContent":["// Fake de colas para los tests de los consumidores: un `fetch` que responde como Sabre a la sesión\n// SOAP y a Queue Management, sin red. Ver sabre-wiki/wiki/sdk/tier-3-sesion-y-colas-soap.md\n// (punto 7 y su decisión). Se publica en `sabre-client/testing`, fuera del bundle principal.\n//\n// Las respuestas imitan lo observado en producción (#95, #96 y #97): la cola vacía como\n// `QUEUE SELECTED WAS EMPTY`, el fin de cola en el `Paragraph`, `place` dentro de una cola que\n// mueve el PNR y devuelve el siguiente, y los errores de host con el código en `ShortText`.\nimport { XMLParser } from 'fast-xml-parser';\nimport { END_OF_DISPLAY, OFF_QUEUE, QUEUE_EMPTY } from '../queue/queue-access.js';\nimport { signatureLocator } from '../queue/queue-place.js';\nimport { MAX_QUEUE_NUMBER, MIN_QUEUE_NUMBER, type QueueRef, toQueueRef } from '../queue/queue-ref.js';\n\n/** Un PNR del fake, con los campos que Sabre manda en `Line`. */\nexport interface QueueFakePnr {\n /** Localizador de 6 caracteres alfanuméricos. */\n locator: string;\n /**\n * Las líneas del PNR en formato de host, como el `Paragraph` de Access Queue. Si no termina en\n * una línea de firma (`… HHMM/DDMMMYY <localizador> H`), el fake agrega una: `place` dentro de\n * una cola saca el localizador de ahí, igual que con Sabre.\n */\n paragraph?: readonly string[];\n /** `Line/DateTime`, tal cual. */\n placedAt?: string;\n /** `Line/POS/Source`. */\n placedBy?: { agentSine?: string; pseudoCityCode?: string };\n /** `Line/PassengerName`. Solo llega en `list` con `primaryPassenger: true`. */\n primaryPassenger?: string;\n}\n\n/** Un PNR: sus campos, o solo el párrafo. Con solo el párrafo, el localizador sale de la línea de firma. */\nexport type QueueFakeItem = QueueFakePnr | readonly string[];\n\nexport interface QueueFakeOptions {\n /**\n * El contenido de cada cola, en orden. La clave es el número de cola (`'12'`, de 0 a 511) o el\n * nombre de una cola alfabética (`'S'`). El fake no distingue PCC: las colas son las mismas para\n * cualquier `pcc`.\n */\n queues?: Readonly<Record<string, readonly QueueFakeItem[]>>;\n /** PNR que no están en ninguna cola, para colocarlos con `place({ locators })`. */\n pnrs?: readonly QueueFakeItem[];\n /** Reloj de las fechas de `count` y de `place`. Por defecto, `new Date()`. Las fechas van en UTC. */\n now?: () => Date;\n}\n\n/** Qué le pidió el SDK al fake. */\nexport type QueueFakeCommand =\n | 'open'\n | 'close'\n | 'ping'\n | 'count'\n | 'access'\n | 'list'\n | 'ignore'\n | 'remove'\n | 'exit'\n | 'place';\n\nexport interface QueueFakeCall {\n command: QueueFakeCommand;\n /** La cola de `access` y `list`. */\n queue?: QueueRef;\n}\n\nexport interface QueueFake {\n /** Se pasa como `config.fetch` de `SabreLegacy`. */\n readonly fetch: typeof fetch;\n /** Los localizadores de una cola, en orden, con lo que el recorrido haya sacado o colocado. */\n locators(queue: QueueRef): string[];\n /** Las llamadas recibidas, en orden. */\n readonly calls: readonly QueueFakeCall[];\n /** Cuántas sesiones siguen abiertas: sirve para comprobar que el consumidor las cierra. */\n readonly openSessions: number;\n /**\n * Vence todas las sesiones abiertas. La siguiente llamada de cada una recibe el fault de una\n * sesión vencida (`USG_INVALID_SECURITY_TOKEN`), y el SDK la convierte en `SabreSessionError`\n * con `kind: 'expired'`.\n */\n expireSessions(): void;\n}\n\nconst SWS_NAMESPACE = 'http://webservices.sabre.com/sabreXML/2011/10';\nconst STL_NAMESPACE = 'http://services.sabre.com/STL/v01';\nconst SIGNATURE_DATE = '1200/01JAN26';\nconst LOCATOR = /^[A-Z0-9]{6}$/;\nconst NAVIGATION: Readonly<Record<string, QueueFakeCommand>> = { I: 'ignore', QR: 'remove', QXI: 'exit' };\n\ntype XmlNode = Record<string, unknown>;\n\ninterface Pnr {\n locator: string;\n paragraph: readonly string[];\n primaryPassenger: string | undefined;\n}\n\n/** Un PNR dentro de una cola: el PNR y los datos de su colocación. */\ninterface Entry {\n locator: string;\n placedAt: string | undefined;\n placedBy: { agentSine?: string; pseudoCityCode?: string } | undefined;\n}\n\ninterface Session {\n conversationId: string;\n /** La cola en la que está la sesión y la posición del PNR en pantalla. */\n inside: { key: string; index: number } | undefined;\n}\n\ninterface Reply {\n status: number;\n body: string;\n}\n\nfunction fail(message: string): never {\n throw new TypeError(`sabre-client/testing: ${message}`);\n}\n\nconst parser = new XMLParser({\n ignoreAttributes: false,\n attributeNamePrefix: '@',\n removeNSPrefix: true,\n parseTagValue: false,\n parseAttributeValue: false,\n isArray: (name) => name === 'QueueIdentifier' || name === 'UniqueID' || name === 'Selection',\n});\n\nfunction node(value: unknown): XmlNode | undefined {\n if (Array.isArray(value)) return node(value[0]);\n return typeof value === 'object' && value !== null ? (value as XmlNode) : undefined;\n}\n\nfunction nodes(value: unknown): XmlNode[] {\n if (value === undefined) return [];\n return (Array.isArray(value) ? value : [value]).filter((item): item is XmlNode => node(item) !== undefined);\n}\n\nfunction text(value: unknown): string | undefined {\n if (typeof value === 'string') return value.trim();\n const inner = node(value)?.['#text'];\n return typeof inner === 'string' ? inner.trim() : undefined;\n}\n\nfunction attr(value: unknown, name: string): string | undefined {\n const found = node(value)?.[`@${name}`];\n return typeof found === 'string' ? found : undefined;\n}\n\nfunction escape(value: string): string {\n return value.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\"/g, '"');\n}\n\n/** Clave interna de una cola: `'12'` o `'S'`. */\nfunction queueKey(queue: QueueRef): string {\n return typeof queue === 'number' ? String(queue) : queue.name;\n}\n\nfunction validateKey(key: string): void {\n if (/^\\d+$/.test(key)) {\n const number = Number(key);\n if (number < MIN_QUEUE_NUMBER || number > MAX_QUEUE_NUMBER) fail(`la cola ${key} está fuera de 0–511`);\n return;\n }\n if (key.trim() === '') fail('el nombre de una cola no puede estar vacío');\n}\n\n/** `MM-DDTHH:mm`, como el `DateTime` de `QueueCountRS` y `QueuePlaceRS`. */\nfunction shortDate(date: Date): string {\n return date.toISOString().slice(5, 16);\n}\n\n/** `YYYY-MM-DDTHH:mm`, como el `Line/DateTime` real de Access Queue. */\nfunction longDate(date: Date): string {\n return date.toISOString().slice(0, 16);\n}\n\nfunction toPnr(item: QueueFakeItem, label: string): Pnr & Omit<Entry, 'locator'> {\n if (Array.isArray(item)) {\n const lines = item as readonly string[];\n const locator = signatureLocator(lines);\n if (locator === undefined) fail(`${label}: el párrafo no tiene línea de firma; pasa { locator, paragraph }`);\n return { locator, paragraph: [...lines], primaryPassenger: undefined, placedAt: undefined, placedBy: undefined };\n }\n const pnr = item as QueueFakePnr;\n if (typeof pnr !== 'object' || pnr === null || typeof pnr.locator !== 'string' || !LOCATOR.test(pnr.locator)) {\n fail(`${label}: locator debe ser de 6 caracteres alfanuméricos en mayúscula`);\n }\n const lines = [...(pnr.paragraph ?? [])];\n const signed = signatureLocator(lines);\n if (signed !== undefined && signed !== pnr.locator) fail(`${label}: la línea de firma es de ${signed}, no de ${pnr.locator}`);\n if (signed === undefined) lines.push(`XXXX.XXXX*AAA ${SIGNATURE_DATE} ${pnr.locator} H`);\n return {\n locator: pnr.locator,\n paragraph: lines,\n primaryPassenger: pnr.primaryPassenger,\n placedAt: pnr.placedAt,\n placedBy: pnr.placedBy,\n };\n}\n\nfunction envelope(action: string, conversationId: string, token: string | undefined, body: string): string {\n const security =\n token === undefined\n ? ''\n : `<wsse:Security xmlns:wsse=\"http://schemas.xmlsoap.org/ws/2002/12/secext\"><wsse:BinarySecurityToken valueType=\"String\" EncodingType=\"wsse:Base64Binary\">${escape(token)}</wsse:BinarySecurityToken></wsse:Security>`;\n return [\n '<?xml version=\"1.0\" encoding=\"UTF-8\"?>',\n '<soap-env:Envelope xmlns:soap-env=\"http://schemas.xmlsoap.org/soap/envelope/\"><soap-env:Header>',\n '<eb:MessageHeader xmlns:eb=\"http://www.ebxml.org/namespaces/messageHeader\" eb:version=\"1.0\" soap-env:mustUnderstand=\"1\">',\n `<eb:ConversationId>${escape(conversationId)}</eb:ConversationId><eb:Action>${escape(action)}</eb:Action>`,\n '</eb:MessageHeader>',\n security,\n `</soap-env:Header><soap-env:Body>${body}</soap-env:Body></soap-env:Envelope>`,\n ].join('');\n}\n\nfunction results(status: 'Complete' | 'NotProcessed', inner: string): string {\n return `<stl:ApplicationResults status=\"${status}\">${inner}</stl:ApplicationResults>`;\n}\n\nconst success = '<stl:Success/>';\n\n/** Un error de host con la forma real: `Message` sin `@code` y el código en `ShortText`. */\nfunction hostResult(kind: 'Error' | 'Warning', message: string): string {\n return `<stl:${kind} type=\"BusinessLogic\"><stl:SystemSpecificResults><stl:Message>${escape(message)}</stl:Message><stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText></stl:SystemSpecificResults></stl:${kind}>`;\n}\n\nfunction textLines(lines: readonly string[]): string {\n return lines.map((line) => `<Text>${escape(line)}</Text>`).join('');\n}\n\nfunction queueIdentifier(queue: string): QueueRef {\n return toQueueRef(queue) ?? { name: queue };\n}\n\n/** Lee una `QueueIdentifier` del request: `Number` o `Name`. */\nfunction requestedKey(identifier: XmlNode | undefined): string | undefined {\n return attr(identifier, 'Number') ?? attr(identifier, 'Name');\n}\n\nexport function createQueueFake(options: QueueFakeOptions = {}): QueueFake {\n if (typeof options !== 'object' || options === null) fail('options debe ser un objeto');\n const now = options.now ?? (() => new Date());\n if (typeof now !== 'function') fail('now debe ser una función');\n\n const pnrs = new Map<string, Pnr>();\n const queues = new Map<string, Entry[]>();\n const sessions = new Map<string, Session>();\n const calls: QueueFakeCall[] = [];\n let tokens = 0;\n\n const register = (item: QueueFakeItem, label: string): Pnr & Omit<Entry, 'locator'> => {\n const pnr = toPnr(item, label);\n const known = pnrs.get(pnr.locator);\n if (known !== undefined && JSON.stringify(known.paragraph) !== JSON.stringify(pnr.paragraph)) {\n fail(`${label}: el PNR ${pnr.locator} aparece con dos párrafos distintos`);\n }\n if (known === undefined) {\n pnrs.set(pnr.locator, { locator: pnr.locator, paragraph: pnr.paragraph, primaryPassenger: pnr.primaryPassenger });\n }\n return pnr;\n };\n\n for (const [key, items] of Object.entries(options.queues ?? {})) {\n validateKey(key);\n if (!Array.isArray(items)) fail(`queues['${key}'] debe ser una lista`);\n queues.set(\n key,\n items.map((item, index) => {\n const { locator, placedAt, placedBy } = register(item, `queues['${key}'][${index}]`);\n return { locator, placedAt, placedBy };\n }),\n );\n }\n for (const [index, item] of (options.pnrs ?? []).entries()) register(item, `pnrs[${index}]`);\n\n const queue = (key: string): Entry[] => {\n let entries = queues.get(key);\n if (entries === undefined) {\n entries = [];\n queues.set(key, entries);\n }\n return entries;\n };\n\n // --- Respuestas de sesión ---------------------------------------------------------------\n\n const invalidToken = (conversationId: string, token: string | undefined): Reply => ({\n status: 500,\n body: envelope(\n 'ErrorRS',\n conversationId,\n token,\n `<soap-env:Fault><faultcode>soap-env:Client.InvalidSecurityToken</faultcode><faultstring>Invalid or Expired binary security token: ${escape(token ?? '')}</faultstring><detail><StackTrace>com.sabre.universalservices.base.session.SessionException: errors.session.USG_INVALID_SECURITY_TOKEN</StackTrace></detail></soap-env:Fault>`,\n ),\n });\n\n const reply = (action: string, session: Session, token: string, body: string): Reply => ({\n status: 200,\n body: envelope(action, session.conversationId, token, body),\n });\n\n // --- Colas --------------------------------------------------------------------------\n\n const lineXml = (entry: Entry, extra: { number?: number; passenger?: boolean } = {}): string => {\n const pnr = pnrs.get(entry.locator);\n const source =\n entry.placedBy === undefined\n ? ''\n : `<POS><Source${entry.placedBy.agentSine === undefined ? '' : ` AgentSine=\"${escape(entry.placedBy.agentSine)}\"`}${entry.placedBy.pseudoCityCode === undefined ? '' : ` PseudoCityCode=\"${escape(entry.placedBy.pseudoCityCode)}\"`}/></POS>`;\n return [\n extra.number === undefined ? '<Line>' : `<Line Number=\"${extra.number}\">`,\n entry.placedAt === undefined ? '' : `<DateTime>${escape(entry.placedAt)}</DateTime>`,\n source,\n extra.passenger === true && pnr?.primaryPassenger !== undefined ? `<PassengerName>${escape(pnr.primaryPassenger)}</PassengerName>` : '',\n `<UniqueID ID=\"${escape(entry.locator)}\"/>`,\n '</Line>',\n ].join('');\n };\n\n const accessRS = (inner: string): string =>\n `<QueueAccessRS xmlns=\"${SWS_NAMESPACE}\" xmlns:stl=\"${STL_NAMESPACE}\" Version=\"2.1.1\">${inner}</QueueAccessRS>`;\n const placeRS = (inner: string): string =>\n `<QueuePlaceRS xmlns=\"${SWS_NAMESPACE}\" xmlns:stl=\"${STL_NAMESPACE}\" Version=\"2.0.4\">${inner}</QueuePlaceRS>`;\n const accessError = (message: string): string => accessRS(results('NotProcessed', hostResult('Error', message)));\n const placeError = (message: string): string => placeRS(results('NotProcessed', hostResult('Error', message)));\n\n /** El paso en el que queda la sesión: el PNR en pantalla o el fin de cola. */\n const step = (session: Session): string => {\n const inside = session.inside;\n const entry = inside === undefined ? undefined : queue(inside.key)[inside.index];\n if (entry === undefined) {\n session.inside = undefined;\n return accessRS(`${results('Complete', success)}<Paragraph>${textLines([END_OF_DISPLAY])}</Paragraph>`);\n }\n const pnr = pnrs.get(entry.locator)!;\n return accessRS(`${results('Complete', success)}${lineXml(entry)}<Paragraph>${textLines(pnr.paragraph)}</Paragraph>`);\n };\n\n const count = (session: Session, rq: XmlNode): string => {\n const pcc = attr(node(node(rq.QueueInfo)?.QueueIdentifier), 'PseudoCityCode') ?? '';\n let pnrsTotal = 0;\n let messages = 0;\n const identifiers: string[] = [];\n for (const [key, entries] of queues) {\n // Con un PNR en pantalla, su cola no lo cuenta (producción, #96).\n const open = session.inside?.key === key && entries[session.inside.index] !== undefined ? 1 : 0;\n const total = entries.length - open;\n if (total <= 0) continue;\n identifiers.push(`<QueueIdentifier Count=\"${total}\" Number=\"${escape(key)}\"/>`);\n if (/^\\d+$/.test(key)) pnrsTotal += total;\n else messages += total;\n }\n return `<QueueCountRS xmlns=\"${SWS_NAMESPACE}\" xmlns:stl=\"${STL_NAMESPACE}\" Version=\"2.2.1\">${results('Complete', success)}<QueueInfo DateTime=\"${shortDate(now())}\" PseudoCityCode=\"${escape(pcc)}\">${identifiers.join('')}</QueueInfo><Totals Count=\"${messages}\" Type=\"MESSAGES\"/><Totals Count=\"0\" Type=\"SPECIALS\"/><Totals Count=\"${pnrsTotal}\" Type=\"PNRS\"/></QueueCountRS>`;\n };\n\n const access = (session: Session, rq: XmlNode): string => {\n const navigation = attr(rq.Navigation, 'Action');\n if (navigation !== undefined) return navigate(session, rq, navigation);\n\n const identifier = node(rq.QueueIdentifier);\n const key = requestedKey(identifier);\n if (key === undefined) return accessError('sabre-client/testing: QueueIdentifier sin Number ni Name');\n const isList = node(identifier?.List) !== undefined;\n calls.push({ command: isList ? 'list' : 'access', queue: queueIdentifier(key) });\n\n if (nodes(rq.Selection).length > 0) return accessError('sabre-client/testing: selection no está simulado');\n const entries = queue(key);\n if (entries.length === 0) return accessError(QUEUE_EMPTY);\n\n if (isList) {\n const passenger = attr(identifier?.List, 'PrimaryPassenger') === 'true';\n const lines = entries.map((entry, index) => lineXml(entry, { number: index + 1, passenger })).join('');\n return accessRS(`${results('Complete', success)}${lines}`);\n }\n session.inside = { key, index: 0 };\n return step(session);\n };\n\n const navigate = (session: Session, rq: XmlNode, action: string): string => {\n const command = NAVIGATION[action];\n if (command === undefined) return accessError(`sabre-client/testing: Navigation ${action} no está simulado`);\n calls.push({ command });\n const inside = session.inside;\n if (action === 'QXI') {\n if (inside === undefined) return accessError(OFF_QUEUE);\n session.inside = undefined;\n return accessRS(results('Complete', success));\n }\n // Fuera de una cola, producción responde `IGD` a `I`. Se supone lo mismo para `QR`.\n if (inside === undefined) return accessError('IGD');\n const current = queue(inside.key)[inside.index];\n if (current === undefined) return step(session);\n\n if (action === 'I') {\n inside.index += 1;\n return step(session);\n }\n const from = nodes(rq.QueueIdentifier).map((identifier) => requestedKey(identifier) ?? '');\n const targets = from.length === 0 ? [inside.key] : from;\n for (const key of targets) {\n const entries = queue(key);\n const position = key === inside.key ? inside.index : entries.findIndex((entry) => entry.locator === current.locator);\n if (position >= 0 && entries[position]?.locator === current.locator) entries.splice(position, 1);\n }\n // Si no salió de la cola en curso, el cursor avanza como con `I`.\n if (!targets.includes(inside.key)) inside.index += 1;\n return step(session);\n };\n\n const place = (session: Session, rq: XmlNode): string => {\n calls.push({ command: 'place' });\n const info = node(rq.QueueInfo);\n const targets = nodes(info?.QueueIdentifier).map((identifier) => ({\n key: requestedKey(identifier) ?? '',\n pcc: attr(identifier, 'PseudoCityCode'),\n instructionCode: attr(identifier, 'PrefatoryInstructionCode'),\n }));\n const locators = nodes(info?.UniqueID).map((id) => attr(id, 'ID') ?? '');\n const inside = session.inside;\n const moving = inside !== undefined && locators.length === 0;\n\n // Producción pide el PIC siempre, aunque el design lo dé como opcional (#97).\n if (targets.some((target) => target.instructionCode === undefined)) {\n return placeError(moving ? 'NEED INSTRUCTION NUMBER' : 'INSTRUCTION NUMBER NOT IN RANGE');\n }\n for (const target of targets) validateKey(target.key);\n\n const at = now();\n const add = (locator: string, target: (typeof targets)[number]): void => {\n const entries = queue(target.key);\n if (entries.some((entry) => entry.locator === locator)) return;\n entries.push({\n locator,\n placedAt: longDate(at),\n placedBy: target.pcc === undefined ? undefined : { pseudoCityCode: target.pcc },\n });\n };\n\n if (moving) {\n const current = queue(inside.key)[inside.index];\n if (current === undefined) return placeError('sabre-client/testing: no hay PNR en pantalla');\n // El PNR se mueve: sale de la cola en curso y queda en las de destino (#97).\n queue(inside.key).splice(inside.index, 1);\n for (const target of targets) add(current.locator, target);\n const next = queue(inside.key)[inside.index];\n if (next === undefined) {\n session.inside = undefined;\n return placeRS(results('Complete', `${success}${hostResult('Warning', END_OF_DISPLAY)}`));\n }\n return placeRS(`${results('Complete', success)}${textLines(pnrs.get(next.locator)!.paragraph)}`);\n }\n\n // El fake no lleva el AAA fuera de una cola: sin localizadores no hay qué colocar.\n if (locators.length === 0) return placeError('sabre-client/testing: place fuera de una cola necesita locators');\n if (locators.some((locator) => !pnrs.has(locator))) return placeError('BAD PNR LOCATOR');\n const placements: string[] = [];\n for (const locator of locators) {\n for (const target of targets) {\n add(locator, target);\n const identifier = /^\\d+$/.test(target.key) ? `Number=\"${target.key.padStart(4, '0')}\"` : `Name=\"${escape(target.key)}\"`;\n const pcc = target.pcc === undefined ? '' : ` PseudoCityCode=\"${escape(target.pcc)}\"`;\n placements.push(`<QueueInfo DateTime=\"${shortDate(at)}\"><QueueIdentifier ${identifier}${pcc}/><UniqueID ID=\"${escape(locator)}\"/></QueueInfo>`);\n }\n }\n return placeRS(`${results('Complete', success)}${placements.join('')}`);\n };\n\n // --- Despacho --------------------------------------------------------------------------\n\n const handle = (raw: string): Reply => {\n let document: XmlNode | undefined;\n try {\n document = node(node(parser.parse(raw))?.Envelope);\n } catch {\n document = undefined;\n }\n const header = node(document?.Header);\n const messageHeader = node(header?.MessageHeader);\n const action = text(messageHeader?.Action) ?? '';\n const conversationId = text(messageHeader?.ConversationId) ?? '';\n const token = text(node(header?.Security)?.BinarySecurityToken);\n const body = node(document?.Body);\n const [, payload] = Object.entries(body ?? {}).find(([name]) => !name.startsWith('@')) ?? [];\n const rq = node(payload) ?? {};\n\n if (action === 'SessionCreateRQ') {\n calls.push({ command: 'open' });\n tokens += 1;\n const newToken = `Shared/IDL:IceSess\\\\/SessMgr:1\\\\.0.IDL/Common/!ICESMS\\\\/FAKE!${tokens}!0`;\n sessions.set(newToken, { conversationId, inside: undefined });\n const version = attr(rq, 'Version') === '2.0.0' ? '2.0.0' : '1.0.0';\n return {\n status: 200,\n body: envelope(\n 'SessionCreateRS',\n conversationId,\n newToken,\n `<SessionCreateRS xmlns=\"http://www.opentravel.org/OTA/2002/11\" version=\"${version}\" status=\"Approved\"><ConversationId>${escape(conversationId)}</ConversationId></SessionCreateRS>`,\n ),\n };\n }\n\n const session = token === undefined ? undefined : sessions.get(token);\n if (session === undefined || token === undefined) return invalidToken(conversationId, token);\n\n switch (action) {\n case 'SessionCloseRQ':\n calls.push({ command: 'close' });\n sessions.delete(token);\n return reply('SessionCloseRS', session, token, '<SessionCloseRS xmlns=\"http://www.opentravel.org/OTA/2002/11\" version=\"1\" status=\"Approved\"/>');\n case 'OTA_PingRQ': {\n calls.push({ command: 'ping' });\n const echo = text(rq.EchoData) ?? '';\n return reply(\n 'OTA_PingRS',\n session,\n token,\n `<OTA_PingRS xmlns=\"http://www.opentravel.org/OTA/2003/05\" TimeStamp=\"${now().toISOString().slice(0, 19)}Z\" Version=\"1.0.0\"><Success/><EchoData>${escape(echo)}</EchoData></OTA_PingRS>`,\n );\n }\n case 'QueueCountLLSRQ':\n calls.push({ command: 'count' });\n return reply('QueueCountLLSRS', session, token, count(session, rq));\n case 'QueueAccessLLSRQ':\n return reply('QueueAccessLLSRS', session, token, access(session, rq));\n case 'QueuePlaceLLSRQ':\n return reply('QueuePlaceLLSRS', session, token, place(session, rq));\n default:\n return {\n status: 500,\n body: envelope(\n 'ErrorRS',\n conversationId,\n token,\n `<soap-env:Fault><faultcode>soap-env:Client.InvalidAction</faultcode><faultstring>sabre-client/testing: ${escape(action)} no está simulado</faultstring></soap-env:Fault>`,\n ),\n };\n }\n };\n\n const fakeFetch = async (input: RequestInfo | URL, init?: RequestInit): Promise<Response> => {\n const signal = init?.signal ?? (input instanceof Request ? input.signal : undefined);\n signal?.throwIfAborted();\n const raw = typeof init?.body === 'string' ? init.body : input instanceof Request ? await input.text() : String(init?.body ?? '');\n const { status, body } = handle(raw);\n return new Response(body, { status, headers: { 'Content-Type': 'text/xml;charset=UTF-8' } });\n };\n\n return {\n fetch: fakeFetch as typeof fetch,\n locators: (ref) => (queues.get(queueKey(ref)) ?? []).map((entry) => entry.locator),\n get calls() {\n return [...calls];\n },\n get openSessions() {\n return sessions.size;\n },\n expireSessions() {\n sessions.clear();\n },\n };\n}\n","// Access Queue (`QueueAccessLLSRQ` 2.1.1): entrar a una cola y navegarla. Ver\n// sabre-wiki/wiki/sdk/tier-3-sesion-y-colas-soap.md (puntos 2, 3 y 4) y\n// wiki/sources/access-queue-v2-1-1-design.md.\nimport { XMLParser } from 'fast-xml-parser';\nimport type { RequestOptions } from '../air/bargain-finder-max.js';\nimport { SabreBusinessError, SabreGatewayError, type SabreWarning } from '../errors/index.js';\nimport { asArray, type SoapResponse, textOf, xmlEscape } from '../http/soap-transport.js';\nimport type { SessionRequest } from '../session/session.js';\nimport { type QueueRef, queueRefAttribute } from './queue-ref.js';\n\nexport const QUEUE_ACCESS_SERVICE = 'queueAccess';\nconst NAMESPACE = 'http://webservices.sabre.com/sabreXML/2011/10';\n\n/** Texto exacto del fin de cola. Es la respuesta normal cuando no queda ningún PNR. */\nexport const END_OF_DISPLAY = 'END OF DISPLAY FOR REQUESTED DATA';\n/**\n * Una cola vacía, como `stl:Error` de `access` y `list` (producción, #96). Las fuentes solo\n * mostraban `END OF DISPLAY`.\n */\nexport const QUEUE_EMPTY = 'QUEUE SELECTED WAS EMPTY';\n/** `QXI` con la sesión fuera de una cola, como `stl:Error` (producción, #96). */\nexport const OFF_QUEUE = 'CANNOT DO THIS IF OFF QUEUE';\n\n/** Por qué terminó la cola: el fin de cola de siempre o una cola vacía al entrar. */\nexport type QueueEndReason = 'end-of-display' | 'empty';\n\n/** Máximo de filtros de `selection` y de colas de `remove({ from })`, según el design 2.1.1. */\nexport const MAX_SELECTIONS = 8;\nexport const MAX_REMOVE_FROM = 3;\n\n/**\n * Un filtro al entrar a una cola: un calificador de host, p. ej. `{ function: 'AL', criteria: 'DL' }`\n * (solo los PNR de esa aerolínea). Las reglas de combinación las valida Sabre.\n */\nexport interface QueueSelection {\n function: string;\n criteria: string;\n}\n\nexport interface QueueAccessRequest {\n queue: QueueRef;\n /** PCC de la cola. Por defecto, el de la sesión. */\n pcc?: string;\n /** Hasta 8 filtros. Con selección, la cola abre solo los PNR que cumplen el criterio. */\n selection?: readonly QueueSelection[];\n}\n\n/** Una cola de la que `remove` saca el PNR actual. */\nexport interface QueueRemoveTarget {\n queue: QueueRef;\n /** Por defecto, el PCC de la sesión. */\n pcc?: string;\n}\n\nexport interface QueueRemoveRequest {\n /** De 1 a 3 colas de las que sacar el PNR actual a la vez. Sin `from`, sale de la cola en curso. */\n from?: readonly QueueRemoveTarget[];\n}\n\nexport type QueueAccessOptions = RequestOptions;\nexport type QueueNavigationOptions = RequestOptions;\n\n/** El PNR en el que quedó parada la cola. */\nexport interface QueueItem {\n /** Localizador: `Line/UniqueID@ID`. */\n locator: string;\n /**\n * `Line/DateTime`, tal cual llegó: con año en las respuestas reales (`\"2024-05-15T13:24\"`), sin\n * año en el design (`\"12-21T07:00\"`). Se toma como la colocación en la cola, pero en producción\n * el de `list` y el de `access` no coinciden para un mismo PNR (#96): el de `list` es siempre\n * posterior, y ninguna fuente dice qué fecha es cada uno. Se devuelve tal cual.\n */\n placedAt?: string;\n /** `Line/POS/Source`: quién colocó el PNR. `agentSine` puede ser `SABRE`. */\n placedBy?: { agentSine?: string; pseudoCityCode?: string };\n /** `Line/PassengerName`. Las respuestas reales de entrar a una cola no lo traen. */\n primaryPassenger?: string;\n /** `Line/Group`. Las respuestas reales de entrar a una cola no lo traen. */\n group?: string;\n /**\n * `Paragraph/Text`: el PNR en formato de host, línea por línea y tal cual, con su sangría. Las\n * líneas vacías llegan como `\"\"`. Se interpreta con `parseQueueParagraph`.\n */\n paragraph: readonly string[];\n}\n\n/**\n * Resultado de una operación que avanza en la cola. El fin de cola es un resultado, no un error:\n * `END OF DISPLAY FOR REQUESTED DATA` llega como `{ done: true }`, también al entrar a una cola\n * vacía, y deja la sesión fuera de la cola.\n */\nexport type QueueStep =\n | { done: false; item: QueueItem; warnings: SabreWarning[] }\n | { done: true; reason: QueueEndReason; message: string; warnings: SabreWarning[] };\n\n/** Qué acción de navegación se manda en `Navigation@Action`. */\ntype NavigationAction = 'I' | 'QR' | 'QXI';\n\nconst OPERATIONS: Record<NavigationAction, string> = { I: 'queue.ignore', QR: 'queue.remove', QXI: 'queue.exit' };\n\nfunction root(body: string): string {\n return `<QueueAccessRQ Version=\"2.1.1\" xmlns=\"${NAMESPACE}\">${body}</QueueAccessRQ>`;\n}\n\nfunction identifier(queue: QueueRef, pcc: string): string {\n return `<QueueIdentifier ${queueRefAttribute(queue)} PseudoCityCode=\"${xmlEscape(pcc)}\"/>`;\n}\n\n/** `Q/<PCC><cola>`, con los filtros de `Selection` si los hay. */\nexport function queueAccessPayload(queue: QueueRef, pcc: string, selection: readonly QueueSelection[] = []): string {\n const filters = selection\n .map((filter) => `<Selection Function=\"${xmlEscape(filter.function)}\" Criteria=\"${xmlEscape(filter.criteria)}\"/>`)\n .join('');\n return root(`${identifier(queue, pcc)}${filters}`);\n}\n\n/** `Navigation@Action`. Solo `QR` lleva `QueueIdentifier`: las colas de las que sacar el PNR. */\nexport function queueNavigationPayload(action: NavigationAction, from: ReadonlyArray<{ queue: QueueRef; pcc: string }> = []): string {\n return root(`<Navigation Action=\"${action}\"/>${from.map((target) => identifier(target.queue, target.pcc)).join('')}`);\n}\n\n/**\n * Las operaciones de Access Queue mueven el cursor: no se reintentan ante un fallo de red. El\n * transporte solo las repite ante `USG_*_BUSY` y `PREVIOUS ENTRY ACTIVE`.\n */\nexport function queueAccessRequest(payload: string, operation: string, options: RequestOptions): SessionRequest {\n return { service: QUEUE_ACCESS_SERVICE, action: 'QueueAccessLLSRQ', payload, idempotent: false, operation, ...options };\n}\n\nexport function navigationOperation(action: NavigationAction): string {\n return OPERATIONS[action];\n}\n\n/**\n * Parser aparte para el `Paragraph`: el del transporte recorta los espacios, y el formato de host\n * usa la sangría. Se vuelve a leer el sobre (ya redactado) sin recortar.\n */\nconst paragraphParser = new XMLParser({\n ignoreAttributes: true,\n removeNSPrefix: true,\n parseTagValue: false,\n trimValues: false,\n processEntities: true,\n isArray: (name) => name === 'Text',\n});\n\nexport type XmlNode = Record<string, unknown>;\n\nexport function node(value: unknown): XmlNode | undefined {\n if (Array.isArray(value)) return node(value[0]);\n return typeof value === 'object' && value !== null ? (value as XmlNode) : undefined;\n}\n\nexport function attribute(value: unknown, name: string): string | undefined {\n const text = node(value)?.[`@${name}`];\n return typeof text === 'string' && text.trim() !== '' ? text.trim() : undefined;\n}\n\nfunction element(value: unknown): string | undefined {\n const text = textOf(Array.isArray(value) ? value[0] : value)?.trim();\n return text === undefined || text === '' ? undefined : text;\n}\n\n/**\n * Las líneas `Text` de una respuesta, tal cual: las de `Paragraph` en `QueueAccessRS` y las del\n * primer nivel en `QueuePlaceRS`.\n */\nexport function textLines(raw: string, payloadName: 'QueueAccessRS' | 'QueuePlaceRS'): string[] {\n let parsed: unknown;\n try {\n parsed = paragraphParser.parse(raw);\n } catch {\n return [];\n }\n const payload = node(node(node(node(parsed)?.Envelope)?.Body)?.[payloadName]);\n const container = payloadName === 'QueueAccessRS' ? node(payload?.Paragraph) : payload;\n return asArray(container?.Text).map((line) => (typeof line === 'string' ? line : (textOf(line) ?? '')));\n}\n\n/** Las líneas de `Paragraph/Text` de un `QueueAccessRS`, tal cual. */\nexport function paragraphLines(raw: string): string[] {\n return textLines(raw, 'QueueAccessRS');\n}\n\n/** Si un texto de Sabre es el fin de cola, comparado por el texto exacto. */\nexport function isEndOfDisplay(text: string | undefined): boolean {\n return text?.trim() === END_OF_DISPLAY;\n}\n\n/**\n * Si un `stl:Warning` o `stl:Error` es el fin de cola. El transporte junta los `Message` con\n * `\" / \"` y agrega el `ShortText` entre paréntesis, así que se busca el texto como una de esas\n * partes, entero.\n */\nexport function isEndOfDisplayResult(error: { message: string; service: string }): boolean {\n return resultHasText(error, END_OF_DISPLAY);\n}\n\n/** Si un `stl:Warning` o `stl:Error` trae `text` como una de sus partes, entero. */\nexport function resultHasText(error: { message: string; service: string }, text: string): boolean {\n const prefix = `${error.service}: `;\n const description = error.message.startsWith(prefix) ? error.message.slice(prefix.length) : error.message;\n return description\n .split(/ \\/ | \\(|\\)/)\n .some((part) => part.trim() === text);\n}\n\n/**\n * El fin de cola, si llegó como `stl:Error` de `service`: `END OF DISPLAY` o una cola vacía\n * (`QUEUE SELECTED WAS EMPTY`). Si no, `undefined`.\n */\nexport function queueEndError(error: unknown, service: string): { reason: QueueEndReason; error: SabreBusinessError } | undefined {\n if (!(error instanceof SabreBusinessError) || error.service !== service) return undefined;\n const results = [error, ...error.errors];\n if (results.some((result) => resultHasText(result, QUEUE_EMPTY))) return { reason: 'empty', error };\n if (results.some(isEndOfDisplayResult)) return { reason: 'end-of-display', error };\n return undefined;\n}\n\n/** Si el error es el de `QXI` con la sesión fuera de una cola. */\nexport function isOffQueueError(error: unknown): error is SabreBusinessError {\n return error instanceof SabreBusinessError && [error, ...error.errors].some((result) => resultHasText(result, OFF_QUEUE));\n}\n\nexport function endStep(warnings: SabreWarning[], reason: QueueEndReason = 'end-of-display'): QueueStep {\n return { done: true, reason, message: reason === 'empty' ? QUEUE_EMPTY : END_OF_DISPLAY, warnings };\n}\n\n/**\n * Lee el paso de un `QueueAccessRS`. El fin de cola llega como primera línea del `Paragraph`\n * (evidencia de `1.0.8`) o como `stl:Warning`. Un `Line` sin localizador es una respuesta que el\n * SDK no entiende: lanza `SabreGatewayError`.\n */\nexport function parseQueueStep(response: SoapResponse): QueueStep {\n const { warnings } = response;\n const paragraph = paragraphLines(response.raw);\n const firstLine = paragraph.find((line) => line.trim() !== '');\n if (isEndOfDisplay(firstLine) || warnings.some(isEndOfDisplayResult)) return endStep(warnings);\n\n const fields = lineFields(response.payload.Line);\n if (fields === undefined) {\n throw new SabreGatewayError(`${QUEUE_ACCESS_SERVICE}: respuesta no reconocida (sin Line/UniqueID ni fin de cola)`, {\n protocol: 'soap',\n status: response.status,\n retryable: false,\n raw: response.raw,\n });\n }\n const item: QueueItem = { ...fields, paragraph };\n return { done: false, item, warnings };\n}\n\n/** Los campos de un `Line`, o `undefined` si no trae `UniqueID`. */\nexport function lineFields(value: unknown): Omit<QueueItem, 'paragraph'> | undefined {\n const line = node(value);\n const locator = attribute(line?.UniqueID, 'ID');\n if (line === undefined || locator === undefined) return undefined;\n const source = node(node(line.POS)?.Source);\n const agentSine = attribute(source, 'AgentSine');\n const pseudoCityCode = attribute(source, 'PseudoCityCode');\n const placedAt = element(line.DateTime);\n const primaryPassenger = element(line.PassengerName);\n const group = element(line.Group);\n return {\n locator,\n ...(placedAt === undefined ? {} : { placedAt }),\n ...(agentSine === undefined && pseudoCityCode === undefined\n ? {}\n : {\n placedBy: {\n ...(agentSine === undefined ? {} : { agentSine }),\n ...(pseudoCityCode === undefined ? {} : { pseudoCityCode }),\n },\n }),\n ...(primaryPassenger === undefined ? {} : { primaryPassenger }),\n ...(group === undefined ? {} : { group }),\n };\n}\n","// Referencia a una cola de PNR, la misma en la entrada y en la salida. Ver\n// sabre-wiki/wiki/sdk/tier-3-sesion-y-colas-soap.md (punto 2 y decisiones de la revisión) y\n// wiki/sources/ingresar-a-una-cola.md.\nimport { xmlEscape } from '../http/soap-transport.js';\n\n/**\n * Una cola: su número, de 0 a 511, o su nombre (colas alfabéticas de las tablas QN y QNB, p. ej.\n * `{ name: 'S' }`). Lo que devuelve `queue.count` se pasa tal cual a las demás operaciones.\n *\n * Las colas 0–49 son del sistema: el SDK no las restringe.\n */\nexport type QueueRef = number | { name: string };\n\n/** Primera y última cola numérica de un PCC. */\nexport const MIN_QUEUE_NUMBER = 0;\nexport const MAX_QUEUE_NUMBER = 511;\n\n/** Valida una `QueueRef` de la entrada, sin red. `label` es el nombre del campo en el mensaje. */\nexport function validateQueueRef(value: unknown, label: string): asserts value is QueueRef {\n if (typeof value === 'number') {\n if (Number.isInteger(value) && value >= MIN_QUEUE_NUMBER && value <= MAX_QUEUE_NUMBER) return;\n throw new TypeError(\n `sabre-client: ${label} debe ser un número de cola entero de ${MIN_QUEUE_NUMBER} a ${MAX_QUEUE_NUMBER}, o { name }`,\n );\n }\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n const { name } = value as { name?: unknown };\n if (typeof name === 'string' && name.trim() !== '') return;\n throw new TypeError(`sabre-client: ${label}.name debe ser un string no vacío`);\n }\n throw new TypeError(`sabre-client: ${label} debe ser un número de cola (0–511) o { name }`);\n}\n\n/** Atributo de `QueueIdentifier`: `Number=\"12\"` o `Name=\"S\"`, ya escapado. */\nexport function queueRefAttribute(queue: QueueRef): string {\n return typeof queue === 'number' ? `Number=\"${queue}\"` : `Name=\"${xmlEscape(queue.name)}\"`;\n}\n\n/**\n * Lee el `Number` alfanumérico de una respuesta: `\"12\"` da `12`, y `\"S\"`, `{ name: 'S' }`.\n * Devuelve `undefined` si viene vacío.\n */\nexport function toQueueRef(value: string | undefined): QueueRef | undefined {\n const text = value?.trim();\n if (text === undefined || text === '') return undefined;\n return /^\\d+$/.test(text) ? Number(text) : { name: text };\n}\n","// Place Queue Message (`QueuePlaceLLSRQ` 2.0.4): colocar PNR en colas. Ver\n// sabre-wiki/wiki/sdk/tier-3-sesion-y-colas-soap.md (punto 2, \"place\"),\n// wiki/sources/place-queue-message-v2-0-4-design.md y wiki/sources/sabre-legacy-client-1-0-8.md.\nimport type { RequestOptions } from '../air/bargain-finder-max.js';\nimport { SabreGatewayError, type SabreWarning } from '../errors/index.js';\nimport { asArray, type SoapResponse, xmlEscape } from '../http/soap-transport.js';\nimport type { SessionRequest } from '../session/session.js';\nimport {\n attribute,\n endStep,\n isEndOfDisplay,\n isEndOfDisplayResult,\n node,\n type QueueStep,\n textLines,\n} from './queue-access.js';\nimport { type QueueRef, queueRefAttribute, toQueueRef } from './queue-ref.js';\n\nexport const QUEUE_PLACE_SERVICE = 'queuePlace';\nconst NAMESPACE = 'http://webservices.sabre.com/sabreXML/2011/10';\n\n/** Límites del design 2.0.4: hasta 10 colas y hasta 6 localizadores. */\nexport const MAX_PLACE_TO = 10;\nexport const MAX_PLACE_LOCATORS = 6;\n\n/** Rangos de PIC válidos (`PrefatoryInstructionCode`), según el artículo de selección de colas. */\nconst INSTRUCTION_CODE_RANGES: ReadonlyArray<readonly [number, number]> = [\n [0, 191],\n [200, 254],\n];\n\n/** Una cola de destino. */\nexport interface QueuePlaceTarget {\n queue: QueueRef;\n /** Por defecto, el PCC de la sesión. */\n pcc?: string;\n /**\n * Código PIC (`PrefatoryInstructionCode`): 0–191 o 200–254. **Obligatorio**, aunque el design\n * 2.0.4 lo da como opcional: sin PIC, producción rechaza el place con `INSTRUCTION NUMBER NOT IN\n * RANGE` fuera de una cola y con `NEED INSTRUCTION NUMBER` dentro (#97). Sin valor por defecto.\n */\n instructionCode: number;\n}\n\nexport interface QueuePlaceRequest {\n /** De 1 a 10 colas de destino. */\n to: readonly QueuePlaceTarget[];\n /**\n * Hasta 6 localizadores a colocar, sin tenerlos en el AAA. Solo fuera de una cola: dentro,\n * `place` coloca el PNR actual.\n */\n locators?: readonly string[];\n}\n\nexport type QueuePlaceOptions = RequestOptions;\n\n/** Una colocación que confirma Sabre (`QueueInfo`). */\nexport interface QueuePlacement {\n queue?: QueueRef;\n pcc?: string;\n locator?: string;\n /** `QueueInfo@DateTime` tal cual, sin año (`\"12-21T12:00\"`). */\n placedAt?: string;\n}\n\n/** Lo que devuelve `place` fuera de una cola: no avanza nada. */\nexport interface QueuePlaceResult {\n /** Las colocaciones de `QueueInfo`, si Sabre las manda. */\n placements: QueuePlacement[];\n /** Las líneas `Text`, tal cual (p. ej. `\"OK 1030 NMIUTF\"`). */\n text: string[];\n warnings: SabreWarning[];\n}\n\n/**\n * Lo que devuelve `place`: un `QueueStep` dentro de una cola, y un `QueuePlaceResult` fuera. Se\n * distinguen con `'done' in result`. Con `locators`, el tipo ya es `QueuePlaceResult`.\n */\nexport type QueuePlaceResponse = QueueStep | QueuePlaceResult;\n\n/** Destino ya validado, con el PCC resuelto. */\nexport interface ResolvedPlaceTarget {\n queue: QueueRef;\n pcc: string;\n instructionCode?: number;\n}\n\n/** Si un PIC está en los rangos válidos. */\nexport function isInstructionCode(value: unknown): value is number {\n return (\n typeof value === 'number' &&\n Number.isInteger(value) &&\n INSTRUCTION_CODE_RANGES.some(([min, max]) => value >= min && value <= max)\n );\n}\n\nexport function queuePlacePayload(to: readonly ResolvedPlaceTarget[], locators: readonly string[] = []): string {\n const identifiers = to\n .map((target) => {\n const pic = target.instructionCode === undefined ? '' : ` PrefatoryInstructionCode=\"${target.instructionCode}\"`;\n return `<QueueIdentifier ${queueRefAttribute(target.queue)}${pic} PseudoCityCode=\"${xmlEscape(target.pcc)}\"/>`;\n })\n .join('');\n const ids = locators.map((locator) => `<UniqueID ID=\"${xmlEscape(locator)}\"/>`).join('');\n return `<QueuePlaceRQ Version=\"2.0.4\" xmlns=\"${NAMESPACE}\"><QueueInfo>${identifiers}${ids}</QueueInfo></QueuePlaceRQ>`;\n}\n\n/** Colocar no es idempotente: dentro de una cola mueve el cursor, y fuera repetiría la colocación. */\nexport function queuePlaceRequest(payload: string, options: QueuePlaceOptions): SessionRequest {\n return {\n service: QUEUE_PLACE_SERVICE,\n action: 'QueuePlaceLLSRQ',\n payload,\n idempotent: false,\n operation: 'queue.place',\n ...options,\n };\n}\n\n/**\n * Línea de firma del PNR, al final del texto: `<PCC>.<PCC>*<agente> HHMM/DDMMMYY <localizador> H`,\n * p. ej. `7TZA.7TZA*AW5 0319/06SEP24 NGDEZP H`.\n */\nconst SIGNATURE_LINE = /\\s\\d{4}\\/\\d{2}[A-Z]{3}\\d{2}\\s+([A-Z0-9]{6})\\s+H\\s*$/;\n\n/** El localizador de la última línea de firma del texto, si hay una. */\nexport function signatureLocator(lines: readonly string[]): string | undefined {\n for (let index = lines.length - 1; index >= 0; index--) {\n const match = SIGNATURE_LINE.exec(lines[index] ?? '');\n if (match !== null) return match[1];\n }\n return undefined;\n}\n\n/** El fin de cola de `place`: como `stl:Warning` (evidencia de `1.0.8`) o como primera línea. */\nfunction isEnd(response: SoapResponse, text: readonly string[]): boolean {\n return response.warnings.some(isEndOfDisplayResult) || isEndOfDisplay(text.find((line) => line.trim() !== ''));\n}\n\n/**\n * Dentro de una cola, `QueuePlaceRS` trae el PNR siguiente en `Text` y no trae `Line`: el\n * localizador sale de la línea de firma, y `placedAt` y `placedBy` quedan en `undefined`, porque\n * esa firma es la última modificación del PNR y no su colocación en la cola.\n */\nexport function parsePlaceStep(response: SoapResponse): QueueStep {\n const text = textLines(response.raw, 'QueuePlaceRS');\n if (isEnd(response, text)) return endStep(response.warnings);\n const locator = signatureLocator(text);\n if (locator === undefined) {\n throw new SabreGatewayError(`${QUEUE_PLACE_SERVICE}: respuesta no reconocida (sin línea de firma del PNR ni fin de cola)`, {\n protocol: 'soap',\n status: response.status,\n retryable: false,\n raw: response.raw,\n });\n }\n return { done: false, item: { locator, paragraph: text }, warnings: response.warnings };\n}\n\n/**\n * Lo que `place` puede leer con la sesión en `'unknown'`: un fin de cola, un PNR con línea de\n * firma (seguía en la cola) o, si no, un `QueuePlaceResult`.\n */\nexport function parsePlaceUnknown(response: SoapResponse): QueuePlaceResponse {\n const text = textLines(response.raw, 'QueuePlaceRS');\n if (isEnd(response, text) || signatureLocator(text) !== undefined) return parsePlaceStep(response);\n return parsePlaceResult(response);\n}\n\n/** Fuera de una cola: las colocaciones de `QueueInfo` y el texto. */\nexport function parsePlaceResult(response: SoapResponse): QueuePlaceResult {\n const placements = asArray(response.payload.QueueInfo).map((info): QueuePlacement => {\n const identifier = node(node(info)?.QueueIdentifier);\n // `Number` es alfanumérico (\"400\" o \"S\"); `Name` es siempre un nombre.\n const number = attribute(identifier, 'Number');\n const name = attribute(identifier, 'Name');\n const queue: QueueRef | undefined = number !== undefined ? toQueueRef(number) : name !== undefined ? { name } : undefined;\n const pcc = attribute(identifier, 'PseudoCityCode');\n const locator = attribute(node(info)?.UniqueID, 'ID');\n const placedAt = attribute(info, 'DateTime');\n return {\n ...(queue === undefined ? {} : { queue }),\n ...(pcc === undefined ? {} : { pcc }),\n ...(locator === undefined ? {} : { locator }),\n ...(placedAt === undefined ? {} : { placedAt }),\n };\n });\n return { placements, text: textLines(response.raw, 'QueuePlaceRS'), warnings: response.warnings };\n}\n","{\n \"recordedAt\": \"2026-11-02\",\n \"environment\": \"production\",\n \"designated\": 2,\n \"instructionCode\": 11,\n \"results\": [\n {\n \"51\": 0,\n \"52\": 0,\n \"step\": \"count inicial\",\n \"ok\": true\n },\n {\n \"step\": \"place fuera de una cola\",\n \"ok\": true,\n \"placements\": 2,\n \"warnings\": 0\n },\n {\n \"51\": 2,\n \"52\": 0,\n \"step\": \"count después de place\",\n \"ok\": true\n },\n {\n \"step\": \"access 51\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAA\",\n \"warnings\": 0\n },\n {\n \"step\": \"place dentro de la cola a 52\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAB\",\n \"warnings\": 0\n },\n {\n \"step\": \"limpieza 51: remove\",\n \"ok\": true,\n \"done\": true,\n \"reason\": \"end-of-display\",\n \"message\": \"END OF DISPLAY FOR REQUESTED DATA\",\n \"warnings\": 0\n },\n {\n \"51\": 0,\n \"52\": 1,\n \"step\": \"count después de place dentro de la cola\",\n \"ok\": true\n },\n {\n \"step\": \"limpieza: access 51\",\n \"ok\": true,\n \"done\": true,\n \"reason\": \"empty\",\n \"message\": \"QUEUE SELECTED WAS EMPTY\",\n \"warnings\": 0\n },\n {\n \"step\": \"limpieza: access 52\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAA\",\n \"warnings\": 0\n },\n {\n \"step\": \"limpieza 52: remove\",\n \"ok\": true,\n \"done\": true,\n \"reason\": \"end-of-display\",\n \"message\": \"END OF DISPLAY FOR REQUESTED DATA\",\n \"warnings\": 0\n },\n {\n \"51\": 0,\n \"52\": 0,\n \"step\": \"count final\",\n \"ok\": true\n },\n {\n \"step\": \"close\",\n \"ok\": true\n }\n ],\n \"findings\": {\n \"started\": true,\n \"placedCount\": 2,\n \"placeInsideReturns\": \"next\",\n \"afterPlaceInside\": {\n \"51\": 0,\n \"52\": 1\n },\n \"finalCounts\": {\n \"51\": 0,\n \"52\": 0\n },\n \"emptyAtEnd\": true,\n \"foreignPnrSeen\": false,\n \"finalState\": \"outside\"\n },\n \"events\": [\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 219,\n \"messageId\": \"1507138129113180520\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.open\",\n \"context\": {\n \"version\": \"2.0.0\",\n \"pseudoCityCode\": \"XXXX\"\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 270,\n \"messageId\": \"834296129115631360\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 1181,\n \"messageId\": \"1507184129117060520\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 150,\n \"messageId\": \"1507317129128850520\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 337,\n \"messageId\": \"1507398129130331410\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 1389,\n \"messageId\": \"834244129133751160\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 198,\n \"messageId\": \"834406129147701160\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 124,\n \"messageId\": \"1507450129149741430\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 151,\n \"messageId\": \"1507525129150890560\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 268,\n \"messageId\": \"1507586129152441040\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 167,\n \"messageId\": \"834439129155152350\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 109,\n \"messageId\": \"1507533129156791720\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 92,\n \"messageId\": \"1507704129157870910\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.close\",\n \"context\": {\n \"pseudoCityCode\": \"XXXX\"\n }\n }\n ],\n \"responses\": [\n {\n \"operation\": \"openSession\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCreateRS</eb:Action><eb:MessageData><eb:MessageId>1507138129113180520</eb:MessageId><eb:Timestamp>2026-11-02T03:35:11</eb:Timestamp><eb:RefToMessageId>mid:1e2b7680-3372-4cd2-8951-37d2933673ee</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCreateRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"2.0.0\\\" status=\\\"Approved\\\">\\t<ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</ConversationId></SessionCreateRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>834296129115631360</eb:MessageId><eb:Timestamp>2026-11-02T03:35:11</eb:Timestamp><eb:RefToMessageId>mid:c86d56a7-dcc8-4d32-b47e-55533ba40d72</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:11Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:35\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.place\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueuePlaceLLSRQ</eb:Service><eb:Action>QueuePlaceLLSRS</eb:Action><eb:MessageData><eb:MessageId>1507184129117060520</eb:MessageId><eb:Timestamp>2026-11-02T03:35:12</eb:Timestamp><eb:RefToMessageId>mid:771bfafc-ba56-4f31-8861-c4f3e7e5d645</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueuePlaceRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.0.4\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:12Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:35\\\">\\n <QueueIdentifier Number=\\\"0051\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n <UniqueID ID=\\\"AAAAAA\\\"/>\\n </QueueInfo>\\n <QueueInfo DateTime=\\\"11-01T21:35\\\">\\n <QueueIdentifier Number=\\\"0051\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n <UniqueID ID=\\\"AAAAAB\\\"/>\\n </QueueInfo>\\n <Text>XXXXX XXXXXXXXX XXXXXXXXX</Text>\\n</QueuePlaceRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1507317129128850520</eb:MessageId><eb:Timestamp>2026-11-02T03:35:12</eb:Timestamp><eb:RefToMessageId>mid:e2a60150-9465-4537-a3bd-d204f09ac8b1</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:12Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:35\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"51\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6049\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1507398129130331410</eb:MessageId><eb:Timestamp>2026-11-02T03:35:13</eb:Timestamp><eb:RefToMessageId>mid:810a3899-608b-4bd1-a26f-ce426439654f</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:13Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-01-26T10:32</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAA\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>011 SEE REMARKS</Text>\\n <Text>9.9XXXXXX XXXXXXXXX/XXXXXX XXXXX XX</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>XXXXXXXX XX XXXXXXXXXXX XXX XXXXXXXXXX XXXXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX 999999999999-X</Text>\\n <Text>XXXXXXXXX XXXXXX *XX XX XXXXXXX</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX 999</Text>\\n <Text>XXXXXXX XXXX</Text>\\n <Text>XXXXXX</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXX/XXXXXXXX XXXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 99X X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 9X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXX99XXX9XXX X</Text>\\n <Text>XXXXXXXX XXX</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 999X</Text>\\n <Text>REMARKS</Text>\\n <Text>9..XX-XXX</Text>\\n <Text>9..XXXXX-X99</Text>\\n <Text>9..XXXXXXXXX-999</Text>\\n <Text>9..XX99-XXXXXX XXXXXXXXXX X XX XXXXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXX XXXX/XXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXXXX XXXXXXX</Text>\\n <Text>9.XXXXX/</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X-XXXX/9999999999999/9XXX*XXX/9XXX*XXX</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X999/X99</Text>\\n <Text>99/XXX/XX 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX/9/X/X</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 9/X999/X9/XXX/XXX</Text>\\n <Text>X9999999999999999 9.9XXXXXX XXXXXXXXX X/9/X/X-9999999999</Text>\\n <Text>999/9999</Text>\\n <Text>9. XX9999999999/ 9/ 999/ 9/X999/X9/XXX/</Text>\\n <Text>XXXX9999999999999999 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX XX/</Text>\\n <Text>9/X/XXX</Text>\\n <Text>RECEIVED FROM - XX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 AAAAAA H</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.place\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueuePlaceLLSRQ</eb:Service><eb:Action>QueuePlaceLLSRS</eb:Action><eb:MessageData><eb:MessageId>834244129133751160</eb:MessageId><eb:Timestamp>2026-11-02T03:35:14</eb:Timestamp><eb:RefToMessageId>mid:60d8dffe-5ad8-4995-a7fe-d1c88507fcfd</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueuePlaceRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.0.4\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:14Z\\\"/>\\n </stl:ApplicationResults>\\n <Text>011 SEE REMARKS</Text>\\n <Text>9.9XXXXX XXXX/XXXXXX</Text>\\n <Text>9 XXX XX 99XXX X XX9 XXX/XXXX XXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX999 9999999-X</Text>\\n <Text>XXXXXXXXX XXXXXX *XX XX XXXXXXX</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX XXXXXXXXXXXX XXXXX 99</Text>\\n <Text>XXX. XXX XXXXXXX</Text>\\n <Text>XXXXXXX, XXX X.X. 99999</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXXX XXXXXX -</Text>\\n <Text>¤ XXXXXX XXXXXX</Text>\\n <Text>XXXXXXXX XXXXXXXX XXXX XXXXXX *XX XX XXXXXXX XXX</Text>\\n <Text>XXXXXXX,XXXXXX,XXX/XX XXXXXXXXXX XXXXX XXXX XXXXX</Text>\\n <Text>*XX XX XXXXXXX XXX</Text>\\n <Text>XXXXXXXX XXXX XXXXXX *X9X XX *X9X XX XXXXXXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX XX XX/XX9999999999999</Text>\\n <Text>9.XXX 9X XXX XXXXXXXXX XXXXXXXX</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXXX XXX XXXX</Text>\\n <Text>XXXX XXX XXX</Text>\\n <Text>9.XXX 9X XXXXXX XX XXXXXXXXX XXXXXXXX 9999999999999 XXXXXX 99</Text>\\n <Text>X</Text>\\n <Text>9.XXX 9X 99999999</Text>\\n <Text>9.XXX 9X XXXXXX XX XXXXXXXXX XXXXXXXX 9999999999999 XXXXXX 99</Text>\\n <Text>X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X X/ XXXX XXX99 9999999999 X 99.99</Text>\\n <Text>GENERAL FACTS</Text>\\n <Text>9.XXX XX XXXX 99999999 XXXXXXXXXXX XXXXX XXX 9XXX</Text>\\n <Text>9.XXX XX XXXX X999X</Text>\\n <Text>REMARKS</Text>\\n <Text>9..XX99XXXXXX</Text>\\n <Text>9.XX XXXXXX XXXXXXX XXX XXXXXXXXXX XXXXX XX XX XXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXX XXXXX XXX XXXXXXX XX XXX XX XXXXX</Text>\\n <Text>9.9 XXXXX XXXXXXXXXXX X XX XXXXX XX XXXXXXX</Text>\\n <Text>9.XX XXXX XX XXX XX XXXX X XXXXXX, XX XX XXXXX XXXXXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXXXXXX X XX XXXXXXXXX XXXX XX XXXXXX</Text>\\n <Text>9.XX XXXXX XX XX XXXXXX</Text>\\n <Text>9.**XX XXXXXXXXX XXXXX XXXXX XX 99 XXX XXXXX XX XX XXXXXX**</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX XXXXX</Text>\\n <Text>99.XX XXXXXX XXXXXXXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX</Text>\\n <Text>99.XXXXX, XXXXXXXXXXX XXX XXXXXXXXXXXXXX XXXXXXX</Text>\\n <Text>99.XX XXXXXXXXXXX XXXXX XXXXXXXXXXX XX XXXXXXXXXXX</Text>\\n <Text>99.XXXXXXX</Text>\\n <Text>99..XX-99</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.XXXXX/</Text>\\n <Text>99..XX-XXX</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X999/X99</Text>\\n <Text>99/XXX/XXXX9999999999999999 9.9XXXXX XXXX XXXXXX/9/X/X</Text>\\n <Text>RECEIVED FROM - XXXXXX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 AAAAAB H</Text>\\n</QueuePlaceRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.remove\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>834406129147701160</eb:MessageId><eb:Timestamp>2026-11-02T03:35:14</eb:Timestamp><eb:RefToMessageId>mid:09946a8f-4d1b-4fff-b002-73f365491761</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:14Z\\\"/>\\n </stl:ApplicationResults>\\n <Paragraph>\\n <Text>END OF DISPLAY FOR REQUESTED DATA</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1507450129149741430</eb:MessageId><eb:Timestamp>2026-11-02T03:35:15</eb:Timestamp><eb:RefToMessageId>mid:0af46a14-6f62-4b29-9f71-ca156d1bc94c</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:15Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:35\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"52\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6048\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1507525129150890560</eb:MessageId><eb:Timestamp>2026-11-02T03:35:15</eb:Timestamp><eb:RefToMessageId>mid:a08aa346-6af9-449d-a014-5526ed0c1615</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T03:35:15Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>QUEUE SELECTED WAS EMPTY</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1507586129152441040</eb:MessageId><eb:Timestamp>2026-11-02T03:35:15</eb:Timestamp><eb:RefToMessageId>mid:80821434-2a4c-463a-a90b-a19d39c995c3</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:15Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-01-26T10:32</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAA\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>011 SEE REMARKS</Text>\\n <Text>9.9XXXXXX XXXXXXXXX/XXXXXX XXXXX XX</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>XXXXXXXX XX XXXXXXXXXXX XXX XXXXXXXXXX XXXXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX 999999999999-X</Text>\\n <Text>XXXXXXXXX XXXXXX *XX XX XXXXXXX</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX 999</Text>\\n <Text>XXXXXXX XXXX</Text>\\n <Text>XXXXXX</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXX/XXXXXXXX XXXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 99X X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 9X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXX99XXX9XXX X</Text>\\n <Text>XXXXXXXX XXX</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 999X</Text>\\n <Text>REMARKS</Text>\\n <Text>9..XX-XXX</Text>\\n <Text>9..XXXXX-X99</Text>\\n <Text>9..XXXXXXXXX-999</Text>\\n <Text>9..XX99-XXXXXX XXXXXXXXXX X XX XXXXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXX XXXX/XXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXXXX XXXXXXX</Text>\\n <Text>9.XXXXX/</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X-XXXX/9999999999999/9XXX*XXX/9XXX*XXX</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X999/X99</Text>\\n <Text>99/XXX/XX 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX/9/X/X</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 9/X999/X9/XXX/XXX</Text>\\n <Text>X9999999999999999 9.9XXXXXX XXXXXXXXX X/9/X/X-9999999999</Text>\\n <Text>999/9999</Text>\\n <Text>9. XX9999999999/ 9/ 999/ 9/X999/X9/XXX/</Text>\\n <Text>XXXX9999999999999999 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX XX/</Text>\\n <Text>9/X/XXX</Text>\\n <Text>RECEIVED FROM - XX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 AAAAAA H</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.remove\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>834439129155152350</eb:MessageId><eb:Timestamp>2026-11-02T03:35:15</eb:Timestamp><eb:RefToMessageId>mid:f0a85208-ee49-4a20-a4bc-5ae2038abd5f</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:15Z\\\"/>\\n </stl:ApplicationResults>\\n <Paragraph>\\n <Text>END OF DISPLAY FOR REQUESTED DATA</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1507533129156791720</eb:MessageId><eb:Timestamp>2026-11-02T03:35:15</eb:Timestamp><eb:RefToMessageId>mid:ef241eb0-7cca-4557-8a71-a9273af47c56</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:15Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:35\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"close\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCloseRS</eb:Action><eb:MessageData><eb:MessageId>1507704129157870910</eb:MessageId><eb:Timestamp>2026-11-02T03:35:15</eb:Timestamp><eb:RefToMessageId>mid:f4eff23a-501b-403c-8deb-af875cd7441b</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCloseRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"1\\\" status=\\\"Approved\\\"/></soap-env:Body></soap-env:Envelope>\"\n }\n ],\n \"postprocessed\": \"2026-11-01: la anonimización de esta corrida enmascaró la línea de firma entera. Se le devolvió la forma (alias del localizador y la H final) con la regla que hoy aplica scripts/lib/legacy-recorder.mjs: el alias de cada sobre sale de su Line/UniqueID, y en el place dentro de la cola, del resultado registrado.\"\n}\n","{\n \"recordedAt\": \"2026-11-02\",\n \"environment\": \"production\",\n \"designated\": 2,\n \"results\": [\n {\n \"51\": 0,\n \"52\": 0,\n \"step\": \"count inicial\",\n \"ok\": true\n },\n {\n \"step\": \"place fuera de una cola\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queuePlace: INSTRUCTION NUMBER NOT IN RANGE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"retryable\": false\n }\n },\n {\n \"51\": 0,\n \"52\": 0,\n \"step\": \"count después de place\",\n \"ok\": true\n },\n {\n \"step\": \"access 51\",\n \"ok\": true,\n \"done\": true,\n \"reason\": \"empty\",\n \"message\": \"QUEUE SELECTED WAS EMPTY\",\n \"warnings\": 0\n },\n {\n \"51\": 0,\n \"52\": 0,\n \"step\": \"count después de place dentro de la cola\",\n \"ok\": true\n },\n {\n \"step\": \"limpieza: access 51\",\n \"ok\": true,\n \"done\": true,\n \"reason\": \"empty\",\n \"message\": \"QUEUE SELECTED WAS EMPTY\",\n \"warnings\": 0\n },\n {\n \"step\": \"limpieza: access 52\",\n \"ok\": true,\n \"done\": true,\n \"reason\": \"empty\",\n \"message\": \"QUEUE SELECTED WAS EMPTY\",\n \"warnings\": 0\n },\n {\n \"51\": 0,\n \"52\": 0,\n \"step\": \"count final\",\n \"ok\": true\n },\n {\n \"step\": \"close\",\n \"ok\": true\n }\n ],\n \"findings\": {\n \"started\": true,\n \"placedCount\": 0,\n \"afterPlaceInside\": {\n \"51\": 0,\n \"52\": 0\n },\n \"finalCounts\": {\n \"51\": 0,\n \"52\": 0\n },\n \"emptyAtEnd\": true,\n \"foreignPnrSeen\": false,\n \"finalState\": \"outside\"\n },\n \"events\": [\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 291,\n \"messageId\": \"696038116489921040\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.open\",\n \"context\": {\n \"version\": \"2.0.0\",\n \"pseudoCityCode\": \"XXXX\"\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 306,\n \"messageId\": \"1368643116492372030\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 1161,\n \"messageId\": \"1368817116494140910\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queuePlace\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queuePlace: INSTRUCTION NUMBER NOT IN RANGE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 164,\n \"messageId\": \"1368897116505762260\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 107,\n \"messageId\": \"1368800116507391600\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 144,\n \"messageId\": \"696261116508481040\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 181,\n \"messageId\": \"1369004116509910910\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 113,\n \"messageId\": \"1368905116511721330\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 216,\n \"messageId\": \"1368862116512881600\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 91,\n \"messageId\": \"1369002116515020820\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.close\",\n \"context\": {\n \"pseudoCityCode\": \"XXXX\"\n }\n }\n ],\n \"responses\": [\n {\n \"operation\": \"openSession\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCreateRS</eb:Action><eb:MessageData><eb:MessageId>696038116489921040</eb:MessageId><eb:Timestamp>2026-11-02T03:14:09</eb:Timestamp><eb:RefToMessageId>mid:77d06f35-e9b1-4097-a87e-a4c2f94b7d11</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCreateRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"2.0.0\\\" status=\\\"Approved\\\">\\t<ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</ConversationId></SessionCreateRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1368643116492372030</eb:MessageId><eb:Timestamp>2026-11-02T03:14:09</eb:Timestamp><eb:RefToMessageId>mid:a1d5f941-bde3-4c97-bb10-518525106dae</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:14:09Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:14\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.place\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueuePlaceLLSRQ</eb:Service><eb:Action>QueuePlaceLLSRS</eb:Action><eb:MessageData><eb:MessageId>1368817116494140910</eb:MessageId><eb:Timestamp>2026-11-02T03:14:10</eb:Timestamp><eb:RefToMessageId>mid:2bd54110-d5cd-48a9-8f56-4fb3efbe50ed</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueuePlaceRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.0.4\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T03:14:10Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>INSTRUCTION NUMBER NOT IN RANGE</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueuePlaceRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1368897116505762260</eb:MessageId><eb:Timestamp>2026-11-02T03:14:10</eb:Timestamp><eb:RefToMessageId>mid:21bbcfc1-4915-49dc-a35f-19cf5c06645a</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:14:10Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:14\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1368800116507391600</eb:MessageId><eb:Timestamp>2026-11-02T03:14:10</eb:Timestamp><eb:RefToMessageId>mid:672fb639-8d29-4bf8-aa6a-8967f0f8eea7</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T03:14:10Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>QUEUE SELECTED WAS EMPTY</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>696261116508481040</eb:MessageId><eb:Timestamp>2026-11-02T03:14:10</eb:Timestamp><eb:RefToMessageId>mid:fd1cd62a-a2f9-4578-9099-81324d05e11f</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:14:10Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:14\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1369004116509910910</eb:MessageId><eb:Timestamp>2026-11-02T03:14:11</eb:Timestamp><eb:RefToMessageId>mid:348634ba-1102-4b60-88d7-b22dcde08237</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T03:14:11Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>QUEUE SELECTED WAS EMPTY</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1368905116511721330</eb:MessageId><eb:Timestamp>2026-11-02T03:14:11</eb:Timestamp><eb:RefToMessageId>mid:4cb87408-be0e-4d2c-a5c0-d6eb90c05604</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T03:14:11Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>QUEUE SELECTED WAS EMPTY</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1368862116512881600</eb:MessageId><eb:Timestamp>2026-11-02T03:14:11</eb:Timestamp><eb:RefToMessageId>mid:a68247d9-8b80-4be1-a29d-f98fc874cdba</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:14:11Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:14\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"close\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCloseRS</eb:Action><eb:MessageData><eb:MessageId>1369002116515020820</eb:MessageId><eb:Timestamp>2026-11-02T03:14:11</eb:Timestamp><eb:RefToMessageId>mid:4fbbf8b2-5f08-4e22-a76d-639bb7280ddb</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCloseRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"1\\\" status=\\\"Approved\\\"/></soap-env:Body></soap-env:Envelope>\"\n }\n ]\n}\n","{\n \"recordedAt\": \"2026-11-02\",\n \"environment\": \"production\",\n \"designated\": 2,\n \"instructionCode\": 11,\n \"results\": [\n {\n \"51\": 0,\n \"52\": 0,\n \"step\": \"count inicial\",\n \"ok\": true\n },\n {\n \"step\": \"place fuera de una cola\",\n \"ok\": true,\n \"placements\": 2,\n \"warnings\": 0\n },\n {\n \"51\": 2,\n \"52\": 0,\n \"step\": \"count después de place\",\n \"ok\": true\n },\n {\n \"step\": \"access 51\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAA\",\n \"warnings\": 0\n },\n {\n \"step\": \"place dentro de la cola a 52\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queuePlace: NEED INSTRUCTION NUMBER (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"limpieza 51: exit\",\n \"ok\": true\n },\n {\n \"51\": 2,\n \"52\": 0,\n \"step\": \"count después de place dentro de la cola\",\n \"ok\": true\n },\n {\n \"step\": \"limpieza: access 51\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAA\",\n \"warnings\": 0\n },\n {\n \"step\": \"limpieza 51: exit\",\n \"ok\": true\n },\n {\n \"step\": \"limpieza: access 52\",\n \"ok\": true,\n \"done\": true,\n \"reason\": \"empty\",\n \"message\": \"QUEUE SELECTED WAS EMPTY\",\n \"warnings\": 0\n },\n {\n \"51\": 2,\n \"52\": 0,\n \"step\": \"count final\",\n \"ok\": true\n },\n {\n \"step\": \"close\",\n \"ok\": true\n }\n ],\n \"findings\": {\n \"started\": true,\n \"placedCount\": 2,\n \"afterPlaceInside\": {\n \"51\": 2,\n \"52\": 0\n },\n \"finalCounts\": {\n \"51\": 2,\n \"52\": 0\n },\n \"emptyAtEnd\": false,\n \"foreignPnrSeen\": true,\n \"finalState\": \"outside\"\n },\n \"events\": [\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 224,\n \"messageId\": \"1447558123641760140\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.open\",\n \"context\": {\n \"version\": \"2.0.0\",\n \"pseudoCityCode\": \"XXXX\"\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 248,\n \"messageId\": \"1447616123643931410\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 1179,\n \"messageId\": \"1447485123645400970\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 144,\n \"messageId\": \"774662123657231160\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 332,\n \"messageId\": \"1447690123658680240\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 1209,\n \"messageId\": \"1447671123662030850\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queuePlace\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queuePlace: NEED INSTRUCTION NUMBER (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 167,\n \"messageId\": \"1447862123674122260\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 153,\n \"messageId\": \"1447868123675771450\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 414,\n \"messageId\": \"1447869123677321200\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 193,\n \"messageId\": \"774917123681491160\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 111,\n \"messageId\": \"1448030123683420710\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 105,\n \"messageId\": \"1447953123684520740\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 94,\n \"messageId\": \"1448022123685580350\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.close\",\n \"context\": {\n \"pseudoCityCode\": \"XXXX\"\n }\n }\n ],\n \"responses\": [\n {\n \"operation\": \"openSession\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCreateRS</eb:Action><eb:MessageData><eb:MessageId>1447558123641760140</eb:MessageId><eb:Timestamp>2026-11-02T03:26:04</eb:Timestamp><eb:RefToMessageId>mid:17dec477-8068-457d-a57a-55a61983a08b</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCreateRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"2.0.0\\\" status=\\\"Approved\\\">\\t<ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</ConversationId></SessionCreateRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447616123643931410</eb:MessageId><eb:Timestamp>2026-11-02T03:26:04</eb:Timestamp><eb:RefToMessageId>mid:a11cc40c-ef6e-43b1-8aaf-09441713a1d3</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:04Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:26\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.place\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueuePlaceLLSRQ</eb:Service><eb:Action>QueuePlaceLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447485123645400970</eb:MessageId><eb:Timestamp>2026-11-02T03:26:05</eb:Timestamp><eb:RefToMessageId>mid:a6b248de-8d0e-4c8a-96e5-9a69e3482cba</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueuePlaceRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.0.4\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:05Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:26\\\">\\n <QueueIdentifier Number=\\\"0051\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n <UniqueID ID=\\\"AAAAAA\\\"/>\\n </QueueInfo>\\n <QueueInfo DateTime=\\\"11-01T21:26\\\">\\n <QueueIdentifier Number=\\\"0051\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n <UniqueID ID=\\\"AAAAAB\\\"/>\\n </QueueInfo>\\n <Text>XXXXX XXXXXXXXX XXXXXXXXX</Text>\\n</QueuePlaceRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>774662123657231160</eb:MessageId><eb:Timestamp>2026-11-02T03:26:05</eb:Timestamp><eb:RefToMessageId>mid:1210f083-0edb-4ef3-b242-e2a65b6f5144</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:05Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:26\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"51\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6049\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447690123658680240</eb:MessageId><eb:Timestamp>2026-11-02T03:26:06</eb:Timestamp><eb:RefToMessageId>mid:e0868a8b-5dd7-4840-a597-9d1b9be82ef2</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:06Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-01-26T10:32</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAA\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>011 SEE REMARKS</Text>\\n <Text>9.9XXXXXX XXXXXXXXX/XXXXXX XXXXX XX</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>XXXXXXXX XX XXXXXXXXXXX XXX XXXXXXXXXX XXXXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX 999999999999-X</Text>\\n <Text>XXXXXXXXX XXXXXX *XX XX XXXXXXX</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX 999</Text>\\n <Text>XXXXXXX XXXX</Text>\\n <Text>XXXXXX</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXX/XXXXXXXX XXXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 99X X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 9X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXX99XXX9XXX X</Text>\\n <Text>XXXXXXXX XXX</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 999X</Text>\\n <Text>REMARKS</Text>\\n <Text>9..XX-XXX</Text>\\n <Text>9..XXXXX-X99</Text>\\n <Text>9..XXXXXXXXX-999</Text>\\n <Text>9..XX99-XXXXXX XXXXXXXXXX X XX XXXXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXX XXXX/XXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXXXX XXXXXXX</Text>\\n <Text>9.XXXXX/</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X-XXXX/9999999999999/9XXX*XXX/9XXX*XXX</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X999/X99</Text>\\n <Text>99/XXX/XX 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX/9/X/X</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 9/X999/X9/XXX/XXX</Text>\\n <Text>X9999999999999999 9.9XXXXXX XXXXXXXXX X/9/X/X-9999999999</Text>\\n <Text>999/9999</Text>\\n <Text>9. XX9999999999/ 9/ 999/ 9/X999/X9/XXX/</Text>\\n <Text>XXXX9999999999999999 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX XX/</Text>\\n <Text>9/X/XXX</Text>\\n <Text>RECEIVED FROM - XX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 XXXXXX X</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.place\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueuePlaceLLSRQ</eb:Service><eb:Action>QueuePlaceLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447671123662030850</eb:MessageId><eb:Timestamp>2026-11-02T03:26:07</eb:Timestamp><eb:RefToMessageId>mid:80f280ba-def5-486e-bf59-1415a65d3121</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueuePlaceRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.0.4\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T03:26:07Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>NEED INSTRUCTION NUMBER</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueuePlaceRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.exit\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447862123674122260</eb:MessageId><eb:Timestamp>2026-11-02T03:26:07</eb:Timestamp><eb:RefToMessageId>mid:7a49bd13-2dbe-4d2f-b174-3eafff94cf19</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:07Z\\\"/>\\n </stl:ApplicationResults>\\n <Paragraph>\\n <Text>XXX 9XXX XXXXX 999</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447868123675771450</eb:MessageId><eb:Timestamp>2026-11-02T03:26:07</eb:Timestamp><eb:RefToMessageId>mid:6af01817-942c-4805-bc5c-a8e9d65e2a52</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:07Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:26\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"51\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6049\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447869123677321200</eb:MessageId><eb:Timestamp>2026-11-02T03:26:08</eb:Timestamp><eb:RefToMessageId>mid:60b221e6-eac3-4280-b26c-96e4f757abc0</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:08Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-01-26T10:32</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAA\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>011 SEE REMARKS</Text>\\n <Text>9.9XXXXXX XXXXXXXXX/XXXXXX XXXXX XX</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>XXXXXXXX XX XXXXXXXXXXX XXX XXXXXXXXXX XXXXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX 999999999999-X</Text>\\n <Text>XXXXXXXXX XXXXXX *XX XX XXXXXXX</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX 999</Text>\\n <Text>XXXXXXX XXXX</Text>\\n <Text>XXXXXX</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXX/XXXXXXXX XXXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 99X X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 9X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXX99XXX9XXX X</Text>\\n <Text>XXXXXXXX XXX</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 999X</Text>\\n <Text>REMARKS</Text>\\n <Text>9..XX-XXX</Text>\\n <Text>9..XXXXX-X99</Text>\\n <Text>9..XXXXXXXXX-999</Text>\\n <Text>9..XX99-XXXXXX XXXXXXXXXX X XX XXXXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXX XXXX/XXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXXXX XXXXXXX</Text>\\n <Text>9.XXXXX/</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X-XXXX/9999999999999/9XXX*XXX/9XXX*XXX</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X999/X99</Text>\\n <Text>99/XXX/XX 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX/9/X/X</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 9/X999/X9/XXX/XXX</Text>\\n <Text>X9999999999999999 9.9XXXXXX XXXXXXXXX X/9/X/X-9999999999</Text>\\n <Text>999/9999</Text>\\n <Text>9. XX9999999999/ 9/ 999/ 9/X999/X9/XXX/</Text>\\n <Text>XXXX9999999999999999 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX XX/</Text>\\n <Text>9/X/XXX</Text>\\n <Text>RECEIVED FROM - XX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 XXXXXX X</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.exit\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>774917123681491160</eb:MessageId><eb:Timestamp>2026-11-02T03:26:08</eb:Timestamp><eb:RefToMessageId>mid:79a60043-9468-4904-97f4-5a66b16ebd07</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:08Z\\\"/>\\n </stl:ApplicationResults>\\n <Paragraph>\\n <Text>XXX 9XXX XXXXX 999</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1448030123683420710</eb:MessageId><eb:Timestamp>2026-11-02T03:26:08</eb:Timestamp><eb:RefToMessageId>mid:c5c20a5c-1574-45ec-9065-5952f4624166</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T03:26:08Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>QUEUE SELECTED WAS EMPTY</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447953123684520740</eb:MessageId><eb:Timestamp>2026-11-02T03:26:08</eb:Timestamp><eb:RefToMessageId>mid:df42e795-20fe-46f7-87a0-658f78cd2c59</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:08Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:26\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"51\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6049\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"close\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCloseRS</eb:Action><eb:MessageData><eb:MessageId>1448022123685580350</eb:MessageId><eb:Timestamp>2026-11-02T03:26:08</eb:Timestamp><eb:RefToMessageId>mid:fb8eaff8-33f0-4e1b-8f64-7b14a7adf808</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCloseRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"1\\\" status=\\\"Approved\\\"/></soap-env:Body></soap-env:Envelope>\"\n }\n ]\n}\n","{\n \"recordedAt\": \"2026-11-02\",\n \"environment\": \"production\",\n \"scenario\": \"walk\",\n \"queue\": 2,\n \"results\": [\n {\n \"step\": \"count\",\n \"ok\": true,\n \"queues\": 4,\n \"totals\": {\n \"messages\": 6,\n \"specials\": 0,\n \"pnrs\": 4\n }\n },\n {\n \"step\": \"list\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"BusinessLogic\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"probe.I después de list\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: IGD (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"BusinessLogic\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"probe.QXI\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"BusinessLogic\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"probe.QXI fuera de una cola\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"BusinessLogic\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"access\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"BusinessLogic\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"close\",\n \"ok\": true\n }\n ],\n \"findings\": {\n \"listedCount\": 0,\n \"visitedCount\": 0,\n \"traversalMatchesList\": true,\n \"endOfDisplay\": false,\n \"listLeavesSessionInside\": false,\n \"qxiOutsideQueue\": {\n \"step\": \"probe.QXI fuera de una cola\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"BusinessLogic\",\n \"retryable\": false\n }\n },\n \"finalState\": \"outside\"\n },\n \"events\": [\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 222,\n \"messageId\": \"1199952101079831070\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.open\",\n \"context\": {\n \"version\": \"2.0.0\",\n \"pseudoCityCode\": \"XXXX\"\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 278,\n \"messageId\": \"1200017101082320910\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 142,\n \"messageId\": \"1200044101083810080\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"BusinessLogic\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 100,\n \"messageId\": \"1200044101085261410\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"BusinessLogic\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: IGD (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 139,\n \"messageId\": \"1199941101086241390\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"BusinessLogic\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 106,\n \"messageId\": \"1200006101087651180\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"BusinessLogic\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 140,\n \"messageId\": \"1200044101088681410\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"BusinessLogic\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 100,\n \"messageId\": \"1199968101090081330\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.close\",\n \"context\": {\n \"pseudoCityCode\": \"XXXX\"\n }\n }\n ],\n \"responses\": [\n {\n \"operation\": \"openSession\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCreateRS</eb:Action><eb:MessageData><eb:MessageId>1199952101079831070</eb:MessageId><eb:Timestamp>2026-11-02T02:48:28</eb:Timestamp><eb:RefToMessageId>mid:a37973a5-fca2-4e8a-a048-81797f296b6d</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCreateRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"2.0.0\\\" status=\\\"Approved\\\">\\t<ConversationId>1687197a-1fdf-4399-bb93-aad547384237</ConversationId></SessionCreateRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1200017101082320910</eb:MessageId><eb:Timestamp>2026-11-02T02:48:28</eb:Timestamp><eb:RefToMessageId>mid:6dfa450a-1d25-49f6-a593-3aef2dcec746</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:48:28Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T20:48\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"6\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"200\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"300\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"6\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"4\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.list\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1200044101083810080</eb:MessageId><eb:Timestamp>2026-11-02T02:48:28</eb:Timestamp><eb:RefToMessageId>mid:f52dd06a-7db0-410a-b0a0-2c91e6510a7f</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:48:28Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>QUEUE SELECTED WAS EMPTY</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"probe.I\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1200044101085261410</eb:MessageId><eb:Timestamp>2026-11-02T02:48:28</eb:Timestamp><eb:RefToMessageId>mid:361814ab-7f11-48f3-91f6-3f395b6518c3</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:48:28Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>IGD</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"probe.QXI\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1199941101086241390</eb:MessageId><eb:Timestamp>2026-11-02T02:48:28</eb:Timestamp><eb:RefToMessageId>mid:e35f9c08-1897-4506-bdc9-fc1da04c575d</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:48:28Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>CANNOT DO THIS IF OFF QUEUE</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"probe.QXI\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1200006101087651180</eb:MessageId><eb:Timestamp>2026-11-02T02:48:28</eb:Timestamp><eb:RefToMessageId>mid:ed4cb24c-3852-4103-bad1-f8825c22c9e5</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:48:28Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>CANNOT DO THIS IF OFF QUEUE</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1200044101088681410</eb:MessageId><eb:Timestamp>2026-11-02T02:48:28</eb:Timestamp><eb:RefToMessageId>mid:ef8c789c-b9fb-4562-bbbf-39a4c185d295</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:48:28Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>QUEUE SELECTED WAS EMPTY</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"close\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCloseRS</eb:Action><eb:MessageData><eb:MessageId>1199968101090081330</eb:MessageId><eb:Timestamp>2026-11-02T02:48:29</eb:Timestamp><eb:RefToMessageId>mid:440999a3-b118-4058-9c6a-21397a50f69d</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCloseRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"1\\\" status=\\\"Approved\\\"/></soap-env:Body></soap-env:Envelope>\"\n }\n ]\n}\n","{\n \"recordedAt\": \"2026-11-02\",\n \"environment\": \"production\",\n \"scenario\": \"walk\",\n \"queue\": 2,\n \"results\": [\n {\n \"step\": \"count\",\n \"ok\": true,\n \"queues\": 32,\n \"totals\": {\n \"messages\": 385,\n \"specials\": 0,\n \"pnrs\": 6048\n }\n },\n {\n \"step\": \"list\",\n \"ok\": true,\n \"locators\": [\n \"AAAAAA\",\n \"AAAAAB\",\n \"AAAAAC\",\n \"AAAAAD\"\n ]\n },\n {\n \"step\": \"probe.I después de list\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: IGD (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"probe.QXI\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"probe.QXI fuera de una cola\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"access\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAA\",\n \"warnings\": 0\n },\n {\n \"step\": \"count dentro de la cola\",\n \"ok\": true,\n \"queues\": 32\n },\n {\n \"step\": \"ignore\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAB\",\n \"warnings\": 0\n },\n {\n \"step\": \"ignore\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAC\",\n \"warnings\": 0\n },\n {\n \"step\": \"ignore\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAD\",\n \"warnings\": 0\n },\n {\n \"step\": \"ignore\",\n \"ok\": true,\n \"done\": true,\n \"message\": \"END OF DISPLAY FOR REQUESTED DATA\",\n \"warnings\": 0\n },\n {\n \"step\": \"close\",\n \"ok\": true\n }\n ],\n \"findings\": {\n \"listedCount\": 4,\n \"visitedCount\": 4,\n \"traversalMatchesList\": true,\n \"endOfDisplay\": true,\n \"listLeavesSessionInside\": false,\n \"qxiOutsideQueue\": {\n \"step\": \"probe.QXI fuera de una cola\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"retryable\": false\n }\n },\n \"countInsideKeepsCursor\": true,\n \"finalState\": \"outside\"\n },\n \"events\": [\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 266,\n \"messageId\": \"1247125105523991180\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.open\",\n \"context\": {\n \"version\": \"2.0.0\",\n \"pseudoCityCode\": \"XXXX\"\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 250,\n \"messageId\": \"1247093105526902030\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 102,\n \"messageId\": \"1247182105528151200\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 222,\n \"messageId\": \"1247183105529190990\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: IGD (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 132,\n \"messageId\": \"1247263105531430560\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 132,\n \"messageId\": \"574577105532791300\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 308,\n \"messageId\": \"1247230105534071340\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 144,\n \"messageId\": \"1247236105537161720\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 272,\n \"messageId\": \"1247174105538621600\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 274,\n \"messageId\": \"1247301105541361240\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 325,\n \"messageId\": \"1247355105544140700\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 206,\n \"messageId\": \"1247363105547392260\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 92,\n \"messageId\": \"1247386105549450300\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.close\",\n \"context\": {\n \"pseudoCityCode\": \"XXXX\"\n }\n }\n ],\n \"responses\": [\n {\n \"operation\": \"openSession\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCreateRS</eb:Action><eb:MessageData><eb:MessageId>1247125105523991180</eb:MessageId><eb:Timestamp>2026-11-02T02:55:52</eb:Timestamp><eb:RefToMessageId>mid:a1d9fa8c-2e9e-4f4f-bf0d-a76c3b24dba1</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCreateRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"2.0.0\\\" status=\\\"Approved\\\">\\t<ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</ConversationId></SessionCreateRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247093105526902030</eb:MessageId><eb:Timestamp>2026-11-02T02:55:52</eb:Timestamp><eb:RefToMessageId>mid:ba6adaca-23b2-44cd-a76e-373035c066c8</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:52Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T20:55\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1204\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6048\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.list\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247182105528151200</eb:MessageId><eb:Timestamp>2026-11-02T02:55:52</eb:Timestamp><eb:RefToMessageId>mid:979b6cc5-f6ad-445d-a59e-8357ba0e5622</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:52Z\\\"/>\\n </stl:ApplicationResults>\\n <Line Number=\\\"1\\\">\\n <DateTime>2026-08-04T18:08</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAA\\\"/>\\n </Line>\\n <Line Number=\\\"2\\\">\\n <DateTime>2026-09-01T20:15</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAB\\\"/>\\n </Line>\\n <Line Number=\\\"3\\\">\\n <DateTime>2026-09-12T14:37</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAC\\\"/>\\n </Line>\\n <Line Number=\\\"4\\\">\\n <DateTime>2026-10-21T20:33</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAD\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>XXXXX XXXX XXX 9XXX XXXXX 999 XX 99XXX XX 9999</Text>\\n <Text>XXX XXX XXXXXXX XXXXXX XX XXXX XXXX XXXXX</Text>\\n <Text>9 XXXXXX XXX XXX 99XXX99 9999</Text>\\n <Text>9 XXXXXX XXX XXX 99XXX99 9999</Text>\\n <Text>9 XXXXXX XXX XXX 99XXX99 9999</Text>\\n <Text>9 XXXXXX XXX XXX 99XXX99 9999</Text>\\n <Text>XXX XX XXXX</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"probe.I\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247183105529190990</eb:MessageId><eb:Timestamp>2026-11-02T02:55:53</eb:Timestamp><eb:RefToMessageId>mid:32b6804d-3647-4aa6-8721-0c58fe41895c</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:55:53Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>IGD</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"probe.QXI\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247263105531430560</eb:MessageId><eb:Timestamp>2026-11-02T02:55:53</eb:Timestamp><eb:RefToMessageId>mid:2d462e6a-6456-4feb-9844-1d30129cfb44</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:55:53Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>CANNOT DO THIS IF OFF QUEUE</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"probe.QXI\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>574577105532791300</eb:MessageId><eb:Timestamp>2026-11-02T02:55:53</eb:Timestamp><eb:RefToMessageId>mid:cb937762-47ad-4035-981c-a12c9e3a5d97</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:55:53Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>CANNOT DO THIS IF OFF QUEUE</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247230105534071340</eb:MessageId><eb:Timestamp>2026-11-02T02:55:53</eb:Timestamp><eb:RefToMessageId>mid:f75d90ce-57e3-4f17-929d-4cbde2c49d14</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:53Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-08-04T17:28</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAA\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>084 RATE/CONFIRMATION NUMBER RTND</Text>\\n <Text>9.9XXXXXXXXX XXXXXXXX/XXXX XXXXXXX</Text>\\n <Text>9.9XXXXXX XXXXXXX/XXXXXX XXXXXXX</Text>\\n <Text>9 XXX XX 99XXX X XX9 XXX/XXXX XXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX999 9999999-X</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX XXXXXXXXXXXX XXXXX 99</Text>\\n <Text>XXX. XXX XXXXXXX</Text>\\n <Text>XXXXXXX, XXX X.X. 99999</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXXX XXXXXX -</Text>\\n <Text>¤ XXXXXX XXXXXX</Text>\\n <Text>XXXXXXX,XXXXXX,XXX/XX XXXXXXXXXX XXXXX XXXX XXXXX</Text>\\n <Text>*XX XX XXXXXXX XXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXX99XXX9XXX X</Text>\\n <Text>XXXXXXXX XXX</Text>\\n <Text>GENERAL FACTS</Text>\\n <Text>9.XXX XX XXXX 99999999 XXXXXXXXXXX XXXXX XXX 9XXX</Text>\\n <Text>REMARKS</Text>\\n <Text>9.XX XXXXXX XXXXXXX XXX XXXXXXXXXX XXXXX XX XX XXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXX XXXXX XXX XXXXXXX XX XXX XX XXXXX</Text>\\n <Text>9.9 XXXXX XXXXXXXXXXX X XX XXXXX XX XXXXXXX</Text>\\n <Text>9.XX XXXX XX XXX XX XXXX X XXXXXX, XX XX XXXXX XXXXXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXXXXXX X XX XXXXXXXXX XXXX XX XXXXXX</Text>\\n <Text>9.XX XXXXX XX XX XXXXXX</Text>\\n <Text>9.**XX XXXXXXXXX XXXXX XXXXX XX 99 XXX XXXXX XX XX XXXXXX**</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX XXXXX</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX</Text>\\n <Text>99.XXXXX, XXXXXXXXXXX XXX XXXXXXXXXXXXXX XXXXXXX</Text>\\n <Text>99.XX XXXXXXXXXXX XXXXX XXXXXXXXXXX XX XXXXXXXXXXX</Text>\\n <Text>99.XXXXXXX</Text>\\n <Text>99..XX99XXXXXXX XXXXXXX</Text>\\n <Text>99..XX-99</Text>\\n <Text>99.XXXXX/</Text>\\n <Text>99..XXXXXXXXX</Text>\\n <Text>99..XX-XXX</Text>\\n <Text>99..XX99-XXXXX-999.99-XX XXXXXX</Text>\\n <Text>99..XX99-XXXXX-999.99-XX XXXXXX</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X9999/X9</Text>\\n <Text>999/XXX/XX 9.9XXXXXXXXX XXXXXXXX XXXX XXXXX/9/X/X</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X9999/X9</Text>\\n <Text>999/XXX/XX 9.9XXXXXX XXXXXXX XXXXXX XXXXXXX/9/X/X</Text>\\n <Text>RECEIVED FROM - XXXXXXX XXXXXXX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 XXXXXX X</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247236105537161720</eb:MessageId><eb:Timestamp>2026-11-02T02:55:53</eb:Timestamp><eb:RefToMessageId>mid:5d406d05-c3e6-4b21-b593-721d65a5918e</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:53Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T20:55\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1204\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.ignore\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247174105538621600</eb:MessageId><eb:Timestamp>2026-11-02T02:55:54</eb:Timestamp><eb:RefToMessageId>mid:497d87c0-3e42-4117-988a-ff70bf7e9806</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:54Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-09-01T19:49</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAB\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>084 RATE/CONFIRMATION NUMBER RTND</Text>\\n <Text>9.9XXXXX XXXXXX/XXXXX</Text>\\n <Text>9 XXX XX 99XXX X XX9 XXX/XXXX XXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX999 9999999-X</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX XXXXXXXXXXXX XXXXX 99</Text>\\n <Text>XXX. XXX XXXXXXX</Text>\\n <Text>XXXXXXX, XXX X.X. 99999</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXXX XXXXXX -</Text>\\n <Text>¤ XXXXXX XXXXXX</Text>\\n <Text>XXXXXXX,XXXXXX,XXX/XX XXXXXXXXXX XXXXX XXXX XXXXX</Text>\\n <Text>*XX XX XXXXXXX XXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX XX XX/XX9999999999999</Text>\\n <Text>9.XXX 9X XXX XXXXXXXXX XXXXXXXX</Text>\\n <Text>9.XXX 9X XXXXXX XX XXXXXXXXX XXXXXXXX 9999999999999 XXXXXX 99</Text>\\n <Text>X</Text>\\n <Text>9.XXX 9X 99999999</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-9XXXX XXX XXXX XX</Text>\\n <Text>XX XXX XXX</Text>\\n <Text>GENERAL FACTS</Text>\\n <Text>9.XXX XX XXXX 99999999 XXXXXXXXXXX XXXXX XXX 9XXX</Text>\\n <Text>9.XXX XX XXXX XX999</Text>\\n <Text>9.XXX XX XXXX 999999999-</Text>\\n <Text>REMARKS</Text>\\n <Text>9.XX XXXXXX XXXXXXX XXX XXXXXXXXXX XXXXX XX XX XXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXX XXXXX XXX XXXXXXX XX XXX XX XXXXX</Text>\\n <Text>9.9 XXXXX XXXXXXXXXXX X XX XXXXX XX XXXXXXX</Text>\\n <Text>9.XX XXXX XX XXX XX XXXX X XXXXXX, XX XX XXXXX XXXXXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXXXXXX X XX XXXXXXXXX XXXX XX XXXXXX</Text>\\n <Text>9.XX XXXXX XX XX XXXXXX</Text>\\n <Text>9.**XX XXXXXXXXX XXXXX XXXXX XX 99 XXX XXXXX XX XX XXXXXX**</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX XXXXX</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX</Text>\\n <Text>99.XXXXX, XXXXXXXXXXX XXX XXXXXXXXXXXXXX XXXXXXX</Text>\\n <Text>99.XX XXXXXXXXXXX XXXXX XXXXXXXXXXX XX XXXXXXXXXXX</Text>\\n <Text>99.XXXXXXX</Text>\\n <Text>99..XX99XXXXXXX XXXXXX</Text>\\n <Text>99..XX-99</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.XXXXX/</Text>\\n <Text>99..XX-XXX</Text>\\n <Text>99..XX99-XXXXXX-999.99-9999</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 999/X999/X99</Text>\\n <Text>9/XXX/XXXX9999999999999999 9.9XXXXX XXXXXX XXXXX/9/X/X</Text>\\n <Text>RECEIVED FROM - XXXXXXX XXXXXX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 XXXXXX X</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.ignore\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247301105541361240</eb:MessageId><eb:Timestamp>2026-11-02T02:55:54</eb:Timestamp><eb:RefToMessageId>mid:31b11fbb-ef60-4a82-b41f-157edc016b8a</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:54Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-09-06T11:11</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAC\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>084 RATE/CONFIRMATION NUMBER RTND</Text>\\n <Text>9.9XXXXX XXXXXX/XXXXXX</Text>\\n <Text>9 XXX XX 99XXX X XX9 XXX/XXXXX XXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX999 9999999-X</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX XXXXXXXXXXXX XXXXX 99</Text>\\n <Text>XXX. XXX XXXXXXX</Text>\\n <Text>XXXXXXX, XXX X.X. 99999</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX/XXXXXX</Text>\\n <Text>XXXXXX XXXXXX -</Text>\\n <Text>¤ XXXXXX XXXXXX</Text>\\n <Text>XXXXXXXX XXXXXXXX XXXX XXXXXX *XX XX XXXXXXX XXX</Text>\\n <Text>XXXXXXX,XXXXXX,XXX/XX XXXXXXXXXX XXXXX XXXX XXXXX</Text>\\n <Text>*XX XX XXXXXXX XXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXXX99XXX9XXX</Text>\\n <Text>XXXXXXXXX XXX</Text>\\n <Text>9.XXX XXXX 9X XXXXX XXXXXXXX XX XXXXXXX XX XXXXX XXXX</Text>\\n <Text>9.XXX XXXX 9X XXX XXXXXXXX XXXXXXXX XXXXXXX XX 99XXX99 9999XX</Text>\\n <Text>X</Text>\\n <Text>9.XXX XXXX 9X 9999999999999 XXXX9 XXX 999 XX 999 XXX9</Text>\\n <Text>9.XXX XXXX 9X XX XXXXXXXX XXX XX XXXXXX XX XXXXXXXXX XXXXXX</Text>\\n <Text>9.XXX XXXX 9X XX XXXXXX XX XXXX XXXX XXX XX XXXX XXX XX XXXXX</Text>\\n <Text>GENERAL FACTS</Text>\\n <Text>9.XXX XX XXXX 99999999 XXXXXXXXXXX XXXXX XXX 9XXX</Text>\\n <Text>REMARKS</Text>\\n <Text>9.XX XXXXXX XXXXXXX XXX XXXXXXXXXX XXXXX XX XX XXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXX XXXXX XXX XXXXXXX XX XXX XX XXXXX</Text>\\n <Text>9.9 XXXXX XXXXXXXXXXX X XX XXXXX XX XXXXXXX</Text>\\n <Text>9.XX XXXX XX XXX XX XXXX X XXXXXX, XX XX XXXXX XXXXXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXXXXXX X XX XXXXXXXXX XXXX XX XXXXXX</Text>\\n <Text>9.XX XXXXX XX XX XXXXXX</Text>\\n <Text>9.**XX XXXXXXXXX XXXXX XXXXX XX 99 XXX XXXXX XX XX XXXXXX**</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX XXXXX</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX</Text>\\n <Text>99.XXXXX, XXXXXXXXXXX XXX XXXXXXXXXXXXXX XXXXXXX</Text>\\n <Text>99.XX XXXXXXXXXXX XXXXX XXXXXXXXXXX XX XXXXXXXXXXX</Text>\\n <Text>99.XXXXXXX</Text>\\n <Text>99..XX-99</Text>\\n <Text>99..XX99XXXXXXX XXXXXX</Text>\\n <Text>99..XX99-XXXXX-999.99-9999</Text>\\n <Text>99..XX-XXX</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/999/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXXX/</Text>\\n <Text>99.XXXXX/</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/999/XXX999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXXX/</Text>\\n <Text>99.X-XXXX/9999999999999/9XXX*XXX/9XXX*XXX</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X9999/X9</Text>\\n <Text>999/XXX/XXXX999999999999999 9.9XXXXX XXXXXX XXXXXX/9/X/X</Text>\\n <Text>9. XX9999999999/ 9/ 999/ 9/X99/X9/XXX/XXXX</Text>\\n <Text>999999999999999 9.9XXXXX XXXXXX XXXXXX/9/X/X-99999999999</Text>\\n <Text>99/99</Text>\\n <Text>RECEIVED FROM - XXXXXXXXX XXXXXX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 XXXXXX X</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.ignore\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247355105544140700</eb:MessageId><eb:Timestamp>2026-11-02T02:55:54</eb:Timestamp><eb:RefToMessageId>mid:44b2358f-b88b-47b5-bcf9-120cd2174325</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:54Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-10-09T12:42</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAD\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>084 RATE/CONFIRMATION NUMBER RTND</Text>\\n <Text>9.9XXXXX XXXXXXX/XXXXXXX</Text>\\n <Text>9 XXX XX 99XXX X XX9 XXX/XXXX XXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX999 9999999-X</Text>\\n <Text>XXXXXXXXX XXXXXX *XX XX XXXXXXX</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX XXXXXXXXXXXX XXXXX 99</Text>\\n <Text>XXX. XXX XXXXXXX</Text>\\n <Text>XXXXXXX, XXX X.X. 99999</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXXX XXXXXX -</Text>\\n <Text>¤ XXXXXX XXXXXX</Text>\\n <Text>XXXXXXXX XXXXXXXX XXXX XXXXXX *XX XX XXXXXXX XXX</Text>\\n <Text>XXXXXXX,XXXXXX,XXX/XX XXXXXXXXXX XXXXX XXXX XXXXX</Text>\\n <Text>*XX XX XXXXXXX XXX</Text>\\n <Text>XXXXXXXX XXXX XXXXXX *X9X XX *X9X XX XXXXXXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>XXXX XXXX XXXXXX - XXXXXX XXX *X9 XX XXXX</Text>\\n <Text>9.XXX XXXX XX XX/XX9999999999999</Text>\\n <Text>9.XXX 9X XXX XXXXXXXXX XXXXXXXX</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXXX XXX XXXX</Text>\\n <Text>XXXX XXX XXX</Text>\\n <Text>9.XXX 9X XXXXXX XX XXXXXXXXX XXXXXXXX 9999999999999 XXXXXX 99</Text>\\n <Text>X</Text>\\n <Text>9.XXX 9X 99999999</Text>\\n <Text>9.XXX 9X XXXXXX XX XXXXXXXXX XXXXXXXX 9999999999999 XXXXXX 99</Text>\\n <Text>X</Text>\\n <Text>9.XXX 9X X/ XXXX XXX99 9999999999 X 99.99</Text>\\n <Text>9.XXX 9X XXXXXX XX XXXXXXXXX XXXXXXXX 9999999999999 XXXXXX 99</Text>\\n <Text>X</Text>\\n <Text>99.XXX 9X 99999999</Text>\\n <Text>99.XXX 9X XXXXXX XX XXXXXXXXX XXXXXXXX 9999999999999 XXXXXX 99</Text>\\n <Text>X</Text>\\n <Text>99.XXX XXXX 9X XXXX XXXXXXXXXXX XX XXXXXXX XXX</Text>\\n <Text>99.XXX XXXX 9X XX XXXXXXXX XXX XX XXXXXX XX XXXXXXXXX XXXXXX</Text>\\n <Text>99.XXX XXXX 9X XX XXXXXX XX XXXX XXXX XXX XX XXXX XXX XX XXXXX</Text>\\n <Text>99.XXX XXXX 9X XXXX XXX XX XXX XXXXXXX</Text>\\n <Text>GENERAL FACTS</Text>\\n <Text>9.XXX XX XXXX 99999999 XXXXXXXXXXX XXXXX XXX 9XXX</Text>\\n <Text>9.XXX XX XXXX XX999</Text>\\n <Text>9.XXX XX XXXX 999999999-</Text>\\n <Text>REMARKS</Text>\\n <Text>9.XX XXXXXX XXXXXXX XXX XXXXXXXXXX XXXXX XX XX XXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXX XXXXX XXX XXXXXXX XX XXX XX XXXXX</Text>\\n <Text>9.9 XXXXX XXXXXXXXXXX X XX XXXXX XX XXXXXXX</Text>\\n <Text>9.XX XXXX XX XXX XX XXXX X XXXXXX, XX XX XXXXX XXXXXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXXXXXX X XX XXXXXXXXX XXXX XX XXXXXX</Text>\\n <Text>9.XX XXXXX XX XX XXXXXX</Text>\\n <Text>9.**XX XXXXXXXXX XXXXX XXXXX XX 99 XXX XXXXX XX XX XXXXXX**</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX XXXXX</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX</Text>\\n <Text>99.XXXXX, XXXXXXXXXXX XXX XXXXXXXXXXXXXX XXXXXXX</Text>\\n <Text>99.XX XXXXXXXXXXX XXXXX XXXXXXXXXXX XX XXXXXXXXXXX</Text>\\n <Text>99.XXXXXXX</Text>\\n <Text>99..XX99XXXXXXX XXXXXX</Text>\\n <Text>99..XX-99</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999.99</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.XXXXX/</Text>\\n <Text>99..XX-XXX</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999.99</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X-XXXX/9999999999999/9XXX*XXX/9XXX*XXX</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX999.99</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99..XX99-XXXXXX-999.99-9999</Text>\\n <Text>99.X-XXX</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99.99/ 9999.99/ 999.99/X999.99/</Text>\\n <Text>X999.99/XXX/XXXX9999999999999999 9.9XXXX/9/X/X</Text>\\n <Text>9. XX9999999999/ 99.99/ 9999.99/ 9.99/X999.99/</Text>\\n <Text>X999.99/XXX/XXXX9999999999999999 9.9XXXXX XXXXXXX XXXXXXX</Text>\\n <Text>/9/X/X-9999999999999/99</Text>\\n <Text>9. XX9999999999/ 9.99/ 999.99/ 9.99/X999.99/X9.9</Text>\\n <Text>9/XXX/XXXX9999999999999999 9.9XXXXX XXXXXXX XXXXXXX/9/X/X</Text>\\n <Text>XX</Text>\\n <Text>RECEIVED FROM - XXXXXXX XXXXXX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 XXXXXX X</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.ignore\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247363105547392260</eb:MessageId><eb:Timestamp>2026-11-02T02:55:54</eb:Timestamp><eb:RefToMessageId>mid:608af838-ced1-4e40-9fe4-d58058352510</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:54Z\\\"/>\\n </stl:ApplicationResults>\\n <Paragraph>\\n <Text>END OF DISPLAY FOR REQUESTED DATA</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"close\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCloseRS</eb:Action><eb:MessageData><eb:MessageId>1247386105549450300</eb:MessageId><eb:Timestamp>2026-11-02T02:55:54</eb:Timestamp><eb:RefToMessageId>mid:a8b7ba31-e1bb-4f9c-81c6-b9ff8dcea4c4</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCloseRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"1\\\" status=\\\"Approved\\\"/></soap-env:Body></soap-env:Envelope>\"\n }\n ]\n}\n","// Respuestas de producción grabadas en la validación del Tier 3 (#96 y #97), anonimizadas: PCC\n// como `XXXX`, firmas como `AAA`, localizadores como alias (`AAAAAA`…), el token como\n// `[REDACTED]` y el párrafo enmascarado (letras a `X`, dígitos a `9`), salvo los avisos PIC,\n// los encabezados fijos y el fin de cola. Ver scripts/lib/legacy-recorder.mjs.\nimport placeJson from '../../test/fixtures/queue.production-place.json';\nimport placeWithoutCodeJson from '../../test/fixtures/queue.production-place-sin-pic.json';\nimport placeWithoutCodeInsideJson from '../../test/fixtures/queue.production-place-sin-pic-adentro.json';\nimport emptyQueueJson from '../../test/fixtures/queue.production-walk-empty-queue.json';\nimport walkJson from '../../test/fixtures/queue.production-walk.json';\n\n/** Una respuesta grabada: la operación del SDK, el HTTP status y el sobre SOAP tal cual llegó. */\nexport interface RecordedResponse {\n /** `operation` de `onRawResponse` (`'openSession'`, `'queue.access'`…) o `probe.*` si el script la mandó crudo. */\n operation: string;\n status: number;\n body: string;\n}\n\n/** Una corrida grabada: sus respuestas en el orden en que llegaron. */\nexport interface RecordedFixture {\n /** Fecha de la corrida, `YYYY-MM-DD` en UTC. */\n recordedAt: string;\n responses: readonly RecordedResponse[];\n}\n\nfunction fixture(json: { recordedAt: string; responses: readonly RecordedResponse[] }): RecordedFixture {\n return Object.freeze({\n recordedAt: json.recordedAt,\n responses: Object.freeze(\n json.responses.map(({ operation, status, body }) => Object.freeze({ operation, status, body })),\n ),\n });\n}\n\n/**\n * Las corridas de producción del Tier 3:\n * - `walk`: `count`, `list`, `access` y `ignore` sobre una cola de 4 PNR hasta el fin de cola,\n * más `I` y `QXI` fuera de una cola;\n * - `emptyQueue`: `access` y `list` sobre una cola vacía (`QUEUE SELECTED WAS EMPTY`);\n * - `place`: `place` fuera y dentro de una cola, y `remove` hasta el fin de cola;\n * - `placeWithoutInstructionCode` y `placeWithoutInstructionCodeInside`: `place` sin PIC, fuera\n * (`INSTRUCTION NUMBER NOT IN RANGE`) y dentro de una cola (`NEED INSTRUCTION NUMBER`).\n */\nexport const queueFixtures: Readonly<{\n walk: RecordedFixture;\n emptyQueue: RecordedFixture;\n place: RecordedFixture;\n placeWithoutInstructionCode: RecordedFixture;\n placeWithoutInstructionCodeInside: RecordedFixture;\n}> = Object.freeze({\n walk: fixture(walkJson),\n emptyQueue: fixture(emptyQueueJson),\n place: fixture(placeJson),\n placeWithoutInstructionCode: fixture(placeWithoutCodeJson),\n placeWithoutInstructionCodeInside: fixture(placeWithoutCodeInsideJson),\n});\n"],"mappings":"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","names":["XMLParser","text","XMLParser","lines"]}
|
|
1
|
+
{"version":3,"sources":["../src/testing/queue-fake.ts","../src/queue/queue-access.ts","../src/http/soap-transport.ts","../src/queue/queue-ref.ts","../src/queue/queue-place.ts","../src/testing/anonymize.ts","../src/testing/fixture-pnrs.ts","../test/fixtures/queue.production-place.json","../test/fixtures/queue.production-place-sin-pic.json","../test/fixtures/queue.production-place-sin-pic-adentro.json","../test/fixtures/queue.production-walk-empty-queue.json","../test/fixtures/queue.production-walk.json","../src/testing/fixtures.ts"],"sourcesContent":["// Fake de colas para los tests de los consumidores: un `fetch` que responde como Sabre a la sesión\n// SOAP y a Queue Management, sin red. Ver sabre-wiki/wiki/sdk/tier-3-sesion-y-colas-soap.md\n// (punto 7 y su decisión). Se publica en `sabre-client/testing`, fuera del bundle principal.\n//\n// Las respuestas imitan lo observado en producción (#95, #96 y #97): la cola vacía como\n// `QUEUE SELECTED WAS EMPTY`, el fin de cola en el `Paragraph`, `place` dentro de una cola que\n// mueve el PNR y devuelve el siguiente, y los errores de host con el código en `ShortText`.\nimport { XMLParser } from 'fast-xml-parser';\nimport { END_OF_DISPLAY, OFF_QUEUE, QUEUE_EMPTY } from '../queue/queue-access.js';\nimport { signatureLocator } from '../queue/queue-place.js';\nimport type { QueueActivityCounters } from '../queue/queue-activity.js';\nimport { MAX_QUEUE_NUMBER, MESSAGE_QUEUE, MIN_QUEUE_NUMBER, type QueueRef, toQueueRef } from '../queue/queue-ref.js';\nimport type {\n ReservationHistoryAccounting,\n ReservationHistoryFlightSegment,\n ReservationHistoryText,\n ReservationHistoryTransaction,\n} from '../reservation/reservation-history.js';\n\n/** Un PNR del fake, con los campos que Sabre manda en `Line`. */\nexport interface QueueFakePnr {\n /** Localizador de 6 caracteres alfanuméricos. */\n locator: string;\n /**\n * Las líneas del PNR en formato de host, como el `Paragraph` de Access Queue. Si no termina en\n * una línea de firma (`… HHMM/DDMMMYY <localizador> H`), el fake agrega una: `place` dentro de\n * una cola saca el localizador de ahí, igual que con Sabre.\n */\n paragraph?: readonly string[];\n /** `Line/DateTime`, tal cual. */\n placedAt?: string;\n /** `Line/POS/Source`. */\n placedBy?: { agentSine?: string; pseudoCityCode?: string };\n /** `Line/PassengerName`. Solo llega en `list` con `primaryPassenger: true`. */\n primaryPassenger?: string;\n}\n\n/**\n * Los contadores de `queue.activity` que se siembran para una cola. `numMessages` no va: sale\n * siempre de lo que hay en la cola del fake.\n */\nexport type QueueFakeActivity = Partial<Omit<QueueActivityCounters, 'numMessages'>>;\n\n/**\n * Una transacción del historial de un PNR, como la devuelve `reservation.history`. Las listas que\n * falten van vacías.\n */\nexport type QueueFakeHistoryTransaction = Omit<\n ReservationHistoryTransaction,\n 'flightSegments' | 'generalInfo' | 'remarks' | 'accounting'\n> & {\n flightSegments?: readonly ReservationHistoryFlightSegment[];\n generalInfo?: readonly ReservationHistoryText[];\n remarks?: readonly ReservationHistoryText[];\n accounting?: readonly ReservationHistoryAccounting[];\n};\n\n/** Un PNR: sus campos, o solo el párrafo. Con solo el párrafo, el localizador sale de la línea de firma. */\nexport type QueueFakeItem = QueueFakePnr | readonly string[];\n\nexport interface QueueFakeOptions {\n /**\n * El contenido de cada cola, en orden. La clave es el número de cola (`'12'`, de 0 a 511), una\n * cola alfabética (`'S'`, una o dos letras mayúsculas) o una cola con nombre (`'name:HOTELS'`, o\n * `'HOTELS'` sin el prefijo). La alfabética y la con nombre viajan por atributos distintos\n * (`Number` y `Name`, ADR-028). El fake no distingue PCC: las colas son las mismas para cualquier\n * `pcc`.\n *\n * La `'S'` es la cola de mensajes: cada elemento es el texto de un mensaje (`string[]`), no un\n * PNR. `access` lo muestra sin `Line`, como Sabre en CERT, e `ignore` lo deja en la cola. Que\n * `remove` lo saque es un supuesto del fake: no se probó con Sabre.\n */\n queues?: Readonly<Record<string, readonly QueueFakeItem[]>>;\n /** PNR que no están en ninguna cola, para colocarlos con `place({ locators })`. */\n pnrs?: readonly QueueFakeItem[];\n /**\n * Los contadores de `queue.activity` por cola, con las mismas claves que `queues`. `numMessages`\n * sale del estado del fake, como en `count`: sin el PNR en pantalla (CERT, #167). Los demás valen\n * lo que se siembre aquí, o 0. Las acciones del fake (`ignore`, `remove`, `place`, `exit`) **no**\n * los cambian: no se probó qué contador sube Sabre con cada una (Q-097).\n */\n activity?: Readonly<Record<string, QueueFakeActivity>>;\n /**\n * El historial de cada PNR para `reservation.history`, por localizador. Un PNR que el fake\n * conoce y no está aquí devuelve una transacción sintética (la creación). Un localizador que\n * el fake no conoce da un error de host marcado como no simulado.\n */\n histories?: Readonly<Record<string, readonly QueueFakeHistoryTransaction[]>>;\n /** Reloj de las fechas de `count` y de `place`. Por defecto, `new Date()`. Las fechas van en UTC. */\n now?: () => Date;\n}\n\n/** Qué le pidió el SDK al fake. */\nexport type QueueFakeCommand =\n | 'open'\n | 'close'\n | 'ping'\n | 'count'\n | 'access'\n | 'list'\n | 'ignore'\n | 'remove'\n | 'exit'\n | 'place'\n | 'activity'\n | 'history';\n\nexport interface QueueFakeCall {\n command: QueueFakeCommand;\n /** La cola de `access` y `list`. */\n queue?: QueueRef;\n /** El localizador de `history`. */\n locator?: string;\n}\n\nexport interface QueueFake {\n /** Se pasa como `config.fetch` de `SabreLegacy`. */\n readonly fetch: typeof fetch;\n /** Los localizadores de una cola, en orden, con lo que el recorrido haya sacado o colocado. */\n locators(queue: QueueRef): string[];\n /** El texto de los mensajes que siguen en la cola `S`, en orden. */\n messages(): string[][];\n /** Las llamadas recibidas, en orden. */\n readonly calls: readonly QueueFakeCall[];\n /** Cuántas sesiones siguen abiertas: sirve para comprobar que el consumidor las cierra. */\n readonly openSessions: number;\n /**\n * Vence todas las sesiones abiertas. La siguiente llamada de cada una recibe el fault de una\n * sesión vencida (`USG_INVALID_SECURITY_TOKEN`), y el SDK la convierte en `SabreSessionError`\n * con `kind: 'expired'`.\n */\n expireSessions(): void;\n}\n\nconst SWS_NAMESPACE = 'http://webservices.sabre.com/sabreXML/2011/10';\nconst STL_NAMESPACE = 'http://services.sabre.com/STL/v01';\nconst SIGNATURE_DATE = '1200/01JAN26';\nconst LOCATOR = /^[A-Z0-9]{6}$/;\nconst NAVIGATION: Readonly<Record<string, QueueFakeCommand>> = { I: 'ignore', QR: 'remove', QXI: 'exit' };\n\ntype XmlNode = Record<string, unknown>;\n\ninterface Pnr {\n locator: string;\n paragraph: readonly string[];\n primaryPassenger: string | undefined;\n}\n\n/** Un PNR dentro de una cola: el PNR y los datos de su colocación. */\ninterface Entry {\n /** Vacío en un mensaje de la `S`. */\n locator: string;\n /** El texto de un mensaje de la `S`. */\n message?: readonly string[];\n placedAt: string | undefined;\n placedBy: { agentSine?: string; pseudoCityCode?: string } | undefined;\n}\n\ninterface Session {\n conversationId: string;\n /** La cola en la que está la sesión y la posición del PNR en pantalla. */\n inside: { key: string; index: number } | undefined;\n}\n\ninterface Reply {\n status: number;\n body: string;\n}\n\nfunction fail(message: string): never {\n throw new TypeError(`sabre-client/testing: ${message}`);\n}\n\nconst parser = new XMLParser({\n ignoreAttributes: false,\n attributeNamePrefix: '@',\n removeNSPrefix: true,\n parseTagValue: false,\n parseAttributeValue: false,\n isArray: (name) => name === 'QueueIdentifier' || name === 'UniqueID' || name === 'Selection',\n});\n\nfunction node(value: unknown): XmlNode | undefined {\n if (Array.isArray(value)) return node(value[0]);\n return typeof value === 'object' && value !== null ? (value as XmlNode) : undefined;\n}\n\nfunction nodes(value: unknown): XmlNode[] {\n if (value === undefined) return [];\n return (Array.isArray(value) ? value : [value]).filter((item): item is XmlNode => node(item) !== undefined);\n}\n\nfunction text(value: unknown): string | undefined {\n if (typeof value === 'string') return value.trim();\n const inner = node(value)?.['#text'];\n return typeof inner === 'string' ? inner.trim() : undefined;\n}\n\nfunction attr(value: unknown, name: string): string | undefined {\n const found = node(value)?.[`@${name}`];\n return typeof found === 'string' ? found : undefined;\n}\n\nfunction escape(value: string): string {\n return value.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\"/g, '"');\n}\n\n/**\n * Clave interna de una cola (ADR-028): `'12'` (numérica), `'S'` (alfabética) o `'name:HOTELS'` (con\n * nombre). Las alfabéticas y las con nombre viajan por atributos distintos, así que no comparten clave.\n */\nfunction queueKey(queue: QueueRef): string {\n if (typeof queue === 'number') return String(queue);\n if (typeof queue === 'string') return queue;\n return `${NAME_PREFIX}${queue.name}`;\n}\n\nconst NAME_PREFIX = 'name:';\nconst ALPHA_KEY = /^[A-Z]{1,2}$/;\n\n/**\n * Clave de `QueueFakeOptions.queues`: un número (`'12'`), una cola alfabética (`'S'`), o una con\n * nombre, como `'name:HOTELS'` o, sin el prefijo, `'HOTELS'`.\n */\nfunction optionKey(key: string): string {\n if (key.startsWith(NAME_PREFIX) || /^\\d+$/.test(key) || ALPHA_KEY.test(key)) return key;\n return `${NAME_PREFIX}${key}`;\n}\n\n/** La `QueueRef` de una clave interna. */\nfunction refOfKey(key: string): QueueRef {\n if (key.startsWith(NAME_PREFIX)) return { name: key.slice(NAME_PREFIX.length) };\n return /^\\d+$/.test(key) ? Number(key) : key;\n}\n\n/** Atributo de `QueueIdentifier` de una clave, como lo manda Sabre en la respuesta. */\nfunction keyAttribute(key: string, pad = false): string {\n if (key.startsWith(NAME_PREFIX)) return `Name=\"${escape(key.slice(NAME_PREFIX.length))}\"`;\n return `Number=\"${escape(pad && /^\\d+$/.test(key) ? key.padStart(4, '0') : key)}\"`;\n}\n\nfunction validateKey(key: string): void {\n if (/^\\d+$/.test(key)) {\n const number = Number(key);\n if (number < MIN_QUEUE_NUMBER || number > MAX_QUEUE_NUMBER) fail(`la cola ${key} está fuera de 0–511`);\n return;\n }\n if (key.startsWith(NAME_PREFIX) ? key.slice(NAME_PREFIX.length).trim() === '' : key.trim() === '') {\n fail('el nombre de una cola no puede estar vacío');\n }\n}\n\n/** `MM-DDTHH:mm`, como el `DateTime` de `QueueCountRS` y `QueuePlaceRS`. */\nfunction shortDate(date: Date): string {\n return date.toISOString().slice(5, 16);\n}\n\n/** `YYYY-MM-DDTHH:mm`, como el `Line/DateTime` real de Access Queue. */\nfunction longDate(date: Date): string {\n return date.toISOString().slice(0, 16);\n}\n\n/** Un mensaje de `queues['S']`: una lista de líneas, con al menos una que no esté vacía. */\nfunction toMessage(item: unknown, index: number): string[] {\n const label = `queues['${MESSAGE_QUEUE}'][${index}]`;\n if (!Array.isArray(item) || item.some((line) => typeof line !== 'string')) {\n fail(`${label}: la S es la cola de mensajes; cada elemento es el texto de un mensaje (string[])`);\n }\n const lines = item as string[];\n if (!lines.some((line) => line.trim() !== '')) fail(`${label}: el mensaje no puede estar vacío`);\n return [...lines];\n}\n\nfunction toPnr(item: QueueFakeItem, label: string): Pnr & Omit<Entry, 'locator'> {\n if (Array.isArray(item)) {\n const lines = item as readonly string[];\n const locator = signatureLocator(lines);\n if (locator === undefined) fail(`${label}: el párrafo no tiene línea de firma; pasa { locator, paragraph }`);\n return { locator, paragraph: [...lines], primaryPassenger: undefined, placedAt: undefined, placedBy: undefined };\n }\n const pnr = item as QueueFakePnr;\n if (typeof pnr !== 'object' || pnr === null || typeof pnr.locator !== 'string' || !LOCATOR.test(pnr.locator)) {\n fail(`${label}: locator debe ser de 6 caracteres alfanuméricos en mayúscula`);\n }\n const lines = [...(pnr.paragraph ?? [])];\n const signed = signatureLocator(lines);\n if (signed !== undefined && signed !== pnr.locator) fail(`${label}: la línea de firma es de ${signed}, no de ${pnr.locator}`);\n if (signed === undefined) lines.push(`XXXX.XXXX*AAA ${SIGNATURE_DATE} ${pnr.locator} H`);\n return {\n locator: pnr.locator,\n paragraph: lines,\n primaryPassenger: pnr.primaryPassenger,\n placedAt: pnr.placedAt,\n placedBy: pnr.placedBy,\n };\n}\n\nfunction envelope(action: string, conversationId: string, token: string | undefined, body: string): string {\n const security =\n token === undefined\n ? ''\n : `<wsse:Security xmlns:wsse=\"http://schemas.xmlsoap.org/ws/2002/12/secext\"><wsse:BinarySecurityToken valueType=\"String\" EncodingType=\"wsse:Base64Binary\">${escape(token)}</wsse:BinarySecurityToken></wsse:Security>`;\n return [\n '<?xml version=\"1.0\" encoding=\"UTF-8\"?>',\n '<soap-env:Envelope xmlns:soap-env=\"http://schemas.xmlsoap.org/soap/envelope/\"><soap-env:Header>',\n '<eb:MessageHeader xmlns:eb=\"http://www.ebxml.org/namespaces/messageHeader\" eb:version=\"1.0\" soap-env:mustUnderstand=\"1\">',\n `<eb:ConversationId>${escape(conversationId)}</eb:ConversationId><eb:Action>${escape(action)}</eb:Action>`,\n '</eb:MessageHeader>',\n security,\n `</soap-env:Header><soap-env:Body>${body}</soap-env:Body></soap-env:Envelope>`,\n ].join('');\n}\n\nfunction results(status: 'Complete' | 'NotProcessed', inner: string): string {\n return `<stl:ApplicationResults status=\"${status}\">${inner}</stl:ApplicationResults>`;\n}\n\nconst success = '<stl:Success/>';\n\n/** Un error de host con la forma real: `Message` sin `@code` y el código en `ShortText`. */\nfunction hostResult(kind: 'Error' | 'Warning', message: string): string {\n return `<stl:${kind} type=\"BusinessLogic\"><stl:SystemSpecificResults><stl:Message>${escape(message)}</stl:Message><stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText></stl:SystemSpecificResults></stl:${kind}>`;\n}\n\nfunction textLines(lines: readonly string[]): string {\n return lines.map((line) => `<Text>${escape(line)}</Text>`).join('');\n}\n\n/** Lee la clave de una `QueueIdentifier` del request: `Number` (numérica o alfabética) o `Name`. */\nfunction requestedKey(identifier: XmlNode | undefined): string | undefined {\n const number = attr(identifier, 'Number');\n if (number !== undefined) {\n const ref = toQueueRef(number);\n return ref === undefined ? undefined : queueKey(ref);\n }\n const name = attr(identifier, 'Name');\n return name === undefined ? undefined : `${NAME_PREFIX}${name}`;\n}\n\nconst ACTIVITY_COUNTERS: ReadonlyArray<[keyof QueueFakeActivity, string]> = [\n ['ended', 'Ended'],\n ['ignored', 'Ignored'],\n ['moved', 'Moved'],\n ['removed', 'Removed'],\n ['transferred', 'Transferred'],\n ['leftMessageToContact', 'LeftMessageToContact'],\n ['unableToReach', 'UnableToReach'],\n];\n\nfunction toActivity(value: unknown, label: string): QueueFakeActivity {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) fail(`${label} debe ser un objeto de contadores`);\n const known = new Set<string>(ACTIVITY_COUNTERS.map(([key]) => key));\n const result: QueueFakeActivity = {};\n for (const [key, count] of Object.entries(value)) {\n if (key === 'numMessages') fail(`${label}.numMessages sale de la cola del fake: no se siembra`);\n if (!known.has(key)) fail(`${label}.${key} no es un contador de queue.activity`);\n if (!Number.isInteger(count) || (count as number) < 0) fail(`${label}.${key} debe ser un entero de 0 en adelante`);\n result[key as keyof QueueFakeActivity] = count as number;\n }\n return result;\n}\n\nfunction toHistory(value: unknown, label: string): QueueFakeHistoryTransaction[] {\n if (!Array.isArray(value)) fail(`${label} debe ser una lista de transacciones`);\n return value.map((transaction: unknown, index) => {\n const at = `${label}[${index}]`;\n if (typeof transaction !== 'object' || transaction === null) fail(`${at} debe ser un objeto`);\n const t = transaction as QueueFakeHistoryTransaction;\n // Sin Action, el SDK no entiende la respuesta: se frena acá, con el lugar exacto.\n for (const [list, name] of [\n [t.flightSegments, 'flightSegments'],\n [t.generalInfo, 'generalInfo'],\n [t.remarks, 'remarks'],\n ] as const) {\n if (list === undefined) continue;\n if (!Array.isArray(list)) fail(`${at}.${name} debe ser una lista`);\n list.forEach((entry: { action?: unknown }, position: number) => {\n if (typeof entry?.action !== 'string' || entry.action.trim() === '') fail(`${at}.${name}[${position}].action debe ser un string no vacío`);\n });\n }\n if (t.accounting !== undefined && !Array.isArray(t.accounting)) fail(`${at}.accounting debe ser una lista`);\n return t;\n });\n}\n\nconst attrs = (pairs: ReadonlyArray<[string, string | number | undefined]>): string =>\n pairs.map(([name, value]) => (value === undefined ? '' : ` ${name}=\"${escape(String(value))}\"`)).join('');\n\n/** Las líneas de un texto del historial, una por `Text`. */\nconst historyText = (text: string): string =>\n text.split('\\n').map((line) => `<Text>${escape(line)}</Text>`).join('');\n\n/** Una transacción como `HistoricalInfo`, en el orden de las respuestas de CERT. */\nfunction historicalInfo(t: QueueFakeHistoryTransaction): string {\n const segments = (t.flightSegments ?? []).map((segment) =>\n [\n `<Item><FlightSegment${attrs([\n ['Action', segment.action],\n ['ArrivalDateTime', segment.arrivalDateTime],\n ['DepartureDateTime', segment.departureDateTime],\n ['FlightNumber', segment.flightNumber],\n ['NumberInParty', segment.numberInParty],\n ['ResBookDesigCode', segment.bookingClass],\n ['Status', segment.status],\n ])}>`,\n segment.destination === undefined ? '' : `<DestinationLocation${attrs([['LocationCode', segment.destination]])}/>`,\n segment.marketingAirline === undefined ? '' : `<MarketingAirline${attrs([['Code', segment.marketingAirline]])}/>`,\n segment.origin === undefined ? '' : `<OriginLocation${attrs([['LocationCode', segment.origin]])}/>`,\n segment.supplierRef === undefined ? '' : `<SupplierRef${attrs([['ID', segment.supplierRef]])}/>`,\n '</FlightSegment></Item>',\n ].join(''),\n );\n return [\n `<HistoricalInfo${attrs([['RPH', t.rph]])}>`,\n ...(t.generalInfo ?? []).map((entry) => `<GeneralInfo${attrs([['Action', entry.action]])}>${historyText(entry.text)}</GeneralInfo>`),\n segments.length === 0 ? '' : `<ItineraryInfo><ReservationItems>${segments.join('')}</ReservationItems></ItineraryInfo>`,\n (t.remarks ?? []).length === 0\n ? ''\n : `<RemarkInfo>${(t.remarks ?? []).map((entry) => `<Remark${attrs([['Action', entry.action]])}>${historyText(entry.text)}</Remark>`).join('')}</RemarkInfo>`,\n ...(t.accounting ?? []).map((entry) => `<AccountingInfo${attrs([['Action', entry.action], ['Type', entry.type], ['LinkCode', entry.linkCode]])}/>`),\n `<ItineraryRef><Source${attrs([\n ['AAA_PseudoCityCode', t.aaaPcc],\n ['CreateDateTime', t.createdAt],\n ['CreationAgent', t.agent],\n ['CreationAgentDutyCode', t.agentDutyCode],\n ['CreationAgentFunctionCode', t.agentFunctionCode],\n ['PseudoCityCode', t.pcc],\n ['ReceivedFrom', t.receivedFrom],\n ])}/></ItineraryRef>`,\n '</HistoricalInfo>',\n ].join('');\n}\n\n/** Lo que Sabre responde al historial de otro PNR con la sesión dentro de una cola (CERT, Q-102). */\nconst NOT_ALLOWED_INSIDE_QUEUE = 'NAK6 -NOT ALLOWED- FINISH OR IGNORE OTHER ACTIVITY';\n\nexport function createQueueFake(options: QueueFakeOptions = {}): QueueFake {\n if (typeof options !== 'object' || options === null) fail('options debe ser un objeto');\n const now = options.now ?? (() => new Date());\n if (typeof now !== 'function') fail('now debe ser una función');\n\n const pnrs = new Map<string, Pnr>();\n const queues = new Map<string, Entry[]>();\n const sessions = new Map<string, Session>();\n const calls: QueueFakeCall[] = [];\n let tokens = 0;\n\n const register = (item: QueueFakeItem, label: string): Pnr & Omit<Entry, 'locator'> => {\n const pnr = toPnr(item, label);\n const known = pnrs.get(pnr.locator);\n if (known !== undefined && JSON.stringify(known.paragraph) !== JSON.stringify(pnr.paragraph)) {\n fail(`${label}: el PNR ${pnr.locator} aparece con dos párrafos distintos`);\n }\n if (known === undefined) {\n pnrs.set(pnr.locator, { locator: pnr.locator, paragraph: pnr.paragraph, primaryPassenger: pnr.primaryPassenger });\n }\n return pnr;\n };\n\n for (const [optionName, items] of Object.entries(options.queues ?? {})) {\n const key = optionKey(optionName);\n validateKey(key);\n if (!Array.isArray(items)) fail(`queues['${key}'] debe ser una lista`);\n if (key === MESSAGE_QUEUE) {\n queues.set(key, items.map((item, index) => ({ locator: '', placedAt: undefined, placedBy: undefined, message: toMessage(item, index) })));\n continue;\n }\n queues.set(\n key,\n items.map((item, index) => {\n const { locator, placedAt, placedBy } = register(item, `queues['${key}'][${index}]`);\n return { locator, placedAt, placedBy };\n }),\n );\n }\n for (const [index, item] of (options.pnrs ?? []).entries()) register(item, `pnrs[${index}]`);\n\n const activity = new Map<string, QueueFakeActivity>();\n for (const [optionName, counters] of Object.entries(options.activity ?? {})) {\n const key = optionKey(optionName);\n validateKey(key);\n activity.set(key, toActivity(counters, `activity['${key}']`));\n }\n const histories = new Map<string, QueueFakeHistoryTransaction[]>();\n for (const [locator, transactions] of Object.entries(options.histories ?? {})) {\n if (!LOCATOR.test(locator)) fail(`histories['${locator}']: la clave debe ser un localizador de 6 caracteres alfanuméricos en mayúscula`);\n histories.set(locator, toHistory(transactions, `histories['${locator}']`));\n }\n\n const queue = (key: string): Entry[] => {\n let entries = queues.get(key);\n if (entries === undefined) {\n entries = [];\n queues.set(key, entries);\n }\n return entries;\n };\n\n // --- Respuestas de sesión ---------------------------------------------------------------\n\n const invalidToken = (conversationId: string, token: string | undefined): Reply => ({\n status: 500,\n body: envelope(\n 'ErrorRS',\n conversationId,\n token,\n `<soap-env:Fault><faultcode>soap-env:Client.InvalidSecurityToken</faultcode><faultstring>Invalid or Expired binary security token: ${escape(token ?? '')}</faultstring><detail><StackTrace>com.sabre.universalservices.base.session.SessionException: errors.session.USG_INVALID_SECURITY_TOKEN</StackTrace></detail></soap-env:Fault>`,\n ),\n });\n\n const reply = (action: string, session: Session, token: string, body: string): Reply => ({\n status: 200,\n body: envelope(action, session.conversationId, token, body),\n });\n\n // --- Colas --------------------------------------------------------------------------\n\n const lineXml = (entry: Entry, extra: { number?: number; passenger?: boolean } = {}): string => {\n const pnr = pnrs.get(entry.locator);\n const source =\n entry.placedBy === undefined\n ? ''\n : `<POS><Source${entry.placedBy.agentSine === undefined ? '' : ` AgentSine=\"${escape(entry.placedBy.agentSine)}\"`}${entry.placedBy.pseudoCityCode === undefined ? '' : ` PseudoCityCode=\"${escape(entry.placedBy.pseudoCityCode)}\"`}/></POS>`;\n return [\n extra.number === undefined ? '<Line>' : `<Line Number=\"${extra.number}\">`,\n entry.placedAt === undefined ? '' : `<DateTime>${escape(entry.placedAt)}</DateTime>`,\n source,\n extra.passenger === true && pnr?.primaryPassenger !== undefined ? `<PassengerName>${escape(pnr.primaryPassenger)}</PassengerName>` : '',\n `<UniqueID ID=\"${escape(entry.locator)}\"/>`,\n '</Line>',\n ].join('');\n };\n\n const accessRS = (inner: string): string =>\n `<QueueAccessRS xmlns=\"${SWS_NAMESPACE}\" xmlns:stl=\"${STL_NAMESPACE}\" Version=\"2.1.1\">${inner}</QueueAccessRS>`;\n const placeRS = (inner: string): string =>\n `<QueuePlaceRS xmlns=\"${SWS_NAMESPACE}\" xmlns:stl=\"${STL_NAMESPACE}\" Version=\"2.0.4\">${inner}</QueuePlaceRS>`;\n const accessError = (message: string): string => accessRS(results('NotProcessed', hostResult('Error', message)));\n const placeError = (message: string): string => placeRS(results('NotProcessed', hostResult('Error', message)));\n\n /** El paso en el que queda la sesión: el PNR en pantalla o el fin de cola. */\n const step = (session: Session): string => {\n const inside = session.inside;\n const entry = inside === undefined ? undefined : queue(inside.key)[inside.index];\n if (entry === undefined) {\n session.inside = undefined;\n return accessRS(`${results('Complete', success)}<Paragraph>${textLines([END_OF_DISPLAY])}</Paragraph>`);\n }\n if (entry.message !== undefined) {\n return accessRS(`${results('Complete', success)}<Paragraph>${textLines(entry.message)}</Paragraph>`);\n }\n const pnr = pnrs.get(entry.locator)!;\n return accessRS(`${results('Complete', success)}${lineXml(entry)}<Paragraph>${textLines(pnr.paragraph)}</Paragraph>`);\n };\n\n /** Cuántos hay en una cola para `count` y `activity`: sin el PNR en pantalla (producción, #96; CERT, #167). */\n const waiting = (session: Session, key: string, entries: readonly Entry[]): number =>\n entries.length - (session.inside?.key === key && entries[session.inside.index] !== undefined ? 1 : 0);\n\n const count = (session: Session, rq: XmlNode): string => {\n const pcc = attr(node(node(rq.QueueInfo)?.QueueIdentifier), 'PseudoCityCode') ?? '';\n let pnrsTotal = 0;\n let messages = 0;\n const identifiers: string[] = [];\n for (const [key, entries] of queues) {\n // Con un PNR en pantalla, su cola no lo cuenta (producción, #96).\n const total = waiting(session, key, entries);\n if (total <= 0) continue;\n identifiers.push(`<QueueIdentifier Count=\"${total}\" ${keyAttribute(key)}/>`);\n // Las alfabéticas (la S) son de mensajes; las numéricas y las con nombre, de PNR.\n if (ALPHA_KEY.test(key)) messages += total;\n else pnrsTotal += total;\n }\n return `<QueueCountRS xmlns=\"${SWS_NAMESPACE}\" xmlns:stl=\"${STL_NAMESPACE}\" Version=\"2.2.1\">${results('Complete', success)}<QueueInfo DateTime=\"${shortDate(now())}\" PseudoCityCode=\"${escape(pcc)}\">${identifiers.join('')}</QueueInfo><Totals Count=\"${messages}\" Type=\"MESSAGES\"/><Totals Count=\"0\" Type=\"SPECIALS\"/><Totals Count=\"${pnrsTotal}\" Type=\"PNRS\"/></QueueCountRS>`;\n };\n\n const access = (session: Session, rq: XmlNode): string => {\n const navigation = attr(rq.Navigation, 'Action');\n if (navigation !== undefined) return navigate(session, rq, navigation);\n\n const identifier = node(rq.QueueIdentifier);\n const key = requestedKey(identifier);\n if (key === undefined) return accessError('sabre-client/testing: QueueIdentifier sin Number ni Name');\n const isList = node(identifier?.List) !== undefined;\n calls.push({ command: isList ? 'list' : 'access', queue: refOfKey(key) });\n\n if (nodes(rq.Selection).length > 0) return accessError('sabre-client/testing: selection no está simulado');\n const entries = queue(key);\n if (entries.length === 0) return accessError(QUEUE_EMPTY);\n\n if (isList) {\n const passenger = attr(identifier?.List, 'PrimaryPassenger') === 'true';\n const lines = entries.map((entry, index) => lineXml(entry, { number: index + 1, passenger })).join('');\n return accessRS(`${results('Complete', success)}${lines}`);\n }\n session.inside = { key, index: 0 };\n return step(session);\n };\n\n const navigate = (session: Session, rq: XmlNode, action: string): string => {\n const command = NAVIGATION[action];\n if (command === undefined) return accessError(`sabre-client/testing: Navigation ${action} no está simulado`);\n calls.push({ command });\n const inside = session.inside;\n if (action === 'QXI') {\n if (inside === undefined) return accessError(OFF_QUEUE);\n session.inside = undefined;\n return accessRS(results('Complete', success));\n }\n // Fuera de una cola, producción responde `IGD` a `I`. Se supone lo mismo para `QR`.\n if (inside === undefined) return accessError('IGD');\n const current = queue(inside.key)[inside.index];\n if (current === undefined) return step(session);\n\n if (action === 'I') {\n inside.index += 1;\n return step(session);\n }\n const from = nodes(rq.QueueIdentifier).map((identifier) => requestedKey(identifier) ?? '');\n const targets = from.length === 0 ? [inside.key] : from;\n for (const key of targets) {\n const entries = queue(key);\n const position = key === inside.key ? inside.index : entries.findIndex((entry) => entry.locator === current.locator);\n if (position >= 0 && entries[position]?.locator === current.locator) entries.splice(position, 1);\n }\n // Si no salió de la cola en curso, el cursor avanza como con `I`.\n if (!targets.includes(inside.key)) inside.index += 1;\n return step(session);\n };\n\n const place = (session: Session, rq: XmlNode): string => {\n calls.push({ command: 'place' });\n const info = node(rq.QueueInfo);\n const targets = nodes(info?.QueueIdentifier).map((identifier) => ({\n key: requestedKey(identifier) ?? '',\n pcc: attr(identifier, 'PseudoCityCode'),\n instructionCode: attr(identifier, 'PrefatoryInstructionCode'),\n }));\n const locators = nodes(info?.UniqueID).map((id) => attr(id, 'ID') ?? '');\n const inside = session.inside;\n const moving = inside !== undefined && locators.length === 0;\n\n // Producción pide el PIC siempre, aunque el design lo dé como opcional (#97).\n if (targets.some((target) => target.instructionCode === undefined)) {\n return placeError(moving ? 'NEED INSTRUCTION NUMBER' : 'INSTRUCTION NUMBER NOT IN RANGE');\n }\n for (const target of targets) validateKey(target.key);\n if (targets.some((target) => target.key === MESSAGE_QUEUE)) return placeError('sabre-client/testing: place a la cola S no está simulado');\n\n const at = now();\n const add = (locator: string, target: (typeof targets)[number]): void => {\n const entries = queue(target.key);\n if (entries.some((entry) => entry.locator === locator)) return;\n entries.push({\n locator,\n placedAt: longDate(at),\n placedBy: target.pcc === undefined ? undefined : { pseudoCityCode: target.pcc },\n });\n };\n\n if (moving) {\n const current = queue(inside.key)[inside.index];\n if (current === undefined) return placeError('sabre-client/testing: no hay PNR en pantalla');\n // El PNR se mueve: sale de la cola en curso y queda en las de destino (#97).\n queue(inside.key).splice(inside.index, 1);\n for (const target of targets) add(current.locator, target);\n const next = queue(inside.key)[inside.index];\n if (next === undefined) {\n session.inside = undefined;\n return placeRS(results('Complete', `${success}${hostResult('Warning', END_OF_DISPLAY)}`));\n }\n return placeRS(`${results('Complete', success)}${textLines(pnrs.get(next.locator)!.paragraph)}`);\n }\n\n // El fake no lleva el AAA fuera de una cola: sin localizadores no hay qué colocar.\n if (locators.length === 0) return placeError('sabre-client/testing: place fuera de una cola necesita locators');\n if (locators.some((locator) => !pnrs.has(locator))) return placeError('BAD PNR LOCATOR');\n const placements: string[] = [];\n for (const locator of locators) {\n for (const target of targets) {\n add(locator, target);\n const identifier = keyAttribute(target.key, true);\n const pcc = target.pcc === undefined ? '' : ` PseudoCityCode=\"${escape(target.pcc)}\"`;\n placements.push(`<QueueInfo DateTime=\"${shortDate(at)}\"><QueueIdentifier ${identifier}${pcc}/><UniqueID ID=\"${escape(locator)}\"/></QueueInfo>`);\n }\n }\n return placeRS(`${results('Complete', success)}${placements.join('')}`);\n };\n\n // --- Get Queue Activity y Get Itinerary History ------------------------------------------\n\n const analyze = (session: Session, rq: XmlNode): string => {\n calls.push({ command: 'activity' });\n const pcc = attr(node(node(rq.QueueInfo)?.QueueIdentifier), 'PseudoCityCode') ?? '';\n const totals: Record<string, number> = { NumMessages: 0 };\n for (const [, element] of ACTIVITY_COUNTERS) totals[element] = 0;\n const identifiers: string[] = [];\n // Las colas del fake y las sembradas, una vez cada una. Como Sabre, se listan también colas\n // vacías con contadores, y no las que están en cero.\n for (const key of new Set([...queues.keys(), ...activity.keys()])) {\n const seeded = activity.get(key) ?? {};\n const counters: Record<string, number> = { NumMessages: waiting(session, key, queues.get(key) ?? []) };\n for (const [name, element] of ACTIVITY_COUNTERS) counters[element] = seeded[name] ?? 0;\n if (Object.values(counters).every((value) => value === 0)) continue;\n for (const [element, value] of Object.entries(counters)) totals[element] = (totals[element] ?? 0) + value;\n identifiers.push(\n `<QueueIdentifier ${keyAttribute(key)}>${Object.entries(counters).map(([element, value]) => `<${element} Count=\"${value}\"/>`).join('')}</QueueIdentifier>`,\n );\n }\n const totalsXml = Object.entries(totals).map(([element, value]) => `<${element} Count=\"${value}\"/>`).join('');\n return `<QueueAnalysisRS xmlns=\"${SWS_NAMESPACE}\" xmlns:stl=\"${STL_NAMESPACE}\" Version=\"2.0.0\">${results('Complete', success)}<QueueInfo DateTime=\"${shortDate(now())}\" PseudoCityCode=\"${escape(pcc)}\">${identifiers.join('')}</QueueInfo><Totals>${totalsXml}</Totals></QueueAnalysisRS>`;\n };\n\n const history = (session: Session, rq: XmlNode): string => {\n const locator = attr(rq.UniqueID, 'ID') ?? '';\n calls.push({ command: 'history', locator });\n const historyRS = (inner: string): string =>\n `<TravelItineraryHistoryRS xmlns=\"${SWS_NAMESPACE}\" xmlns:stl=\"${STL_NAMESPACE}\" Version=\"2.4.0\">${inner}</TravelItineraryHistoryRS>`;\n const historyError = (message: string): string => historyRS(results('NotProcessed', hostResult('Error', message)));\n\n // Dentro de una cola, Sabre rechaza el historial de otro PNR (CERT, Q-102) y acepta el del PNR\n // en pantalla (CERT, #167).\n const inside = session.inside;\n const current = inside === undefined ? undefined : queue(inside.key)[inside.index];\n if (current !== undefined && current.locator !== locator) return historyError(NOT_ALLOWED_INSIDE_QUEUE);\n\n const seeded = histories.get(locator);\n if (seeded !== undefined) return historyRS(`${results('Complete', success)}${seeded.map(historicalInfo).join('')}`);\n if (!pnrs.has(locator)) return historyError(`sabre-client/testing: el PNR ${locator} no está en el fake (qué responde Sabre no está simulado)`);\n const created: QueueFakeHistoryTransaction = { rph: 1, createdAt: longDate(now()), agent: 'AAA', pcc: 'XXXX', receivedFrom: 'SABRE-CLIENT/TESTING' };\n return historyRS(`${results('Complete', success)}${historicalInfo(created)}`);\n };\n\n // --- Despacho --------------------------------------------------------------------------\n\n const handle = (raw: string): Reply => {\n let document: XmlNode | undefined;\n try {\n document = node(node(parser.parse(raw))?.Envelope);\n } catch {\n document = undefined;\n }\n const header = node(document?.Header);\n const messageHeader = node(header?.MessageHeader);\n const action = text(messageHeader?.Action) ?? '';\n const conversationId = text(messageHeader?.ConversationId) ?? '';\n const token = text(node(header?.Security)?.BinarySecurityToken);\n const body = node(document?.Body);\n const [, payload] = Object.entries(body ?? {}).find(([name]) => !name.startsWith('@')) ?? [];\n const rq = node(payload) ?? {};\n\n if (action === 'SessionCreateRQ') {\n calls.push({ command: 'open' });\n tokens += 1;\n const newToken = `Shared/IDL:IceSess\\\\/SessMgr:1\\\\.0.IDL/Common/!ICESMS\\\\/FAKE!${tokens}!0`;\n sessions.set(newToken, { conversationId, inside: undefined });\n const version = attr(rq, 'Version') === '2.0.0' ? '2.0.0' : '1.0.0';\n return {\n status: 200,\n body: envelope(\n 'SessionCreateRS',\n conversationId,\n newToken,\n `<SessionCreateRS xmlns=\"http://www.opentravel.org/OTA/2002/11\" version=\"${version}\" status=\"Approved\"><ConversationId>${escape(conversationId)}</ConversationId></SessionCreateRS>`,\n ),\n };\n }\n\n const session = token === undefined ? undefined : sessions.get(token);\n if (session === undefined || token === undefined) return invalidToken(conversationId, token);\n\n switch (action) {\n case 'SessionCloseRQ':\n calls.push({ command: 'close' });\n sessions.delete(token);\n return reply('SessionCloseRS', session, token, '<SessionCloseRS xmlns=\"http://www.opentravel.org/OTA/2002/11\" version=\"1\" status=\"Approved\"/>');\n case 'OTA_PingRQ': {\n calls.push({ command: 'ping' });\n const echo = text(rq.EchoData) ?? '';\n return reply(\n 'OTA_PingRS',\n session,\n token,\n `<OTA_PingRS xmlns=\"http://www.opentravel.org/OTA/2003/05\" TimeStamp=\"${now().toISOString().slice(0, 19)}Z\" Version=\"1.0.0\"><Success/><EchoData>${escape(echo)}</EchoData></OTA_PingRS>`,\n );\n }\n case 'QueueCountLLSRQ':\n calls.push({ command: 'count' });\n return reply('QueueCountLLSRS', session, token, count(session, rq));\n case 'QueueAccessLLSRQ':\n return reply('QueueAccessLLSRS', session, token, access(session, rq));\n case 'QueuePlaceLLSRQ':\n return reply('QueuePlaceLLSRS', session, token, place(session, rq));\n case 'QueueAnalysisLLSRQ':\n return reply('QueueAnalysisLLSRS', session, token, analyze(session, rq));\n case 'TravelItineraryHistoryLLSRQ':\n return reply('TravelItineraryHistoryLLSRS', session, token, history(session, rq));\n default:\n return {\n status: 500,\n body: envelope(\n 'ErrorRS',\n conversationId,\n token,\n `<soap-env:Fault><faultcode>soap-env:Client.InvalidAction</faultcode><faultstring>sabre-client/testing: ${escape(action)} no está simulado</faultstring></soap-env:Fault>`,\n ),\n };\n }\n };\n\n const fakeFetch = async (input: RequestInfo | URL, init?: RequestInit): Promise<Response> => {\n const signal = init?.signal ?? (input instanceof Request ? input.signal : undefined);\n signal?.throwIfAborted();\n const raw = typeof init?.body === 'string' ? init.body : input instanceof Request ? await input.text() : String(init?.body ?? '');\n const { status, body } = handle(raw);\n return new Response(body, { status, headers: { 'Content-Type': 'text/xml;charset=UTF-8' } });\n };\n\n return {\n fetch: fakeFetch as typeof fetch,\n locators: (ref) => (queues.get(queueKey(ref)) ?? []).filter((entry) => entry.message === undefined).map((entry) => entry.locator),\n messages: () => (queues.get(MESSAGE_QUEUE) ?? []).map((entry) => [...(entry.message ?? [])]),\n get calls() {\n return [...calls];\n },\n get openSessions() {\n return sessions.size;\n },\n expireSessions() {\n sessions.clear();\n },\n };\n}\n","// Access Queue (`QueueAccessLLSRQ` 2.1.1): entrar a una cola y navegarla. Ver\n// sabre-wiki/wiki/sdk/tier-3-sesion-y-colas-soap.md (puntos 2, 3 y 4) y\n// wiki/sources/access-queue-v2-1-1-design.md.\nimport { XMLParser } from 'fast-xml-parser';\nimport type { RequestOptions } from '../air/bargain-finder-max.js';\nimport { SabreBusinessError, SabreGatewayError, type SabreWarning } from '../errors/index.js';\nimport { asArray, respondedAtField, type SoapResponse, textOf, xmlEscape } from '../http/soap-transport.js';\nimport type { SessionRequest } from '../session/session.js';\nimport { type QueueRef, queueRefAttribute } from './queue-ref.js';\n\nexport const QUEUE_ACCESS_SERVICE = 'queueAccess';\nconst NAMESPACE = 'http://webservices.sabre.com/sabreXML/2011/10';\n\n/** Texto exacto del fin de cola. Es la respuesta normal cuando no queda ningún PNR. */\nexport const END_OF_DISPLAY = 'END OF DISPLAY FOR REQUESTED DATA';\n/**\n * Una cola vacía, como `stl:Error` de `access` y `list` (producción, #96). Las fuentes solo\n * mostraban `END OF DISPLAY`.\n */\nexport const QUEUE_EMPTY = 'QUEUE SELECTED WAS EMPTY';\n/** `QXI` con la sesión fuera de una cola, como `stl:Error` (producción, #96). */\nexport const OFF_QUEUE = 'CANNOT DO THIS IF OFF QUEUE';\n\n/** Por qué terminó la cola: el fin de cola de siempre o una cola vacía al entrar. */\nexport type QueueEndReason = 'end-of-display' | 'empty';\n\n/** Máximo de filtros de `selection` y de colas de `remove({ from })`, según el design 2.1.1. */\nexport const MAX_SELECTIONS = 8;\nexport const MAX_REMOVE_FROM = 3;\n\n/**\n * Un filtro al entrar a una cola: un calificador de host, p. ej. `{ function: 'AL', criteria: 'DL' }`\n * (solo los PNR de esa aerolínea). Las reglas de combinación las valida Sabre.\n */\nexport interface QueueSelection {\n function: string;\n criteria: string;\n}\n\nexport interface QueueAccessRequest {\n queue: QueueRef;\n /** PCC de la cola. Por defecto, el de la sesión. */\n pcc?: string;\n /** Hasta 8 filtros. Con selección, la cola abre solo los PNR que cumplen el criterio. */\n selection?: readonly QueueSelection[];\n}\n\n/** Una cola de la que `remove` saca el PNR actual. */\nexport interface QueueRemoveTarget {\n queue: QueueRef;\n /** Por defecto, el PCC de la sesión. */\n pcc?: string;\n}\n\nexport interface QueueRemoveRequest {\n /** De 1 a 3 colas de las que sacar el PNR actual a la vez. Sin `from`, sale de la cola en curso. */\n from?: readonly QueueRemoveTarget[];\n}\n\nexport type QueueAccessOptions = RequestOptions;\nexport type QueueNavigationOptions = RequestOptions;\n\n/** El PNR en el que quedó parada la cola. */\nexport interface QueueItem {\n /** Localizador: `Line/UniqueID@ID`. */\n locator: string;\n /**\n * `Line/DateTime`, tal cual llegó: con año en las respuestas reales (`\"2024-05-15T13:24\"`), sin\n * año en el design (`\"12-21T07:00\"`). Al entrar a una cola (`access`, `ignore`, `remove`, `place`)\n * es la **última modificación del PNR**, no la colocación en la cola: para un mismo PNR no\n * coincide con el de `list`, que sí es la colocación (producción, #96 y #155). Se devuelve tal cual.\n */\n placedAt?: string;\n /** `Line/POS/Source`: quién colocó el PNR. `agentSine` puede ser `SABRE`. */\n placedBy?: { agentSine?: string; pseudoCityCode?: string };\n /** `Line/PassengerName`. Las respuestas reales de entrar a una cola no lo traen. */\n primaryPassenger?: string;\n /** `Line/Group`. Las respuestas reales de entrar a una cola no lo traen. */\n group?: string;\n /**\n * `Paragraph/Text`: el PNR en formato de host, línea por línea y tal cual, con su sangría. Las\n * líneas vacías llegan como `\"\"`. Se interpreta con `parseQueueParagraph`.\n */\n paragraph: readonly string[];\n}\n\n/**\n * Un mensaje de la cola `S`, la de mensajes del PCC (ADR-028). No es un PNR: no trae localizador\n * ni datos de colocación, solo texto libre.\n */\nexport interface QueueMessage {\n /** `Paragraph/Text`, línea por línea y tal cual, con su sangría. */\n text: string[];\n}\n\n/**\n * Resultado de una operación que avanza en la cola. Lo que queda en pantalla se distingue por\n * `kind`: un PNR (`'pnr'`, en las colas numéricas y con nombre) o un mensaje (`'message'`, en la\n * cola `S`). El fin de cola es un resultado, no un error: `END OF DISPLAY FOR REQUESTED DATA`\n * llega como `{ done: true }`, también al entrar a una cola vacía, y deja la sesión fuera de la\n * cola.\n */\nexport type QueueStep =\n | { done: false; kind: 'pnr'; item: QueueItem; warnings: SabreWarning[]; respondedAt?: string }\n | { done: false; kind: 'message'; message: QueueMessage; warnings: SabreWarning[]; respondedAt?: string }\n | { done: true; reason: QueueEndReason; message: string; warnings: SabreWarning[]; respondedAt?: string };\n\n/** Qué acción de navegación se manda en `Navigation@Action`. */\ntype NavigationAction = 'I' | 'QR' | 'QXI';\n\nconst OPERATIONS: Record<NavigationAction, string> = { I: 'queue.ignore', QR: 'queue.remove', QXI: 'queue.exit' };\n\nfunction root(body: string): string {\n return `<QueueAccessRQ Version=\"2.1.1\" xmlns=\"${NAMESPACE}\">${body}</QueueAccessRQ>`;\n}\n\nfunction identifier(queue: QueueRef, pcc: string): string {\n return `<QueueIdentifier ${queueRefAttribute(queue)} PseudoCityCode=\"${xmlEscape(pcc)}\"/>`;\n}\n\n/** Los `Selection`, hermanos de `QueueIdentifier`. Los usan `access` y `list`. */\nexport function selectionXml(selection: readonly QueueSelection[]): string {\n return selection\n .map((filter) => `<Selection Function=\"${xmlEscape(filter.function)}\" Criteria=\"${xmlEscape(filter.criteria)}\"/>`)\n .join('');\n}\n\n/** `Q/<PCC><cola>`, con los filtros de `Selection` si los hay. */\nexport function queueAccessPayload(queue: QueueRef, pcc: string, selection: readonly QueueSelection[] = []): string {\n return root(`${identifier(queue, pcc)}${selectionXml(selection)}`);\n}\n\n/** `Navigation@Action`. Solo `QR` lleva `QueueIdentifier`: las colas de las que sacar el PNR. */\nexport function queueNavigationPayload(action: NavigationAction, from: ReadonlyArray<{ queue: QueueRef; pcc: string }> = []): string {\n return root(`<Navigation Action=\"${action}\"/>${from.map((target) => identifier(target.queue, target.pcc)).join('')}`);\n}\n\n/**\n * Las operaciones de Access Queue mueven el cursor: no se reintentan ante un fallo de red. El\n * transporte solo las repite ante `USG_*_BUSY` y `PREVIOUS ENTRY ACTIVE`.\n */\nexport function queueAccessRequest(payload: string, operation: string, options: RequestOptions): SessionRequest {\n return { service: QUEUE_ACCESS_SERVICE, action: 'QueueAccessLLSRQ', payload, idempotent: false, operation, ...options };\n}\n\nexport function navigationOperation(action: NavigationAction): string {\n return OPERATIONS[action];\n}\n\n/**\n * Parser aparte para el `Paragraph`: el del transporte recorta los espacios, y el formato de host\n * usa la sangría. Se vuelve a leer el sobre (ya redactado) sin recortar.\n */\nconst paragraphParser = new XMLParser({\n ignoreAttributes: true,\n removeNSPrefix: true,\n parseTagValue: false,\n trimValues: false,\n processEntities: true,\n isArray: (name) => name === 'Text',\n});\n\nexport type XmlNode = Record<string, unknown>;\n\nexport function node(value: unknown): XmlNode | undefined {\n if (Array.isArray(value)) return node(value[0]);\n return typeof value === 'object' && value !== null ? (value as XmlNode) : undefined;\n}\n\nexport function attribute(value: unknown, name: string): string | undefined {\n const text = node(value)?.[`@${name}`];\n return typeof text === 'string' && text.trim() !== '' ? text.trim() : undefined;\n}\n\nfunction element(value: unknown): string | undefined {\n const text = textOf(Array.isArray(value) ? value[0] : value)?.trim();\n return text === undefined || text === '' ? undefined : text;\n}\n\n/**\n * Las líneas `Text` de una respuesta, tal cual: las de `Paragraph` en `QueueAccessRS` y las del\n * primer nivel en `QueuePlaceRS`.\n */\nexport function textLines(raw: string, payloadName: 'QueueAccessRS' | 'QueuePlaceRS'): string[] {\n let parsed: unknown;\n try {\n parsed = paragraphParser.parse(raw);\n } catch {\n return [];\n }\n const payload = node(node(node(node(parsed)?.Envelope)?.Body)?.[payloadName]);\n const container = payloadName === 'QueueAccessRS' ? node(payload?.Paragraph) : payload;\n return asArray(container?.Text).map((line) => (typeof line === 'string' ? line : (textOf(line) ?? '')));\n}\n\n/** Las líneas de `Paragraph/Text` de un `QueueAccessRS`, tal cual. */\nexport function paragraphLines(raw: string): string[] {\n return textLines(raw, 'QueueAccessRS');\n}\n\n/** Si un texto de Sabre es el fin de cola, comparado por el texto exacto. */\nexport function isEndOfDisplay(text: string | undefined): boolean {\n return text?.trim() === END_OF_DISPLAY;\n}\n\n/**\n * Si un `stl:Warning` o `stl:Error` es el fin de cola. El transporte junta los `Message` con\n * `\" / \"` y agrega el `ShortText` entre paréntesis, así que se busca el texto como una de esas\n * partes, entero.\n */\nexport function isEndOfDisplayResult(error: { message: string; service: string }): boolean {\n return resultHasText(error, END_OF_DISPLAY);\n}\n\n/** Si un `stl:Warning` o `stl:Error` trae `text` como una de sus partes, entero. */\nexport function resultHasText(error: { message: string; service: string }, text: string): boolean {\n const prefix = `${error.service}: `;\n const description = error.message.startsWith(prefix) ? error.message.slice(prefix.length) : error.message;\n return description\n .split(/ \\/ | \\(|\\)/)\n .some((part) => part.trim() === text);\n}\n\n/**\n * El fin de cola, si llegó como `stl:Error` de `service`: `END OF DISPLAY` o una cola vacía\n * (`QUEUE SELECTED WAS EMPTY`). Si no, `undefined`.\n */\nexport function queueEndError(error: unknown, service: string): { reason: QueueEndReason; error: SabreBusinessError } | undefined {\n if (!(error instanceof SabreBusinessError) || error.service !== service) return undefined;\n const results = [error, ...error.errors];\n if (results.some((result) => resultHasText(result, QUEUE_EMPTY))) return { reason: 'empty', error };\n if (results.some(isEndOfDisplayResult)) return { reason: 'end-of-display', error };\n return undefined;\n}\n\n/** Si el error es el de `QXI` con la sesión fuera de una cola. */\nexport function isOffQueueError(error: unknown): error is SabreBusinessError {\n return error instanceof SabreBusinessError && [error, ...error.errors].some((result) => resultHasText(result, OFF_QUEUE));\n}\n\n/** El fin de cola. `raw` es el sobre del que sale `respondedAt`: la respuesta o el `stl:Error`. */\nexport function endStep(warnings: SabreWarning[], reason: QueueEndReason = 'end-of-display', raw?: unknown): QueueStep {\n return { done: true, reason, message: reason === 'empty' ? QUEUE_EMPTY : END_OF_DISPLAY, warnings, ...respondedAtField(raw) };\n}\n\n/**\n * Lee el paso de un `QueueAccessRS`. El fin de cola llega como primera línea del `Paragraph`\n * (evidencia de `1.0.8`, y la cola `S` en CERT) o como `stl:Warning`. Con `messages` (la sesión\n * está en la cola `S`), un `Paragraph` sin `Line` es un mensaje (CERT, 2026-11-06). Fuera de la\n * `S`, un `Line` sin localizador es una respuesta que el SDK no entiende: lanza\n * `SabreGatewayError`. En la `S`, un `Line` con localizador también lanza.\n */\nexport function parseQueueStep(response: SoapResponse, { messages = false }: { messages?: boolean } = {}): QueueStep {\n const { warnings } = response;\n const paragraph = paragraphLines(response.raw);\n const firstLine = paragraph.find((line) => line.trim() !== '');\n if (isEndOfDisplay(firstLine) || warnings.some(isEndOfDisplayResult)) return endStep(warnings, 'end-of-display', response.raw);\n\n if (messages && response.payload.Line === undefined && firstLine !== undefined) {\n return { done: false, kind: 'message', message: { text: paragraph }, warnings, ...respondedAtField(response.raw) };\n }\n const fields = messages ? undefined : lineFields(response.payload.Line);\n if (fields === undefined) {\n const expected = messages ? 'sin Paragraph de mensaje ni fin de cola en la cola S' : 'sin Line/UniqueID ni fin de cola';\n throw new SabreGatewayError(`${QUEUE_ACCESS_SERVICE}: respuesta no reconocida (${expected})`, {\n protocol: 'soap',\n status: response.status,\n retryable: false,\n raw: response.raw,\n });\n }\n const item: QueueItem = { ...fields, paragraph };\n return { done: false, kind: 'pnr', item, warnings, ...respondedAtField(response.raw) };\n}\n\n/** Los campos de un `Line`, o `undefined` si no trae `UniqueID`. */\nexport function lineFields(value: unknown): Omit<QueueItem, 'paragraph'> | undefined {\n const line = node(value);\n const locator = attribute(line?.UniqueID, 'ID');\n if (line === undefined || locator === undefined) return undefined;\n const source = node(node(line.POS)?.Source);\n const agentSine = attribute(source, 'AgentSine');\n const pseudoCityCode = attribute(source, 'PseudoCityCode');\n const placedAt = element(line.DateTime);\n const primaryPassenger = element(line.PassengerName);\n const group = element(line.Group);\n return {\n locator,\n ...(placedAt === undefined ? {} : { placedAt }),\n ...(agentSine === undefined && pseudoCityCode === undefined\n ? {}\n : {\n placedBy: {\n ...(agentSine === undefined ? {} : { agentSine }),\n ...(pseudoCityCode === undefined ? {} : { pseudoCityCode }),\n },\n }),\n ...(primaryPassenger === undefined ? {} : { primaryPassenger }),\n ...(group === undefined ? {} : { group }),\n };\n}\n","// Transporte SOAP de `SabreLegacy`: sobre armado a mano, fetch, parseo y mapeo de errores.\n// Ver sabre-wiki/wiki/sdk/tier-3-sesion-y-colas-soap.md (puntos 4 y 6),\n// cliente-http-y-libreria-xml.md y respuesta-cruda-soap.md.\nimport { XMLParser } from 'fast-xml-parser';\nimport { definedOnly, type ResolvedConfig } from '../config.js';\nimport { SabreBusinessError, SabreGatewayError, SabreWarning } from '../errors/index.js';\nimport { EventLogger } from '../logging/logger.js';\nimport { REDACTED, redactSoapEnvelope } from '../logging/redact.js';\nimport { type RawRequestCapture, rawRequestHeaders, type SabreRawRequestCallback } from './raw-request.js';\nimport type { SabreRawResponseCallback } from './raw-response.js';\nimport { type RetryOptions, retryDelay, sleep, validateRetryOptions } from './retry.js';\n\n/**\n * Status HTTP transitorios cuando la respuesta no trae un sobre SOAP (proxy, balanceador).\n * Solo se reintentan en operaciones idempotentes.\n */\nconst TRANSIENT_STATUS = new Set([429, 500, 503, 504]);\n\n/**\n * \"Se excedió el máximo de requests concurrentes: esperar ≥ 500 ms y reintentar\". Se asume que\n * Sabre no procesó el request, así que se reintentan también en las operaciones que mueven el\n * cursor. Sin confirmar: se valida en la Fase 4.\n */\nexport const BUSY_CODES: ReadonlySet<string> = new Set(['USG_CONNECTOR_IS_BUSY', 'USG_IS_BUSY', 'USG_SERVICE_IS_BUSY']);\n\n/**\n * Los demás `USG_*` que el catálogo manda a \"esperar ≥ 500 ms y reintentar\". No dicen si el\n * request se procesó, así que solo se reintentan en operaciones idempotentes.\n * `USG_RESOURCE_UNAVAILABLE` (límite de sesiones) no está: no se reintenta.\n */\nconst TRANSIENT_CODES: ReadonlySet<string> = new Set([\n 'USG_SECURITY_ICE_ERROR',\n 'USG_SERVICE_PROVIDER_ERROR',\n 'USG_NO_RESPONSE_FROM_JMSRECEIVER_IN_TIME',\n 'SC_SERVICE_UNAVAILABLE',\n 'USG_COULD_NOT_COMPLETE_REQUEST',\n 'USG_IIOP_OBJECT_NOT_EXIST',\n 'USG_IIOP_TRANSIENT_EXCEPTION',\n 'USG_MOM_SERVICE_PROVIDER_INFRASTRUCTURE_ERROR',\n]);\n\n/** Esquema fijo que documenta Sabre: 3 reintentos con 1 s de intervalo, sin jitter. */\nexport const PREVIOUS_ENTRY_ACTIVE_RETRIES = 3;\nexport const PREVIOUS_ENTRY_ACTIVE_DELAY_MS = 1000;\nconst PREVIOUS_ENTRY_ACTIVE = /PREVIOUS ENTRY ACTIVE/i;\n\ntype RetryReason = 'busy' | 'previous-entry-active' | 'transient';\n\n/** Credencial del header `wsse:Security`. */\nexport type SoapSecurity =\n /** Token de sesión (ATH) o stateless (ATK). */\n | { binarySecurityToken: string }\n /** Credenciales de `SessionCreateRQ`. `clientId` y `clientSecret` solo van en la 2.0.0. */\n | {\n usernameToken: {\n username: string;\n password: string;\n organization: string;\n domain: string;\n clientId?: string;\n clientSecret?: string;\n };\n };\n\nexport interface SoapRequest {\n /** Nombre del servicio para errores y logs, p. ej. `'queueAccess'`. */\n service: string;\n /** `eb:Service` y `eb:Action`, p. ej. `'QueueAccessLLSRQ'`. */\n action: string;\n /** Payload del `soap-env:Body`, ya armado y escapado (ver `xmlEscape`). */\n payload: string;\n /** `eb:CPAId`: el PCC. */\n cpaId: string;\n /** `eb:ConversationId` de la sesión. */\n conversationId: string;\n security: SoapSecurity;\n /**\n * Si la operación se puede repetir sin efectos (`count`, `list`, `ping`). Las que mueven el\n * cursor de una cola van en `false`: nunca se reintentan ante un fallo de red.\n */\n idempotent: boolean;\n retry?: Partial<RetryOptions>;\n /** `true` para devolver el `BinarySecurityToken` de la respuesta (solo `SessionCreateRQ`). */\n readSecurityToken?: boolean;\n signal?: AbortSignal;\n /** Método público sin `legacy.`, p. ej. `'queue.access'`. Lo reciben `onRawResponse` y `onRawRequest`. */\n operation?: string;\n onRawResponse?: SabreRawResponseCallback;\n /**\n * No se llama con `usernameToken` (`SessionCreateRQ`): el sobre lleva `wsse:Password` y el\n * `ClientSecret`, y la regla de auth lo deja fuera (ADR-029).\n */\n onRawRequest?: SabreRawRequestCallback;\n}\n\nexport interface SoapResponse {\n /** Elemento hijo del `Body` (p. ej. `QueueAccessRS`), parseado y sin prefijos de namespace. */\n payload: Record<string, unknown>;\n /** Nombre local de ese elemento, p. ej. `'QueueAccessRS'`. */\n payloadName: string;\n /** Los `stl:Warning` de `stl:ApplicationResults`. */\n warnings: SabreWarning[];\n /** `eb:MessageId` de la respuesta, el dato que pide soporte de Sabre. */\n messageId: string | undefined;\n /** `eb:Timestamp` de la respuesta, en UTC con `Z` (ver `respondedAtOf`). */\n respondedAt: string | undefined;\n /** El sobre redactado, como `raw` de los errores que arme la operación al leer el payload. */\n raw: string;\n /** El `BinarySecurityToken` del header, solo con `readSecurityToken`. */\n securityToken: string | undefined;\n status: number;\n}\n\nexport interface SoapTransportOptions {\n /** Solo para tests: id del `eb:MessageId`. */\n messageId?: () => string;\n /** Solo para tests: reloj del `eb:Timestamp`. */\n now?: () => Date;\n /** Solo para tests: fuente de aleatoriedad del jitter. */\n random?: () => number;\n /** Solo para tests: espera entre reintentos. */\n sleep?: (ms: number, signal?: AbortSignal) => Promise<void>;\n}\n\n/**\n * Último intento con respuesta HTTP (`last`), para entregarlo una sola vez a `onRawResponse`, y\n * último sobre mandado (`request`), para `onRawRequest`.\n */\ninterface RawCapture {\n attempts: number;\n last?: { status: number; headers: Headers; body: string };\n request?: RawRequestCapture;\n}\n\nconst SOAP_HEADERS = { 'Content-Type': 'text/xml; charset=utf-8', Accept: 'text/xml' } as const;\n\ntype XmlNode = Record<string, unknown>;\n\n/**\n * Atributos con `@`, sin prefijos de namespace y todo como string: `\"011\"` y `\"....261\"`\n * llegan tal cual, para que cada servicio decida cómo leerlos.\n */\nconst PARSER_OPTIONS = {\n ignoreAttributes: false,\n attributeNamePrefix: '@',\n removeNSPrefix: true,\n parseTagValue: false,\n parseAttributeValue: false,\n processEntities: true,\n} as const;\nconst parser = new XMLParser(PARSER_OPTIONS);\n/** Igual, pero sin recortar los textos: solo para lo que depende de los espacios. */\nconst untrimmedParser = new XMLParser({ ...PARSER_OPTIONS, trimValues: false });\n\nexport class SoapTransport {\n readonly #config: ResolvedConfig;\n readonly #log: EventLogger;\n readonly #messageId: () => string;\n readonly #now: () => Date;\n readonly #random: () => number;\n readonly #sleep: (ms: number, signal?: AbortSignal) => Promise<void>;\n\n constructor(config: ResolvedConfig, options: SoapTransportOptions = {}) {\n this.#config = config;\n this.#log = new EventLogger(config.logger);\n this.#messageId = options.messageId ?? (() => globalThis.crypto.randomUUID());\n this.#now = options.now ?? (() => new Date());\n this.#random = options.random ?? Math.random;\n this.#sleep = options.sleep ?? sleep;\n }\n\n /** @internal Para los eventos de sesión que no son una request. */\n get log(): EventLogger {\n return this.#log;\n }\n\n async request(request: SoapRequest): Promise<SoapResponse> {\n if (request.retry !== undefined) validateRetryOptions(request.retry, 'retry');\n const capture: RawCapture = { attempts: 0 };\n try {\n return await this.#attempts(request, capture);\n } finally {\n // Una sola vez por operación: primero el último sobre que se mandó, aunque no haya tenido\n // respuesta, y después el último intento que tuvo respuesta HTTP.\n if (capture.request !== undefined) this.#deliverRawRequest(request, capture.request, capture.attempts);\n if (capture.last !== undefined) this.#deliverRaw(request, { ...capture.last, attempts: capture.attempts });\n }\n }\n\n /**\n * Dos presupuestos separados: el backoff genérico (`retry.maxRetries`, para `USG_*_BUSY` y\n * los transitorios) y el esquema fijo de `PREVIOUS ENTRY ACTIVE`, que no se ajusta a la config.\n */\n async #attempts(request: SoapRequest, capture: RawCapture): Promise<SoapResponse> {\n const retry = { ...this.#config.retry, ...definedOnly(request.retry ?? {}) };\n let generic = 0;\n let previousEntryActive = 0;\n for (let attempt = 0; ; attempt++) {\n try {\n return await this.#send(request, attempt, capture);\n } catch (error) {\n const reason = retryReason(error, request.idempotent);\n let delayMs: number;\n if (reason === 'previous-entry-active' && previousEntryActive < PREVIOUS_ENTRY_ACTIVE_RETRIES) {\n previousEntryActive++;\n delayMs = PREVIOUS_ENTRY_ACTIVE_DELAY_MS;\n } else if ((reason === 'busy' || reason === 'transient') && generic < retry.maxRetries) {\n delayMs = retryDelay(generic, retry.baseDelayMs, this.#random);\n generic++;\n } else {\n throw error;\n }\n this.#log.emit('warn', 'sabre.request.retry', {\n protocol: 'soap',\n service: request.service,\n action: request.action,\n attempt: attempt + 1,\n reason,\n delayMs,\n error: error as SabreGatewayError,\n });\n await this.#sleep(delayMs, request.signal);\n }\n }\n }\n\n async #send(request: SoapRequest, attempt: number, capture: RawCapture): Promise<SoapResponse> {\n const envelope = this.#envelope(request);\n const logContext = { protocol: 'soap', service: request.service, action: request.action, attempt };\n this.#log.emit('debug', 'sabre.request.start', logContext);\n const startedAt = Date.now();\n\n let response: Response;\n capture.attempts++;\n if (wantsRawRequest(request)) {\n // eb:MessageId y eb:Timestamp se generan en cada intento: se guarda el último sobre.\n capture.request = {\n method: 'POST',\n url: this.#config.soapBaseUrl,\n headers: rawRequestHeaders(SOAP_HEADERS),\n body: redactSoapEnvelope(scrubToken(envelope, request.security)),\n };\n }\n try {\n response = await this.#config.fetch(this.#config.soapBaseUrl, {\n method: 'POST',\n headers: SOAP_HEADERS,\n body: envelope,\n ...(request.signal === undefined ? {} : { signal: request.signal }),\n });\n } catch (cause) {\n if (isAbort(cause, request.signal)) throw cause;\n const error = new SabreGatewayError(`${request.service}: fallo de red (${describe(cause)})`, {\n protocol: 'soap',\n retryable: false,\n cause,\n });\n this.#log.emit('error', 'sabre.request.end', { ...logContext, durationMs: Date.now() - startedAt, error });\n throw error;\n }\n\n const original = await response.text();\n // Todo lo que sale del transporte (raw, errores, logs) se arma desde el texto redactado.\n const text = redactSoapEnvelope(scrubToken(original, request.security));\n capture.last = { status: response.status, headers: response.headers, body: text };\n\n const document = parseEnvelope(text);\n const messageId = stringAt(document?.Header, 'MessageHeader', 'MessageData', 'MessageId');\n const endContext = {\n ...logContext,\n status: response.status,\n durationMs: Date.now() - startedAt,\n ...(messageId === undefined ? {} : { messageId }),\n };\n\n try {\n const result = this.#classify(request, response, document, text);\n this.#log.emit('info', 'sabre.request.end', { ...endContext, warnings: result.warnings.length });\n return {\n ...result,\n messageId,\n respondedAt: respondedAtOf(text),\n raw: text,\n securityToken: request.readSecurityToken === true ? readSecurityToken(original) : undefined,\n status: response.status,\n };\n } catch (error) {\n const level = error instanceof SabreBusinessError ? 'warn' : 'error';\n this.#log.emit(level, 'sabre.request.end', { ...endContext, error });\n throw error;\n }\n }\n\n /** Orden de detección: fault (gateway), luego `stl:Error` (negocio), luego data. */\n #classify(\n request: SoapRequest,\n response: Response,\n document: { Header: unknown; Body: XmlNode } | undefined,\n text: string,\n ): Pick<SoapResponse, 'payload' | 'payloadName' | 'warnings'> {\n const { service } = request;\n if (document === undefined) {\n throw new SabreGatewayError(`${service}: HTTP ${response.status}, la respuesta no es un sobre SOAP`, {\n protocol: 'soap',\n status: response.status,\n retryable: false,\n raw: text,\n });\n }\n\n // Paso 1: SOAP fault (errores de `Transport` y `Validation`, y los `USG_*` del gateway).\n const fault = asNode(document.Body.Fault);\n if (fault !== undefined) throw faultError(service, response.status, fault, text);\n\n const [payloadName, payloadValue] = firstElement(document.Body);\n const payload = asNode(payloadValue);\n if (payloadName === undefined || payload === undefined) {\n throw new SabreGatewayError(`${service}: HTTP ${response.status}, el sobre SOAP no trae payload`, {\n protocol: 'soap',\n status: response.status,\n retryable: false,\n raw: text,\n });\n }\n if (!response.ok) {\n throw new SabreGatewayError(`${service}: HTTP ${response.status}`, {\n protocol: 'soap',\n status: response.status,\n retryable: false,\n raw: text,\n });\n }\n\n // Paso 3: `stl:ApplicationResults`. Los `stl:Warning` no lanzan.\n const results = asNode(payload.ApplicationResults);\n const warnings = asArray(results?.Warning).map((node) => {\n const entry = resultEntry(node);\n return new SabreWarning(`${service}: ${entry.description}`, { service, code: entry.code, raw: text });\n });\n const errors = asArray(results?.Error).map((node) => {\n const entry = resultEntry(node);\n return new SabreBusinessError(`${service}: ${entry.description}`, {\n service,\n code: entry.code,\n raw: text,\n retryable: PREVIOUS_ENTRY_ACTIVE.test(entry.description),\n });\n });\n const [first, ...rest] = errors;\n if (first !== undefined) {\n throw new SabreBusinessError(first.message, {\n service,\n code: first.code,\n raw: text,\n retryable: first.retryable,\n warnings,\n errors: rest,\n });\n }\n\n // Paso 4: data.\n return { payload, payloadName, warnings };\n }\n\n #envelope(request: SoapRequest): string {\n const timestamp = this.#now().toISOString().replace(/\\.\\d{3}Z$/, 'Z');\n return [\n '<?xml version=\"1.0\" encoding=\"UTF-8\"?>',\n '<soap-env:Envelope xmlns:soap-env=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:eb=\"http://www.ebxml.org/namespaces/messageHeader\">',\n '<soap-env:Header>',\n '<eb:MessageHeader soap-env:mustUnderstand=\"1\" eb:version=\"1.0\">',\n '<eb:From><eb:PartyId/></eb:From>',\n '<eb:To><eb:PartyId/></eb:To>',\n `<eb:CPAId>${xmlEscape(request.cpaId)}</eb:CPAId>`,\n `<eb:ConversationId>${xmlEscape(request.conversationId)}</eb:ConversationId>`,\n `<eb:Service>${xmlEscape(request.action)}</eb:Service>`,\n `<eb:Action>${xmlEscape(request.action)}</eb:Action>`,\n '<eb:MessageData>',\n `<eb:MessageId>mid:${xmlEscape(this.#messageId())}</eb:MessageId>`,\n `<eb:Timestamp>${timestamp}</eb:Timestamp>`,\n '</eb:MessageData>',\n '</eb:MessageHeader>',\n securityHeader(request.security),\n '</soap-env:Header>',\n `<soap-env:Body>${request.payload}</soap-env:Body>`,\n '</soap-env:Envelope>',\n ].join('');\n }\n\n /** Un callback que lanza no rompe la operación (mismo criterio que REST). */\n #deliverRawRequest(request: SoapRequest, raw: RawRequestCapture, attempts: number): void {\n const operation = request.operation ?? request.service;\n try {\n request.onRawRequest?.({ operation, protocol: 'soap', ...raw, attempts });\n } catch (error) {\n this.#log.emit('warn', 'sabre.request.rawRequestHookFailed', {\n service: request.service,\n operation,\n errorName: error instanceof Error ? error.name : typeof error,\n });\n }\n }\n\n /** Un callback que lanza no rompe la operación (mismo criterio que REST). */\n #deliverRaw(request: SoapRequest, raw: Required<RawCapture>['last'] & { attempts: number }): void {\n if (request.onRawResponse === undefined) return;\n const operation = request.operation ?? request.service;\n try {\n request.onRawResponse({ operation, protocol: 'soap', ...raw });\n } catch (error) {\n this.#log.emit('warn', 'sabre.request.rawResponseHookFailed', {\n service: request.service,\n operation,\n errorName: error instanceof Error ? error.name : typeof error,\n });\n }\n }\n}\n\n/** Escapa texto para un elemento o un atributo XML. */\n/**\n * `eb:Timestamp` del header de un sobre de respuesta, en ISO 8601 UTC: Sabre lo manda sin zona\n * (`\"2026-11-06T17:34:16\"`) y en UTC (comparado con `stl:Success@timeStamp`, que trae `Z`, en\n * CERT el 2026-11-06), así que se le agrega `Z`. Con una zona explícita queda tal cual. Si no\n * viene o no tiene forma de fecha y hora, `undefined`. Ver ADR-027 (C1).\n */\nexport function respondedAtOf(raw: unknown): string | undefined {\n if (typeof raw !== 'string') return undefined;\n const header = /<(?:[\\w-]+:)?Header\\b[\\s\\S]*?<\\/(?:[\\w-]+:)?Header>/.exec(raw)?.[0];\n const value = header === undefined ? undefined : /<(?:[\\w-]+:)?Timestamp>\\s*([^<\\s]+)\\s*</.exec(header)?.[1];\n const match = value === undefined ? null : /^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?)?)(Z|[+-]\\d{2}:\\d{2})?$/.exec(value);\n if (match === null) return undefined;\n return `${match[1]}${match[2] ?? 'Z'}`;\n}\n\n/** `{ respondedAt }` si el sobre lo trae; si no, nada (`exactOptionalPropertyTypes`). */\nexport function respondedAtField(raw: unknown): { respondedAt?: string } {\n const respondedAt = respondedAtOf(raw);\n return respondedAt === undefined ? {} : { respondedAt };\n}\n\nexport function xmlEscape(value: string): string {\n return value\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\nfunction securityHeader(security: SoapSecurity): string {\n const open = '<wsse:Security xmlns:wsse=\"http://schemas.xmlsoap.org/ws/2002/12/secext\">';\n if ('binarySecurityToken' in security) {\n return `${open}<wsse:BinarySecurityToken valueType=\"String\" EncodingType=\"wsse:Base64Binary\">${xmlEscape(security.binarySecurityToken)}</wsse:BinarySecurityToken></wsse:Security>`;\n }\n const token = security.usernameToken;\n return [\n open,\n '<wsse:UsernameToken>',\n `<wsse:Username>${xmlEscape(token.username)}</wsse:Username>`,\n `<wsse:Password>${xmlEscape(token.password)}</wsse:Password>`,\n `<Organization>${xmlEscape(token.organization)}</Organization>`,\n `<Domain>${xmlEscape(token.domain)}</Domain>`,\n token.clientId === undefined ? '' : `<ClientId>${xmlEscape(token.clientId)}</ClientId>`,\n token.clientSecret === undefined ? '' : `<ClientSecret>${xmlEscape(token.clientSecret)}</ClientSecret>`,\n '</wsse:UsernameToken>',\n '</wsse:Security>',\n ].join('');\n}\n\n/**\n * Tapa el token que mandó el SDK donde sea que Sabre lo repita (p. ej. dentro de un\n * `faultstring`), en texto plano o escapado. El `BinarySecurityToken` del header lo tapa\n * después `redactSoapEnvelope`.\n */\n/** `onRawRequest` solo con token de sesión: el sobre de `SessionCreateRQ` es la credencial. */\nfunction wantsRawRequest(request: SoapRequest): boolean {\n return request.onRawRequest !== undefined && 'binarySecurityToken' in request.security;\n}\n\nfunction scrubToken(text: string, security: SoapSecurity): string {\n if (!('binarySecurityToken' in security) || security.binarySecurityToken === '') return text;\n const token = security.binarySecurityToken;\n return text.split(token).join(REDACTED).split(xmlEscape(token)).join(REDACTED);\n}\n\nfunction parseEnvelope(text: string, xmlParser = parser): { Header: unknown; Body: XmlNode } | undefined {\n if (text.trim() === '') return undefined;\n let parsed: unknown;\n try {\n parsed = xmlParser.parse(text);\n } catch {\n return undefined;\n }\n const envelope = asNode(asNode(parsed)?.Envelope);\n const body = asNode(envelope?.Body);\n if (envelope === undefined || body === undefined) return undefined;\n return { Header: envelope.Header, Body: body };\n}\n\n/** Lee el token del texto original, antes de redactar. Solo para `SessionCreateRS`. */\nfunction readSecurityToken(original: string): string | undefined {\n const document = parseEnvelope(original);\n const token = stringAt(document?.Header, 'Security', 'BinarySecurityToken');\n return token === undefined || token.trim() === '' ? undefined : token.trim();\n}\n\n/**\n * `USG_*` dentro del fault, best-effort: ninguna fuente dice en qué campo viaja. Se busca en\n * `faultcode`, `faultstring` y `detail`, y si no aparece se usa el `faultcode`. Se confirma\n * con la primera sesión real (#95).\n */\nconst USG_CODE = /\\bUSG_[A-Z0-9_]+\\b/;\n\nfunction faultError(service: string, status: number, fault: XmlNode, text: string): SabreGatewayError {\n const faultcode = textOf(fault.faultcode);\n const faultstring = textOf(fault.faultstring);\n const haystack = [faultcode, faultstring, JSON.stringify(fault.detail ?? '')].join(' ');\n const code = USG_CODE.exec(haystack)?.[0] ?? faultcode;\n const detail = [faultcode, faultstring].filter((part) => part !== undefined && part !== '').join(': ');\n // `retryable: true` solo para `USG_*_BUSY` y `PREVIOUS ENTRY ACTIVE` (decisiones 4 y 5).\n const retryable = (code !== undefined && BUSY_CODES.has(code)) || PREVIOUS_ENTRY_ACTIVE.test(haystack);\n return new SabreGatewayError(`${service}: SOAP fault${detail === '' ? '' : ` ${detail}`}`, {\n protocol: 'soap',\n status,\n retryable,\n raw: text,\n ...(code === undefined || code === '' ? {} : { code }),\n });\n}\n\n/**\n * Un `stl:Error` o `stl:Warning`: `code` es el primer `Message@code`, o el primer `ShortText` si\n * no viene (las respuestas reales traen el `ERR.SWS.*` ahí, #96), o el `type`. La descripción junta\n * los textos de `Message` con el `ShortText`.\n */\nfunction resultEntry(node: unknown): { code: string; description: string } {\n const entry = asNode(node) ?? {};\n const messages: string[] = [];\n const shortTexts: string[] = [];\n let code: string | undefined;\n for (const results of asArray(entry.SystemSpecificResults)) {\n const resultsNode = asNode(results) ?? {};\n for (const message of asArray(resultsNode.Message)) {\n code ??= nonEmpty(asNode(message)?.['@code']);\n const value = textOf(message);\n if (value !== undefined && value !== '') messages.push(value);\n }\n for (const shortText of asArray(resultsNode.ShortText)) {\n const value = textOf(shortText);\n if (value !== undefined && value !== '') shortTexts.push(value);\n }\n }\n const type = nonEmpty(entry['@type']);\n const description = [\n messages.join(' / ') || type || 'sin detalle',\n ...shortTexts.filter((short) => !messages.includes(short)).map((short) => `(${short})`),\n ].join(' ');\n return { code: code ?? shortTexts[0] ?? type ?? 'UNKNOWN', description };\n}\n\n/**\n * Por qué se puede reintentar un error, según la idempotencia de la operación. Ver\n * tier-3-sesion-y-colas-soap.md (punto 5) y politica-de-reintentos-y-backoff.md.\n */\nfunction retryReason(error: unknown, idempotent: boolean): RetryReason | undefined {\n if ((error instanceof SabreBusinessError || error instanceof SabreGatewayError) && PREVIOUS_ENTRY_ACTIVE.test(error.message)) {\n return 'previous-entry-active';\n }\n if (!(error instanceof SabreGatewayError) || error.protocol !== 'soap') return undefined;\n if (error.code !== undefined && BUSY_CODES.has(error.code)) return 'busy';\n // Lo que sigue pudo haber llegado a Sabre: solo se repite si la operación es idempotente.\n if (!idempotent) return undefined;\n if (error.code !== undefined) return TRANSIENT_CODES.has(error.code) ? 'transient' : undefined;\n // Sin código: un fallo de red (sin status) o una respuesta sin sobre SOAP.\n if (error.status === undefined || TRANSIENT_STATUS.has(error.status)) return 'transient';\n return undefined;\n}\n\n/**\n * El payload del `Body` de `raw` con los textos tal cual, sin recortar espacios ni saltos de\n * línea. Para las pantallas de host (`SabreCommandLLSRS`), que van alineadas por columna: el\n * parser compartido recorta y desalinea la primera línea.\n */\nexport function untrimmedPayload(raw: string): Record<string, unknown> | undefined {\n const document = parseEnvelope(raw, untrimmedParser);\n return document === undefined ? undefined : asNode(firstElement(document.Body)[1]);\n}\n\nfunction firstElement(node: XmlNode): [string | undefined, unknown] {\n for (const [key, value] of Object.entries(node)) {\n if (!key.startsWith('@') && key !== '#text') return [key, Array.isArray(value) ? value[0] : value];\n }\n return [undefined, undefined];\n}\n\nfunction asNode(value: unknown): XmlNode | undefined {\n if (Array.isArray(value)) return asNode(value[0]);\n return typeof value === 'object' && value !== null ? (value as XmlNode) : undefined;\n}\n\nexport function asArray(value: unknown): unknown[] {\n if (value === undefined || value === null || value === '') return [];\n return Array.isArray(value) ? value : [value];\n}\n\n/** Texto de un elemento: un string, o el `#text` de un elemento con atributos. */\nexport function textOf(value: unknown): string | undefined {\n if (typeof value === 'string') return value;\n const node = asNode(value);\n const text = node?.['#text'];\n return typeof text === 'string' ? text : node === undefined ? undefined : '';\n}\n\nfunction stringAt(root: unknown, ...path: string[]): string | undefined {\n let node: unknown = root;\n for (const key of path) node = asNode(node)?.[key];\n return nonEmpty(textOf(node));\n}\n\nfunction nonEmpty(value: unknown): string | undefined {\n return typeof value === 'string' && value !== '' ? value : undefined;\n}\n\nfunction isAbort(error: unknown, signal: AbortSignal | undefined): boolean {\n return signal?.aborted === true || (error instanceof Error && error.name === 'AbortError');\n}\n\nfunction describe(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\n","// Referencia a una cola de PNR, la misma en la entrada y en la salida. Ver\n// sabre-wiki/wiki/sdk/tier-3-sesion-y-colas-soap.md (punto 2 y decisiones de la revisión) y\n// wiki/sources/ingresar-a-una-cola.md.\nimport { xmlEscape } from '../http/soap-transport.js';\n\n/**\n * Una cola (ADR-028). Hay tres clases, y viajan por dos atributos distintos de `QueueIdentifier`:\n * - **numérica**, de 0 a 511: `400` → `Number=\"400\"`;\n * - **alfabética**, una o dos letras mayúsculas: `'S'` → `Number=\"S\"`. La `S` es la cola de\n * **mensajes** del PCC (cuenta lo mismo que `Totals Type=\"MESSAGES\"`): no tiene PNR y no se puede\n * listar;\n * - **con nombre** (tablas QN y QNB): `{ name: 'HOTELS' }` → `Name=\"HOTELS\"`.\n *\n * Lo que devuelve `queue.count` se pasa tal cual a las demás operaciones. Las colas 0–49 son del\n * sistema: el SDK no las restringe.\n */\nexport type QueueRef = number | string | { name: string };\n\n/** Primera y última cola numérica de un PCC. */\nexport const MIN_QUEUE_NUMBER = 0;\nexport const MAX_QUEUE_NUMBER = 511;\n\n/** La cola de mensajes del PCC: no tiene PNR y Sabre no la lista (`INVALID ENTRY`). */\nexport const MESSAGE_QUEUE = 'S';\n\n/**\n * Una cola alfabética: una o dos letras mayúsculas. Es una regla laxa a propósito: la documentación\n * solo muestra `S` y `A`, y no se sabe si hay colas de dos letras (ADR-028).\n */\nconst ALPHA_QUEUE = /^[A-Z]{1,2}$/;\n\nfunction fail(message: string): never {\n throw new TypeError(`sabre-client: ${message}`);\n}\n\n/** Valida una `QueueRef` de la entrada, sin red. `label` es el nombre del campo en el mensaje. */\nexport function validateQueueRef(value: unknown, label: string): asserts value is QueueRef {\n if (typeof value === 'number') {\n if (Number.isInteger(value) && value >= MIN_QUEUE_NUMBER && value <= MAX_QUEUE_NUMBER) return;\n fail(`${label} debe ser un número de cola entero de ${MIN_QUEUE_NUMBER} a ${MAX_QUEUE_NUMBER}, una cola alfabética ('S') o { name }`);\n }\n if (typeof value === 'string') {\n if (ALPHA_QUEUE.test(value)) return;\n // Cada cola tiene una sola forma: '12' no se convierte en 12, ni 's' en 'S' (ADR-028).\n if (/^\\d+$/.test(value.trim())) fail(`${label}: una cola numérica va como número (${Number(value)}), no como string`);\n fail(`${label} debe ser una cola alfabética de una o dos letras mayúsculas (p. ej. 'S')`);\n }\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n const { name } = value as { name?: unknown };\n if (typeof name !== 'string' || name.trim() === '') fail(`${label}.name debe ser un string no vacío`);\n // Un { name } de una o dos letras es casi seguro una cola alfabética mal armada, p. ej. el\n // { name: 'S' } que devolvía count en la 0.4.x: Sabre lo rechaza con INVALID QUEUE NAME FORMAT.\n // Ninguna fuente confirma que no existan colas con nombre tan cortas: si aparece una, se afloja\n // esta regla, y eso no rompe la compatibilidad (ADR-028, sub-decisión ii).\n if (ALPHA_QUEUE.test(name)) fail(`${label}: '${name}' es una cola alfabética: pasa '${name}', no { name: '${name}' }`);\n return;\n }\n fail(`${label} debe ser un número de cola (0–511), una cola alfabética ('S') o { name }`);\n}\n\n/** Atributo de `QueueIdentifier`: `Number=\"12\"`, `Number=\"S\"` o `Name=\"HOTELS\"`, ya escapado. */\nexport function queueRefAttribute(queue: QueueRef): string {\n if (typeof queue === 'number') return `Number=\"${queue}\"`;\n if (typeof queue === 'string') return `Number=\"${xmlEscape(queue)}\"`;\n return `Name=\"${xmlEscape(queue.name)}\"`;\n}\n\n/** Si la cola es la de mensajes (`'S'`). */\nexport function isMessageQueue(queue: QueueRef): boolean {\n return queue === MESSAGE_QUEUE;\n}\n\n/**\n * Lee el `Number` de una respuesta (`QueueCountRS`, `QueuePlaceRS`, `QueueAnalysisRS`): `\"12\"` da\n * `12`, y `\"S\"`, `'S'`. Devuelve `undefined` si viene vacío. Un `Number` que no es ni numérico ni\n * alfabético sale tal cual, como string: es lo que mandó Sabre.\n */\nexport function toQueueRef(value: string | undefined): QueueRef | undefined {\n const text = value?.trim();\n if (text === undefined || text === '') return undefined;\n return /^\\d+$/.test(text) ? Number(text) : text;\n}\n","// Place Queue Message (`QueuePlaceLLSRQ` 2.0.4): colocar PNR en colas. Ver\n// sabre-wiki/wiki/sdk/tier-3-sesion-y-colas-soap.md (punto 2, \"place\"),\n// wiki/sources/place-queue-message-v2-0-4-design.md y wiki/sources/sabre-legacy-client-1-0-8.md.\nimport type { RequestOptions } from '../air/bargain-finder-max.js';\nimport { SabreGatewayError, type SabreWarning } from '../errors/index.js';\nimport { asArray, respondedAtField, type SoapResponse, xmlEscape } from '../http/soap-transport.js';\nimport type { SessionRequest } from '../session/session.js';\nimport {\n attribute,\n endStep,\n isEndOfDisplay,\n isEndOfDisplayResult,\n node,\n type QueueStep,\n textLines,\n} from './queue-access.js';\nimport { type QueueRef, queueRefAttribute, toQueueRef } from './queue-ref.js';\n\nexport const QUEUE_PLACE_SERVICE = 'queuePlace';\nconst NAMESPACE = 'http://webservices.sabre.com/sabreXML/2011/10';\n\n/** Límites del design 2.0.4: hasta 10 colas y hasta 6 localizadores. */\nexport const MAX_PLACE_TO = 10;\nexport const MAX_PLACE_LOCATORS = 6;\n\n/** Rangos de PIC válidos (`PrefatoryInstructionCode`), según el artículo de selección de colas. */\nconst INSTRUCTION_CODE_RANGES: ReadonlyArray<readonly [number, number]> = [\n [0, 191],\n [200, 254],\n];\n\n/** Una cola de destino. */\nexport interface QueuePlaceTarget {\n queue: QueueRef;\n /** Por defecto, el PCC de la sesión. */\n pcc?: string;\n /**\n * Código PIC (`PrefatoryInstructionCode`): 0–191 o 200–254. **Obligatorio**, aunque el design\n * 2.0.4 lo da como opcional: sin PIC, producción rechaza el place con `INSTRUCTION NUMBER NOT IN\n * RANGE` fuera de una cola y con `NEED INSTRUCTION NUMBER` dentro (#97). Sin valor por defecto.\n */\n instructionCode: number;\n}\n\nexport interface QueuePlaceRequest {\n /** De 1 a 10 colas de destino. */\n to: readonly QueuePlaceTarget[];\n /**\n * Hasta 6 localizadores a colocar, sin tenerlos en el AAA. Solo fuera de una cola: dentro,\n * `place` coloca el PNR actual.\n */\n locators?: readonly string[];\n}\n\nexport type QueuePlaceOptions = RequestOptions;\n\n/** Una colocación que confirma Sabre (`QueueInfo`). */\nexport interface QueuePlacement {\n queue?: QueueRef;\n pcc?: string;\n locator?: string;\n /** `QueueInfo@DateTime` tal cual, sin año (`\"12-21T12:00\"`). */\n placedAt?: string;\n}\n\n/** Lo que devuelve `place` fuera de una cola: no avanza nada. */\nexport interface QueuePlaceResult {\n /** Las colocaciones de `QueueInfo`, si Sabre las manda. */\n placements: QueuePlacement[];\n /** Las líneas `Text`, tal cual (p. ej. `\"OK 1030 NMIUTF\"`). */\n text: string[];\n warnings: SabreWarning[];\n /**\n * `eb:Timestamp` de la respuesta de Sabre, en ISO 8601 UTC (`\"2026-11-06T17:34:16Z\"`). A\n * diferencia de las fechas del host, trae año y zona. Falta si Sabre no lo manda.\n */\n respondedAt?: string;\n}\n\n/**\n * Lo que devuelve `place`: un `QueueStep` dentro de una cola, y un `QueuePlaceResult` fuera. Se\n * distinguen con `'done' in result`. Con `locators`, el tipo ya es `QueuePlaceResult`.\n */\nexport type QueuePlaceResponse = QueueStep | QueuePlaceResult;\n\n/** Destino ya validado, con el PCC resuelto. */\nexport interface ResolvedPlaceTarget {\n queue: QueueRef;\n pcc: string;\n instructionCode?: number;\n}\n\n/** Si un PIC está en los rangos válidos. */\nexport function isInstructionCode(value: unknown): value is number {\n return (\n typeof value === 'number' &&\n Number.isInteger(value) &&\n INSTRUCTION_CODE_RANGES.some(([min, max]) => value >= min && value <= max)\n );\n}\n\nexport function queuePlacePayload(to: readonly ResolvedPlaceTarget[], locators: readonly string[] = []): string {\n const identifiers = to\n .map((target) => {\n const pic = target.instructionCode === undefined ? '' : ` PrefatoryInstructionCode=\"${target.instructionCode}\"`;\n return `<QueueIdentifier ${queueRefAttribute(target.queue)}${pic} PseudoCityCode=\"${xmlEscape(target.pcc)}\"/>`;\n })\n .join('');\n const ids = locators.map((locator) => `<UniqueID ID=\"${xmlEscape(locator)}\"/>`).join('');\n return `<QueuePlaceRQ Version=\"2.0.4\" xmlns=\"${NAMESPACE}\"><QueueInfo>${identifiers}${ids}</QueueInfo></QueuePlaceRQ>`;\n}\n\n/** Colocar no es idempotente: dentro de una cola mueve el cursor, y fuera repetiría la colocación. */\nexport function queuePlaceRequest(payload: string, options: QueuePlaceOptions): SessionRequest {\n return {\n service: QUEUE_PLACE_SERVICE,\n action: 'QueuePlaceLLSRQ',\n payload,\n idempotent: false,\n operation: 'queue.place',\n ...options,\n };\n}\n\n/**\n * Línea de firma del PNR, al final del texto: `<PCC>.<PCC>*<agente> HHMM/DDMMMYY <localizador> H`,\n * p. ej. `7TZA.7TZA*AW5 0319/06SEP24 NGDEZP H`.\n */\nconst SIGNATURE_LINE = /\\s\\d{4}\\/\\d{2}[A-Z]{3}\\d{2}\\s+([A-Z0-9]{6})\\s+H\\s*$/;\n\n/** El localizador de la última línea de firma del texto, si hay una. */\nexport function signatureLocator(lines: readonly string[]): string | undefined {\n for (let index = lines.length - 1; index >= 0; index--) {\n const match = SIGNATURE_LINE.exec(lines[index] ?? '');\n if (match !== null) return match[1];\n }\n return undefined;\n}\n\n/** El fin de cola de `place`: como `stl:Warning` (evidencia de `1.0.8`) o como primera línea. */\nfunction isEnd(response: SoapResponse, text: readonly string[]): boolean {\n return response.warnings.some(isEndOfDisplayResult) || isEndOfDisplay(text.find((line) => line.trim() !== ''));\n}\n\n/**\n * Dentro de una cola, `QueuePlaceRS` trae el PNR siguiente en `Text` y no trae `Line`: el\n * localizador sale de la línea de firma, y `placedAt` y `placedBy` quedan en `undefined`, porque\n * esa firma es la última modificación del PNR y no su colocación en la cola.\n */\nexport function parsePlaceStep(response: SoapResponse): QueueStep {\n const text = textLines(response.raw, 'QueuePlaceRS');\n if (isEnd(response, text)) return endStep(response.warnings, 'end-of-display', response.raw);\n const locator = signatureLocator(text);\n if (locator === undefined) {\n throw new SabreGatewayError(`${QUEUE_PLACE_SERVICE}: respuesta no reconocida (sin línea de firma del PNR ni fin de cola)`, {\n protocol: 'soap',\n status: response.status,\n retryable: false,\n raw: response.raw,\n });\n }\n return { done: false, kind: 'pnr', item: { locator, paragraph: text }, warnings: response.warnings, ...respondedAtField(response.raw) };\n}\n\n/**\n * Lo que `place` puede leer con la sesión en `'unknown'`: un fin de cola, un PNR con línea de\n * firma (seguía en la cola) o, si no, un `QueuePlaceResult`.\n */\nexport function parsePlaceUnknown(response: SoapResponse): QueuePlaceResponse {\n const text = textLines(response.raw, 'QueuePlaceRS');\n if (isEnd(response, text) || signatureLocator(text) !== undefined) return parsePlaceStep(response);\n return parsePlaceResult(response);\n}\n\n/** Fuera de una cola: las colocaciones de `QueueInfo` y el texto. */\nexport function parsePlaceResult(response: SoapResponse): QueuePlaceResult {\n const placements = asArray(response.payload.QueueInfo).map((info): QueuePlacement => {\n const identifier = node(node(info)?.QueueIdentifier);\n // `Number` es alfanumérico (\"400\" o \"S\"); `Name` es siempre un nombre.\n const number = attribute(identifier, 'Number');\n const name = attribute(identifier, 'Name');\n const queue: QueueRef | undefined = number !== undefined ? toQueueRef(number) : name !== undefined ? { name } : undefined;\n const pcc = attribute(identifier, 'PseudoCityCode');\n const locator = attribute(node(info)?.UniqueID, 'ID');\n const placedAt = attribute(info, 'DateTime');\n return {\n ...(queue === undefined ? {} : { queue }),\n ...(pcc === undefined ? {} : { pcc }),\n ...(locator === undefined ? {} : { locator }),\n ...(placedAt === undefined ? {} : { placedAt }),\n };\n });\n return {\n placements,\n text: textLines(response.raw, 'QueuePlaceRS'),\n warnings: response.warnings,\n ...respondedAtField(response.raw),\n };\n}\n","// Anonimización de las respuestas de colas grabadas (la regla de #96, ADR-018), la misma que usan\n// los scripts que graban fixtures. Exportada para que los consumidores no la repitan (ADR-027, D1).\n// Solo Web Standard APIs: corre en cualquier runtime.\n\n/** Qué dato real quedó en un texto: lo que devuelve `Anonymizer.leaks`. */\nexport type AnonymizerLeak = 'secreto' | 'localizador' | 'nombre' | 'línea del PNR' | 'token';\n\nexport interface AnonymizerOptions {\n /**\n * Valores que nunca deben quedar: credenciales, usuario, PCC. Cada uno pasa a `XXXX` donde\n * aparezca. Se ignoran los que no son string o tienen menos de 3 caracteres.\n */\n secrets?: ReadonlyArray<string | undefined>;\n}\n\n/**\n * Una anonimización con memoria: el mismo localizador da siempre el mismo alias y el mismo\n * pasajero el mismo nombre falso, en todos los textos que pasen por ella. Una por grabación.\n */\nexport interface Anonymizer {\n /**\n * Un sobre SOAP o cualquier texto con su XML (también un JSON con XML adentro):\n * - cada `UniqueID@ID` pasa a un alias (`AAAAAA`, `AAAAAB`…), y el localizador real se reemplaza\n * por su alias en todo el texto;\n * - `PassengerName` a `PASAJERO/UNO`, `PASAJERO/DOS`…, y `Group` a `GRUPO`;\n * - `AgentSine` a `AAA` (salvo `SABRE`), `PseudoCityCode` a `XXXX` y `LNIATA` a `XXXXXX`;\n * - cada `<Text>` pasa por `maskLine`;\n * - los `secrets`, a `XXXX`.\n */\n anonymize(text: string): string;\n /**\n * Una línea del PNR en formato de host. Las de la lista blanca (`isSafeHostLine`) quedan tal\n * cual; en las demás, letras a `X` y dígitos a `9`. La cabecera `QUEUE LIST FOR <PCC>` solo\n * tapa el PCC, y `RECEIVED FROM - ` conserva el prefijo. La línea de firma\n * (`… HHMM/DDMMMYY <localizador> H`) conserva su forma, y el localizador solo si ya es un alias:\n * de ella sale el localizador del PNR siguiente en `place` dentro de una cola. Llamarla después\n * de dar alias a los localizadores.\n */\n maskLine(line: string): string;\n /** `maskLine` sobre cada línea de un párrafo, p. ej. `QueueItem.paragraph`. */\n maskParagraph(lines: readonly string[]): string[];\n /** El alias de un localizador: lo asigna la primera vez, en orden (`AAAAAA`, `AAAAAB`…). */\n aliasOf(locator: string): string;\n /**\n * Qué datos reales siguen en `text`, sin repetir: un `secret`, un localizador o un nombre que ya\n * tienen alias, una línea del PNR que se enmascaró, o un token de sesión. Vacío si no queda\n * ninguno. Sirve para no escribir una fixture que todavía trae datos reales.\n */\n leaks(text: string): AnonymizerLeak[];\n}\n\nconst NAMES = ['UNO', 'DOS', 'TRES', 'CUATRO', 'CINCO', 'SEIS', 'SIETE', 'OCHO', 'NUEVE', 'DIEZ'];\n\n/** Líneas de un PNR en formato de host que quedan tal cual: no traen datos del pasajero. */\nconst SAFE_LINES: readonly RegExp[] = [\n /^\\s*$/,\n // Aviso PIC: 011 SEE REMARKS. Sin dígitos después del número: una línea de `list`\n // (`100 ABC123 PLT MAM 01JUN26 1948`) también empieza con 3 dígitos y trae el sine.\n /^\\s*\\d{3}\\s{2,}[A-Z][A-Z ,./-]*$/,\n /^\\s*END OF DISPLAY FOR REQUESTED DATA\\s*$/,\n /^\\s*(TKT\\/TIME LIMIT|PHONES|REMARKS|ADDRESS|INVOICED|GENERAL FACTS|[A-Z0-9]{2} FACTS|NO ITIN)\\s*$/,\n /^\\s*PASSENGER EMAIL DATA EXISTS\\s+\\*PE TO DISPLAY ALL\\s*$/,\n];\n\n/**\n * Si una línea del PNR en formato de host queda tal cual al anonimizar: está en la lista blanca de\n * #96 (líneas vacías, avisos PIC como `011 SEE REMARKS`, títulos de sección como `REMARKS`, el fin\n * de cola).\n */\nexport function isSafeHostLine(line: string): boolean {\n return SAFE_LINES.some((pattern) => pattern.test(line));\n}\n\nconst ENTITIES: Record<string, string> = { amp: '&', lt: '<', gt: '>', quot: '\"', apos: \"'\" };\nconst decode = (text: string) => text.replace(/&(amp|lt|gt|quot|apos);/g, (_, entity: string) => ENTITIES[entity] ?? '');\nconst encode = (text: string) => text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');\nconst masked = (text: string) => text.replace(/\\p{L}/gu, 'X').replace(/\\p{N}/gu, '9');\n\n/** Ver `Anonymizer`. */\nexport function createAnonymizer(options: AnonymizerOptions = {}): Anonymizer {\n const secrets = (options.secrets ?? [])\n .filter((value): value is string => typeof value === 'string' && value.length >= 3)\n .sort((a, b) => b.length - a.length);\n const redactSecrets = (text: string) => secrets.reduce((value, secret) => value.split(secret).join('XXXX'), text);\n const locatorAliases = new Map<string, string>();\n const realNames = new Map<string, string>();\n const maskedLines = new Set<string>();\n\n const aliasOf = (locator: string): string => {\n let alias = locatorAliases.get(locator);\n if (alias === undefined) {\n const n = locatorAliases.size;\n // Base 26 en cuatro letras: `AAAAAA`, `AAAAAB`… y sigue en letras después del 676 (`AAABAA`).\n const letters = [17576, 676, 26, 1].map((size) => String.fromCharCode(65 + (Math.floor(n / size) % 26))).join('');\n alias = `AA${letters}`;\n locatorAliases.set(locator, alias);\n }\n return alias;\n };\n const fakeName = (name: string): string => {\n let fake = realNames.get(name);\n if (fake === undefined) {\n fake = `PASAJERO/${NAMES[realNames.size] ?? realNames.size + 1}`;\n realNames.set(name, fake);\n }\n return fake;\n };\n\n function anonymizeLine(line: string): string {\n if (isSafeHostLine(line)) return line;\n const header = /^(\\s*QUEUE LIST FOR )\\S+(\\s+QUEUE )(\\S+)\\s*$/.exec(line);\n if (header !== null) return `${header[1]}XXXX${header[2]}${header[3]}`;\n const received = /^(\\s*RECEIVED FROM - )(.*)$/.exec(line);\n const signature = /^(.*\\s)(\\d{4}\\/\\d{2}[A-Z]{3}\\d{2})(\\s+)([A-Z0-9]{6})(\\s+H\\s*)$/.exec(line);\n const aliases = new Set(locatorAliases.values());\n let result: string;\n if (received !== null) {\n result = `${received[1]}${masked(received[2] ?? '')}`;\n } else if (signature !== null) {\n const [, before = '', stamp = '', gap = '', locator = '', end = ''] = signature;\n result = `${masked(before)}${masked(stamp)}${gap}${aliases.has(locator) ? locator : masked(locator)}${end}`;\n } else {\n result = masked(line);\n }\n if (line.trim().length >= 4 && result.trim() !== line.trim()) maskedLines.add(line.trim());\n return result;\n }\n\n function anonymize(body: string): string {\n let text = String(body).replace(\n /(<(?:\\w+:)?UniqueID\\b[^>]*\\bID=\")([^\"]+)(\")/g,\n (_, a: string, locator: string, b: string) => `${a}${aliasOf(locator)}${b}`,\n );\n for (const [locator, alias] of locatorAliases) text = text.split(locator).join(alias);\n text = text.replace(\n /(<(?:\\w+:)?PassengerName>)([^<]*)(<\\/)/g,\n (_, a: string, name: string, b: string) => `${a}${fakeName(decode(name))}${b}`,\n );\n text = text.replace(/(<(?:\\w+:)?Group>)([^<]*)(<\\/)/g, (_, a: string, value: string, b: string) =>\n value === '' ? `${a}${b}` : `${a}GRUPO${b}`,\n );\n text = text.replace(/(\\bAgentSine=\")([^\"]*)(\")/g, (_, a: string, sine: string, b: string) =>\n `${a}${sine === 'SABRE' ? sine : 'AAA'}${b}`,\n );\n text = text.replace(/(\\bPseudoCityCode=\")([^\"]*)(\")/g, '$1XXXX$3');\n // La dirección de la terminal (`stl:HostCommand@LNIATA`, en `session.command()`).\n text = text.replace(/(\\bLNIATA=\")([^\"]*)(\")/g, '$1XXXXXX$3');\n text = text.replace(\n /(<(?:\\w+:)?Text\\b[^>/]*>)([\\s\\S]*?)(<\\/(?:\\w+:)?Text>)/g,\n (_, a: string, line: string, b: string) => `${a}${encode(anonymizeLine(decode(line)))}${b}`,\n );\n return redactSecrets(text);\n }\n\n const maskLine = (line: string) => redactSecrets(anonymizeLine(line));\n\n function leaks(text: string): AnonymizerLeak[] {\n const found: AnonymizerLeak[] = [\n ...secrets.filter((secret) => text.includes(secret)).map((): AnonymizerLeak => 'secreto'),\n ...[...locatorAliases.keys()].filter((locator) => text.includes(locator)).map((): AnonymizerLeak => 'localizador'),\n ...[...realNames.keys()]\n .filter((realName) => realName.length >= 3 && text.includes(realName))\n .map((): AnonymizerLeak => 'nombre'),\n ...[...maskedLines].filter((line) => text.includes(line)).map((): AnonymizerLeak => 'línea del PNR'),\n ...(/IceSess|Shared\\/IDL/.test(text) ? (['token'] as const) : []),\n ];\n return [...new Set(found)];\n }\n\n return {\n anonymize,\n maskLine,\n maskParagraph: (lines) => lines.map(maskLine),\n aliasOf,\n leaks,\n };\n}\n","// De una corrida grabada a los PNR del fake de colas (#166, ADR-027 D2): lee las respuestas con el\n// parseo del SDK, así el consumidor no tiene que leer el XML por su cuenta.\nimport { asArray, untrimmedPayload } from '../http/soap-transport.js';\nimport { attribute, isEndOfDisplay, lineFields, textLines } from '../queue/queue-access.js';\nimport { signatureLocator } from '../queue/queue-place.js';\nimport type { RecordedFixture } from './fixtures.js';\nimport type { QueueFakePnr } from './queue-fake.js';\n\n/** Las operaciones cuyas respuestas traen PNR de una cola. */\nconst QUEUE_OPERATION = /^queue\\.(list|access|ignore|remove|place)$/;\n\n/**\n * Los PNR de una corrida grabada, listos para `createQueueFake`: primero los de `queue.list`, en\n * su orden, y después los que aparecen en las demás respuestas de cola (`access`, `ignore`,\n * `remove`, `place`), en el orden en que aparecen. Cada localizador sale una sola vez.\n *\n * - `placedAt`, `placedBy` y `primaryPassenger` salen del `Line` de `list`. Si el PNR no está en la\n * lista, salen del `Line` del primer `access`, `ignore` o `remove` que lo trae (ahí `placedAt` es\n * la última modificación del PNR, no su colocación en la cola).\n * - `primaryPassenger` solo sale si el `Line` trae `PassengerName`, y Sabre solo lo manda en un\n * `list` con `primaryPassenger: true` (`/LN`). Las fixtures de `queueFixtures` se grabaron sin\n * `/LN`, así que sus PNR van sin pasajero. Si el consumidor necesita uno, lo agrega con un\n * `map`; el helper no inventa datos que la grabación no tiene (#193).\n * - `paragraph` es el del primer `access`, `ignore`, `remove` o `place` que muestra el PNR, tal\n * cual. El localizador del párrafo sale del `Line`, o de la línea de firma si no hay `Line`\n * (`place` dentro de una cola).\n * - Un PNR que solo aparece como colocado (`place` fuera de una cola) va sin párrafo, y el fake le\n * agrega una línea de firma.\n *\n * La cola en la que van los decide quien lo usa:\n *\n * ```ts\n * createQueueFake({ queues: { '9': queueFakePnrs(queueFixtures.walk) } })\n * ```\n *\n * Las fixtures de `queueFixtures` usan alias distintos (`walk`: `AAAAAA`–`AAAAAD`, `place`:\n * `AAAAAE`–`AAAAAF`, `placeWithoutInstructionCodeInside`: `AAAAAG`–`AAAAAH`), así que los PNR de\n * varias se pueden juntar en un mismo fake.\n */\nexport function queueFakePnrs(fixture: RecordedFixture): QueueFakePnr[] {\n const pnrs = new Map<string, QueueFakePnr>();\n const add = (locator: string, fields: Omit<QueueFakePnr, 'locator'>) => {\n const current = pnrs.get(locator) ?? { locator };\n // Lo primero que se vio de cada campo se queda: la lista va antes que el resto.\n pnrs.set(locator, { ...fields, ...current });\n };\n\n const responses = fixture.responses.filter((response) => QUEUE_OPERATION.test(response.operation));\n const ordered = [\n ...responses.filter((response) => response.operation === 'queue.list'),\n ...responses.filter((response) => response.operation !== 'queue.list'),\n ];\n for (const response of ordered) {\n const payload = untrimmedPayload(response.body);\n const lines = asArray(payload?.Line)\n .map(lineFields)\n .filter((fields) => fields !== undefined);\n for (const { locator, placedAt, placedBy, primaryPassenger } of lines) {\n add(locator, {\n ...(placedAt === undefined ? {} : { placedAt }),\n ...(placedBy === undefined ? {} : { placedBy }),\n ...(primaryPassenger === undefined ? {} : { primaryPassenger }),\n });\n }\n if (response.operation === 'queue.list') continue;\n // `place` fuera de una cola: cada PNR colocado, en su `QueueInfo`.\n for (const info of asArray(payload?.QueueInfo)) {\n const locator = attribute((info as Record<string, unknown>).UniqueID, 'ID');\n if (locator !== undefined) add(locator, {});\n }\n\n const paragraph = textLines(response.body, /<(?:\\w+:)?QueuePlaceRS\\b/.test(response.body) ? 'QueuePlaceRS' : 'QueueAccessRS');\n if (paragraph.length === 0 || isEndOfDisplay(paragraph.find((line) => line.trim() !== ''))) continue;\n const locator = lines.length === 1 ? lines[0]!.locator : signatureLocator(paragraph);\n if (locator !== undefined) add(locator, { paragraph });\n }\n return [...pnrs.values()];\n}\n","{\n \"recordedAt\": \"2026-11-02\",\n \"environment\": \"production\",\n \"designated\": 2,\n \"instructionCode\": 11,\n \"results\": [\n {\n \"51\": 0,\n \"52\": 0,\n \"step\": \"count inicial\",\n \"ok\": true\n },\n {\n \"step\": \"place fuera de una cola\",\n \"ok\": true,\n \"placements\": 2,\n \"warnings\": 0\n },\n {\n \"51\": 2,\n \"52\": 0,\n \"step\": \"count después de place\",\n \"ok\": true\n },\n {\n \"step\": \"access 51\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAE\",\n \"warnings\": 0\n },\n {\n \"step\": \"place dentro de la cola a 52\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAF\",\n \"warnings\": 0\n },\n {\n \"step\": \"limpieza 51: remove\",\n \"ok\": true,\n \"done\": true,\n \"reason\": \"end-of-display\",\n \"message\": \"END OF DISPLAY FOR REQUESTED DATA\",\n \"warnings\": 0\n },\n {\n \"51\": 0,\n \"52\": 1,\n \"step\": \"count después de place dentro de la cola\",\n \"ok\": true\n },\n {\n \"step\": \"limpieza: access 51\",\n \"ok\": true,\n \"done\": true,\n \"reason\": \"empty\",\n \"message\": \"QUEUE SELECTED WAS EMPTY\",\n \"warnings\": 0\n },\n {\n \"step\": \"limpieza: access 52\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAE\",\n \"warnings\": 0\n },\n {\n \"step\": \"limpieza 52: remove\",\n \"ok\": true,\n \"done\": true,\n \"reason\": \"end-of-display\",\n \"message\": \"END OF DISPLAY FOR REQUESTED DATA\",\n \"warnings\": 0\n },\n {\n \"51\": 0,\n \"52\": 0,\n \"step\": \"count final\",\n \"ok\": true\n },\n {\n \"step\": \"close\",\n \"ok\": true\n }\n ],\n \"findings\": {\n \"started\": true,\n \"placedCount\": 2,\n \"placeInsideReturns\": \"next\",\n \"afterPlaceInside\": {\n \"51\": 0,\n \"52\": 1\n },\n \"finalCounts\": {\n \"51\": 0,\n \"52\": 0\n },\n \"emptyAtEnd\": true,\n \"foreignPnrSeen\": false,\n \"finalState\": \"outside\"\n },\n \"events\": [\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 219,\n \"messageId\": \"1507138129113180520\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.open\",\n \"context\": {\n \"version\": \"2.0.0\",\n \"pseudoCityCode\": \"XXXX\"\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 270,\n \"messageId\": \"834296129115631360\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 1181,\n \"messageId\": \"1507184129117060520\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 150,\n \"messageId\": \"1507317129128850520\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 337,\n \"messageId\": \"1507398129130331410\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 1389,\n \"messageId\": \"834244129133751160\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 198,\n \"messageId\": \"834406129147701160\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 124,\n \"messageId\": \"1507450129149741430\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 151,\n \"messageId\": \"1507525129150890560\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 268,\n \"messageId\": \"1507586129152441040\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 167,\n \"messageId\": \"834439129155152350\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 109,\n \"messageId\": \"1507533129156791720\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 92,\n \"messageId\": \"1507704129157870910\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.close\",\n \"context\": {\n \"pseudoCityCode\": \"XXXX\"\n }\n }\n ],\n \"responses\": [\n {\n \"operation\": \"openSession\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCreateRS</eb:Action><eb:MessageData><eb:MessageId>1507138129113180520</eb:MessageId><eb:Timestamp>2026-11-02T03:35:11</eb:Timestamp><eb:RefToMessageId>mid:1e2b7680-3372-4cd2-8951-37d2933673ee</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCreateRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"2.0.0\\\" status=\\\"Approved\\\">\\t<ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</ConversationId></SessionCreateRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>834296129115631360</eb:MessageId><eb:Timestamp>2026-11-02T03:35:11</eb:Timestamp><eb:RefToMessageId>mid:c86d56a7-dcc8-4d32-b47e-55533ba40d72</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:11Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:35\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.place\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueuePlaceLLSRQ</eb:Service><eb:Action>QueuePlaceLLSRS</eb:Action><eb:MessageData><eb:MessageId>1507184129117060520</eb:MessageId><eb:Timestamp>2026-11-02T03:35:12</eb:Timestamp><eb:RefToMessageId>mid:771bfafc-ba56-4f31-8861-c4f3e7e5d645</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueuePlaceRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.0.4\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:12Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:35\\\">\\n <QueueIdentifier Number=\\\"0051\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n <UniqueID ID=\\\"AAAAAE\\\"/>\\n </QueueInfo>\\n <QueueInfo DateTime=\\\"11-01T21:35\\\">\\n <QueueIdentifier Number=\\\"0051\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n <UniqueID ID=\\\"AAAAAF\\\"/>\\n </QueueInfo>\\n <Text>XXXXX XXXXXXXXX XXXXXXXXX</Text>\\n</QueuePlaceRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1507317129128850520</eb:MessageId><eb:Timestamp>2026-11-02T03:35:12</eb:Timestamp><eb:RefToMessageId>mid:e2a60150-9465-4537-a3bd-d204f09ac8b1</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:12Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:35\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"51\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6049\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1507398129130331410</eb:MessageId><eb:Timestamp>2026-11-02T03:35:13</eb:Timestamp><eb:RefToMessageId>mid:810a3899-608b-4bd1-a26f-ce426439654f</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:13Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-01-26T10:32</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAE\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>011 SEE REMARKS</Text>\\n <Text>9.9XXXXXX XXXXXXXXX/XXXXXX XXXXX XX</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>XXXXXXXX XX XXXXXXXXXXX XXX XXXXXXXXXX XXXXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX 999999999999-X</Text>\\n <Text>XXXXXXXXX XXXXXX *XX XX XXXXXXX</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX 999</Text>\\n <Text>XXXXXXX XXXX</Text>\\n <Text>XXXXXX</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXX/XXXXXXXX XXXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 99X X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 9X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXX99XXX9XXX X</Text>\\n <Text>XXXXXXXX XXX</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 999X</Text>\\n <Text>REMARKS</Text>\\n <Text>9..XX-XXX</Text>\\n <Text>9..XXXXX-X99</Text>\\n <Text>9..XXXXXXXXX-999</Text>\\n <Text>9..XX99-XXXXXX XXXXXXXXXX X XX XXXXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXX XXXX/XXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXXXX XXXXXXX</Text>\\n <Text>9.XXXXX/</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X-XXXX/9999999999999/9XXX*XXX/9XXX*XXX</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X999/X99</Text>\\n <Text>99/XXX/XX 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX/9/X/X</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 9/X999/X9/XXX/XXX</Text>\\n <Text>X9999999999999999 9.9XXXXXX XXXXXXXXX X/9/X/X-9999999999</Text>\\n <Text>999/9999</Text>\\n <Text>9. XX9999999999/ 9/ 999/ 9/X999/X9/XXX/</Text>\\n <Text>XXXX9999999999999999 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX XX/</Text>\\n <Text>9/X/XXX</Text>\\n <Text>RECEIVED FROM - XX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 AAAAAE H</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.place\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueuePlaceLLSRQ</eb:Service><eb:Action>QueuePlaceLLSRS</eb:Action><eb:MessageData><eb:MessageId>834244129133751160</eb:MessageId><eb:Timestamp>2026-11-02T03:35:14</eb:Timestamp><eb:RefToMessageId>mid:60d8dffe-5ad8-4995-a7fe-d1c88507fcfd</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueuePlaceRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.0.4\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:14Z\\\"/>\\n </stl:ApplicationResults>\\n <Text>011 SEE REMARKS</Text>\\n <Text>9.9XXXXX XXXX/XXXXXX</Text>\\n <Text>9 XXX XX 99XXX X XX9 XXX/XXXX XXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX999 9999999-X</Text>\\n <Text>XXXXXXXXX XXXXXX *XX XX XXXXXXX</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX XXXXXXXXXXXX XXXXX 99</Text>\\n <Text>XXX. XXX XXXXXXX</Text>\\n <Text>XXXXXXX, XXX X.X. 99999</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXXX XXXXXX -</Text>\\n <Text>¤ XXXXXX XXXXXX</Text>\\n <Text>XXXXXXXX XXXXXXXX XXXX XXXXXX *XX XX XXXXXXX XXX</Text>\\n <Text>XXXXXXX,XXXXXX,XXX/XX XXXXXXXXXX XXXXX XXXX XXXXX</Text>\\n <Text>*XX XX XXXXXXX XXX</Text>\\n <Text>XXXXXXXX XXXX XXXXXX *X9X XX *X9X XX XXXXXXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX XX XX/XX9999999999999</Text>\\n <Text>9.XXX 9X XXX XXXXXXXXX XXXXXXXX</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXXX XXX XXXX</Text>\\n <Text>XXXX XXX XXX</Text>\\n <Text>9.XXX 9X XXXXXX XX XXXXXXXXX XXXXXXXX 9999999999999 XXXXXX 99</Text>\\n <Text>X</Text>\\n <Text>9.XXX 9X 99999999</Text>\\n <Text>9.XXX 9X XXXXXX XX XXXXXXXXX XXXXXXXX 9999999999999 XXXXXX 99</Text>\\n <Text>X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X X/ XXXX XXX99 9999999999 X 99.99</Text>\\n <Text>GENERAL FACTS</Text>\\n <Text>9.XXX XX XXXX 99999999 XXXXXXXXXXX XXXXX XXX 9XXX</Text>\\n <Text>9.XXX XX XXXX X999X</Text>\\n <Text>REMARKS</Text>\\n <Text>9..XX99XXXXXX</Text>\\n <Text>9.XX XXXXXX XXXXXXX XXX XXXXXXXXXX XXXXX XX XX XXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXX XXXXX XXX XXXXXXX XX XXX XX XXXXX</Text>\\n <Text>9.9 XXXXX XXXXXXXXXXX X XX XXXXX XX XXXXXXX</Text>\\n <Text>9.XX XXXX XX XXX XX XXXX X XXXXXX, XX XX XXXXX XXXXXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXXXXXX X XX XXXXXXXXX XXXX XX XXXXXX</Text>\\n <Text>9.XX XXXXX XX XX XXXXXX</Text>\\n <Text>9.**XX XXXXXXXXX XXXXX XXXXX XX 99 XXX XXXXX XX XX XXXXXX**</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX XXXXX</Text>\\n <Text>99.XX XXXXXX XXXXXXXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX</Text>\\n <Text>99.XXXXX, XXXXXXXXXXX XXX XXXXXXXXXXXXXX XXXXXXX</Text>\\n <Text>99.XX XXXXXXXXXXX XXXXX XXXXXXXXXXX XX XXXXXXXXXXX</Text>\\n <Text>99.XXXXXXX</Text>\\n <Text>99..XX-99</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.XXXXX/</Text>\\n <Text>99..XX-XXX</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X999/X99</Text>\\n <Text>99/XXX/XXXX9999999999999999 9.9XXXXX XXXX XXXXXX/9/X/X</Text>\\n <Text>RECEIVED FROM - XXXXXX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 AAAAAF H</Text>\\n</QueuePlaceRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.remove\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>834406129147701160</eb:MessageId><eb:Timestamp>2026-11-02T03:35:14</eb:Timestamp><eb:RefToMessageId>mid:09946a8f-4d1b-4fff-b002-73f365491761</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:14Z\\\"/>\\n </stl:ApplicationResults>\\n <Paragraph>\\n <Text>END OF DISPLAY FOR REQUESTED DATA</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1507450129149741430</eb:MessageId><eb:Timestamp>2026-11-02T03:35:15</eb:Timestamp><eb:RefToMessageId>mid:0af46a14-6f62-4b29-9f71-ca156d1bc94c</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:15Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:35\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"52\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6048\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1507525129150890560</eb:MessageId><eb:Timestamp>2026-11-02T03:35:15</eb:Timestamp><eb:RefToMessageId>mid:a08aa346-6af9-449d-a014-5526ed0c1615</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T03:35:15Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>QUEUE SELECTED WAS EMPTY</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1507586129152441040</eb:MessageId><eb:Timestamp>2026-11-02T03:35:15</eb:Timestamp><eb:RefToMessageId>mid:80821434-2a4c-463a-a90b-a19d39c995c3</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:15Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-01-26T10:32</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAE\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>011 SEE REMARKS</Text>\\n <Text>9.9XXXXXX XXXXXXXXX/XXXXXX XXXXX XX</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>XXXXXXXX XX XXXXXXXXXXX XXX XXXXXXXXXX XXXXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX 999999999999-X</Text>\\n <Text>XXXXXXXXX XXXXXX *XX XX XXXXXXX</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX 999</Text>\\n <Text>XXXXXXX XXXX</Text>\\n <Text>XXXXXX</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXX/XXXXXXXX XXXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 99X X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 9X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXX99XXX9XXX X</Text>\\n <Text>XXXXXXXX XXX</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 999X</Text>\\n <Text>REMARKS</Text>\\n <Text>9..XX-XXX</Text>\\n <Text>9..XXXXX-X99</Text>\\n <Text>9..XXXXXXXXX-999</Text>\\n <Text>9..XX99-XXXXXX XXXXXXXXXX X XX XXXXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXX XXXX/XXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXXXX XXXXXXX</Text>\\n <Text>9.XXXXX/</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X-XXXX/9999999999999/9XXX*XXX/9XXX*XXX</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X999/X99</Text>\\n <Text>99/XXX/XX 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX/9/X/X</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 9/X999/X9/XXX/XXX</Text>\\n <Text>X9999999999999999 9.9XXXXXX XXXXXXXXX X/9/X/X-9999999999</Text>\\n <Text>999/9999</Text>\\n <Text>9. XX9999999999/ 9/ 999/ 9/X999/X9/XXX/</Text>\\n <Text>XXXX9999999999999999 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX XX/</Text>\\n <Text>9/X/XXX</Text>\\n <Text>RECEIVED FROM - XX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 AAAAAE H</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.remove\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>834439129155152350</eb:MessageId><eb:Timestamp>2026-11-02T03:35:15</eb:Timestamp><eb:RefToMessageId>mid:f0a85208-ee49-4a20-a4bc-5ae2038abd5f</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:15Z\\\"/>\\n </stl:ApplicationResults>\\n <Paragraph>\\n <Text>END OF DISPLAY FOR REQUESTED DATA</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1507533129156791720</eb:MessageId><eb:Timestamp>2026-11-02T03:35:15</eb:Timestamp><eb:RefToMessageId>mid:ef241eb0-7cca-4557-8a71-a9273af47c56</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:35:15Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:35\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"close\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>ed11808f-94f9-42ce-ac49-402112b56868</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCloseRS</eb:Action><eb:MessageData><eb:MessageId>1507704129157870910</eb:MessageId><eb:Timestamp>2026-11-02T03:35:15</eb:Timestamp><eb:RefToMessageId>mid:f4eff23a-501b-403c-8deb-af875cd7441b</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCloseRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"1\\\" status=\\\"Approved\\\"/></soap-env:Body></soap-env:Envelope>\"\n }\n ],\n \"postprocessed\": \"2026-11-01: la anonimización de esta corrida enmascaró la línea de firma entera. Se le devolvió la forma (alias del localizador y la H final) con la regla que hoy aplica scripts/lib/legacy-recorder.mjs: el alias de cada sobre sale de su Line/UniqueID, y en el place dentro de la cola, del resultado registrado. 2026-11-06: los alias se renombraron (AAAAAA → AAAAAE, AAAAAB → AAAAAF) para no pisar los de las otras fixtures de queueFixtures: cada una usa los suyos (#166).\"\n}\n","{\n \"recordedAt\": \"2026-11-02\",\n \"environment\": \"production\",\n \"designated\": 2,\n \"results\": [\n {\n \"51\": 0,\n \"52\": 0,\n \"step\": \"count inicial\",\n \"ok\": true\n },\n {\n \"step\": \"place fuera de una cola\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queuePlace: INSTRUCTION NUMBER NOT IN RANGE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"retryable\": false\n }\n },\n {\n \"51\": 0,\n \"52\": 0,\n \"step\": \"count después de place\",\n \"ok\": true\n },\n {\n \"step\": \"access 51\",\n \"ok\": true,\n \"done\": true,\n \"reason\": \"empty\",\n \"message\": \"QUEUE SELECTED WAS EMPTY\",\n \"warnings\": 0\n },\n {\n \"51\": 0,\n \"52\": 0,\n \"step\": \"count después de place dentro de la cola\",\n \"ok\": true\n },\n {\n \"step\": \"limpieza: access 51\",\n \"ok\": true,\n \"done\": true,\n \"reason\": \"empty\",\n \"message\": \"QUEUE SELECTED WAS EMPTY\",\n \"warnings\": 0\n },\n {\n \"step\": \"limpieza: access 52\",\n \"ok\": true,\n \"done\": true,\n \"reason\": \"empty\",\n \"message\": \"QUEUE SELECTED WAS EMPTY\",\n \"warnings\": 0\n },\n {\n \"51\": 0,\n \"52\": 0,\n \"step\": \"count final\",\n \"ok\": true\n },\n {\n \"step\": \"close\",\n \"ok\": true\n }\n ],\n \"findings\": {\n \"started\": true,\n \"placedCount\": 0,\n \"afterPlaceInside\": {\n \"51\": 0,\n \"52\": 0\n },\n \"finalCounts\": {\n \"51\": 0,\n \"52\": 0\n },\n \"emptyAtEnd\": true,\n \"foreignPnrSeen\": false,\n \"finalState\": \"outside\"\n },\n \"events\": [\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 291,\n \"messageId\": \"696038116489921040\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.open\",\n \"context\": {\n \"version\": \"2.0.0\",\n \"pseudoCityCode\": \"XXXX\"\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 306,\n \"messageId\": \"1368643116492372030\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 1161,\n \"messageId\": \"1368817116494140910\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queuePlace\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queuePlace: INSTRUCTION NUMBER NOT IN RANGE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 164,\n \"messageId\": \"1368897116505762260\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 107,\n \"messageId\": \"1368800116507391600\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 144,\n \"messageId\": \"696261116508481040\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 181,\n \"messageId\": \"1369004116509910910\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 113,\n \"messageId\": \"1368905116511721330\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 216,\n \"messageId\": \"1368862116512881600\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 91,\n \"messageId\": \"1369002116515020820\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.close\",\n \"context\": {\n \"pseudoCityCode\": \"XXXX\"\n }\n }\n ],\n \"responses\": [\n {\n \"operation\": \"openSession\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCreateRS</eb:Action><eb:MessageData><eb:MessageId>696038116489921040</eb:MessageId><eb:Timestamp>2026-11-02T03:14:09</eb:Timestamp><eb:RefToMessageId>mid:77d06f35-e9b1-4097-a87e-a4c2f94b7d11</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCreateRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"2.0.0\\\" status=\\\"Approved\\\">\\t<ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</ConversationId></SessionCreateRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1368643116492372030</eb:MessageId><eb:Timestamp>2026-11-02T03:14:09</eb:Timestamp><eb:RefToMessageId>mid:a1d5f941-bde3-4c97-bb10-518525106dae</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:14:09Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:14\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.place\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueuePlaceLLSRQ</eb:Service><eb:Action>QueuePlaceLLSRS</eb:Action><eb:MessageData><eb:MessageId>1368817116494140910</eb:MessageId><eb:Timestamp>2026-11-02T03:14:10</eb:Timestamp><eb:RefToMessageId>mid:2bd54110-d5cd-48a9-8f56-4fb3efbe50ed</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueuePlaceRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.0.4\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T03:14:10Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>INSTRUCTION NUMBER NOT IN RANGE</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueuePlaceRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1368897116505762260</eb:MessageId><eb:Timestamp>2026-11-02T03:14:10</eb:Timestamp><eb:RefToMessageId>mid:21bbcfc1-4915-49dc-a35f-19cf5c06645a</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:14:10Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:14\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1368800116507391600</eb:MessageId><eb:Timestamp>2026-11-02T03:14:10</eb:Timestamp><eb:RefToMessageId>mid:672fb639-8d29-4bf8-aa6a-8967f0f8eea7</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T03:14:10Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>QUEUE SELECTED WAS EMPTY</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>696261116508481040</eb:MessageId><eb:Timestamp>2026-11-02T03:14:10</eb:Timestamp><eb:RefToMessageId>mid:fd1cd62a-a2f9-4578-9099-81324d05e11f</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:14:10Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:14\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1369004116509910910</eb:MessageId><eb:Timestamp>2026-11-02T03:14:11</eb:Timestamp><eb:RefToMessageId>mid:348634ba-1102-4b60-88d7-b22dcde08237</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T03:14:11Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>QUEUE SELECTED WAS EMPTY</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1368905116511721330</eb:MessageId><eb:Timestamp>2026-11-02T03:14:11</eb:Timestamp><eb:RefToMessageId>mid:4cb87408-be0e-4d2c-a5c0-d6eb90c05604</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T03:14:11Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>QUEUE SELECTED WAS EMPTY</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1368862116512881600</eb:MessageId><eb:Timestamp>2026-11-02T03:14:11</eb:Timestamp><eb:RefToMessageId>mid:a68247d9-8b80-4be1-a29d-f98fc874cdba</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:14:11Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:14\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"close\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>3792aacf-e3c3-4363-9000-15f67b73a5dc</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCloseRS</eb:Action><eb:MessageData><eb:MessageId>1369002116515020820</eb:MessageId><eb:Timestamp>2026-11-02T03:14:11</eb:Timestamp><eb:RefToMessageId>mid:4fbbf8b2-5f08-4e22-a76d-639bb7280ddb</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCloseRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"1\\\" status=\\\"Approved\\\"/></soap-env:Body></soap-env:Envelope>\"\n }\n ]\n}\n","{\n \"recordedAt\": \"2026-11-02\",\n \"environment\": \"production\",\n \"designated\": 2,\n \"instructionCode\": 11,\n \"results\": [\n {\n \"51\": 0,\n \"52\": 0,\n \"step\": \"count inicial\",\n \"ok\": true\n },\n {\n \"step\": \"place fuera de una cola\",\n \"ok\": true,\n \"placements\": 2,\n \"warnings\": 0\n },\n {\n \"51\": 2,\n \"52\": 0,\n \"step\": \"count después de place\",\n \"ok\": true\n },\n {\n \"step\": \"access 51\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAG\",\n \"warnings\": 0\n },\n {\n \"step\": \"place dentro de la cola a 52\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queuePlace: NEED INSTRUCTION NUMBER (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"limpieza 51: exit\",\n \"ok\": true\n },\n {\n \"51\": 2,\n \"52\": 0,\n \"step\": \"count después de place dentro de la cola\",\n \"ok\": true\n },\n {\n \"step\": \"limpieza: access 51\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAG\",\n \"warnings\": 0\n },\n {\n \"step\": \"limpieza 51: exit\",\n \"ok\": true\n },\n {\n \"step\": \"limpieza: access 52\",\n \"ok\": true,\n \"done\": true,\n \"reason\": \"empty\",\n \"message\": \"QUEUE SELECTED WAS EMPTY\",\n \"warnings\": 0\n },\n {\n \"51\": 2,\n \"52\": 0,\n \"step\": \"count final\",\n \"ok\": true\n },\n {\n \"step\": \"close\",\n \"ok\": true\n }\n ],\n \"findings\": {\n \"started\": true,\n \"placedCount\": 2,\n \"afterPlaceInside\": {\n \"51\": 2,\n \"52\": 0\n },\n \"finalCounts\": {\n \"51\": 2,\n \"52\": 0\n },\n \"emptyAtEnd\": false,\n \"foreignPnrSeen\": true,\n \"finalState\": \"outside\"\n },\n \"events\": [\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 224,\n \"messageId\": \"1447558123641760140\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.open\",\n \"context\": {\n \"version\": \"2.0.0\",\n \"pseudoCityCode\": \"XXXX\"\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 248,\n \"messageId\": \"1447616123643931410\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 1179,\n \"messageId\": \"1447485123645400970\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 144,\n \"messageId\": \"774662123657231160\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 332,\n \"messageId\": \"1447690123658680240\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queuePlace\",\n \"action\": \"QueuePlaceLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 1209,\n \"messageId\": \"1447671123662030850\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queuePlace\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queuePlace: NEED INSTRUCTION NUMBER (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 167,\n \"messageId\": \"1447862123674122260\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 153,\n \"messageId\": \"1447868123675771450\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 414,\n \"messageId\": \"1447869123677321200\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 193,\n \"messageId\": \"774917123681491160\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 111,\n \"messageId\": \"1448030123683420710\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 105,\n \"messageId\": \"1447953123684520740\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 94,\n \"messageId\": \"1448022123685580350\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.close\",\n \"context\": {\n \"pseudoCityCode\": \"XXXX\"\n }\n }\n ],\n \"responses\": [\n {\n \"operation\": \"openSession\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCreateRS</eb:Action><eb:MessageData><eb:MessageId>1447558123641760140</eb:MessageId><eb:Timestamp>2026-11-02T03:26:04</eb:Timestamp><eb:RefToMessageId>mid:17dec477-8068-457d-a57a-55a61983a08b</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCreateRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"2.0.0\\\" status=\\\"Approved\\\">\\t<ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</ConversationId></SessionCreateRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447616123643931410</eb:MessageId><eb:Timestamp>2026-11-02T03:26:04</eb:Timestamp><eb:RefToMessageId>mid:a11cc40c-ef6e-43b1-8aaf-09441713a1d3</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:04Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:26\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.place\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueuePlaceLLSRQ</eb:Service><eb:Action>QueuePlaceLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447485123645400970</eb:MessageId><eb:Timestamp>2026-11-02T03:26:05</eb:Timestamp><eb:RefToMessageId>mid:a6b248de-8d0e-4c8a-96e5-9a69e3482cba</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueuePlaceRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.0.4\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:05Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:26\\\">\\n <QueueIdentifier Number=\\\"0051\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n <UniqueID ID=\\\"AAAAAG\\\"/>\\n </QueueInfo>\\n <QueueInfo DateTime=\\\"11-01T21:26\\\">\\n <QueueIdentifier Number=\\\"0051\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n <UniqueID ID=\\\"AAAAAH\\\"/>\\n </QueueInfo>\\n <Text>XXXXX XXXXXXXXX XXXXXXXXX</Text>\\n</QueuePlaceRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>774662123657231160</eb:MessageId><eb:Timestamp>2026-11-02T03:26:05</eb:Timestamp><eb:RefToMessageId>mid:1210f083-0edb-4ef3-b242-e2a65b6f5144</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:05Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:26\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"51\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6049\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447690123658680240</eb:MessageId><eb:Timestamp>2026-11-02T03:26:06</eb:Timestamp><eb:RefToMessageId>mid:e0868a8b-5dd7-4840-a597-9d1b9be82ef2</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:06Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-01-26T10:32</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAG\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>011 SEE REMARKS</Text>\\n <Text>9.9XXXXXX XXXXXXXXX/XXXXXX XXXXX XX</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>XXXXXXXX XX XXXXXXXXXXX XXX XXXXXXXXXX XXXXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX 999999999999-X</Text>\\n <Text>XXXXXXXXX XXXXXX *XX XX XXXXXXX</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX 999</Text>\\n <Text>XXXXXXX XXXX</Text>\\n <Text>XXXXXX</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXX/XXXXXXXX XXXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 99X X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 9X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXX99XXX9XXX X</Text>\\n <Text>XXXXXXXX XXX</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 999X</Text>\\n <Text>REMARKS</Text>\\n <Text>9..XX-XXX</Text>\\n <Text>9..XXXXX-X99</Text>\\n <Text>9..XXXXXXXXX-999</Text>\\n <Text>9..XX99-XXXXXX XXXXXXXXXX X XX XXXXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXX XXXX/XXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXXXX XXXXXXX</Text>\\n <Text>9.XXXXX/</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X-XXXX/9999999999999/9XXX*XXX/9XXX*XXX</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X999/X99</Text>\\n <Text>99/XXX/XX 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX/9/X/X</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 9/X999/X9/XXX/XXX</Text>\\n <Text>X9999999999999999 9.9XXXXXX XXXXXXXXX X/9/X/X-9999999999</Text>\\n <Text>999/9999</Text>\\n <Text>9. XX9999999999/ 9/ 999/ 9/X999/X9/XXX/</Text>\\n <Text>XXXX9999999999999999 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX XX/</Text>\\n <Text>9/X/XXX</Text>\\n <Text>RECEIVED FROM - XX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 AAAAAG H</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.place\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueuePlaceLLSRQ</eb:Service><eb:Action>QueuePlaceLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447671123662030850</eb:MessageId><eb:Timestamp>2026-11-02T03:26:07</eb:Timestamp><eb:RefToMessageId>mid:80f280ba-def5-486e-bf59-1415a65d3121</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueuePlaceRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.0.4\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T03:26:07Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>NEED INSTRUCTION NUMBER</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueuePlaceRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.exit\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447862123674122260</eb:MessageId><eb:Timestamp>2026-11-02T03:26:07</eb:Timestamp><eb:RefToMessageId>mid:7a49bd13-2dbe-4d2f-b174-3eafff94cf19</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:07Z\\\"/>\\n </stl:ApplicationResults>\\n <Paragraph>\\n <Text>XXX 9XXX XXXXX 999</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447868123675771450</eb:MessageId><eb:Timestamp>2026-11-02T03:26:07</eb:Timestamp><eb:RefToMessageId>mid:6af01817-942c-4805-bc5c-a8e9d65e2a52</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:07Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:26\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"51\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6049\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447869123677321200</eb:MessageId><eb:Timestamp>2026-11-02T03:26:08</eb:Timestamp><eb:RefToMessageId>mid:60b221e6-eac3-4280-b26c-96e4f757abc0</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:08Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-01-26T10:32</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAG\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>011 SEE REMARKS</Text>\\n <Text>9.9XXXXXX XXXXXXXXX/XXXXXX XXXXX XX</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 9999X 9999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X /XXXX*XXXXXX /X</Text>\\n <Text>9 XX 999X 99XXX X XXXXXX XX9 999X 999X XXX /XXXX*XXXXXX /X</Text>\\n <Text>XXXXXXXX XX XXXXXXXXXXX XXX XXXXXXXXXX XXXXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX 999999999999-X</Text>\\n <Text>XXXXXXXXX XXXXXX *XX XX XXXXXXX</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX 999</Text>\\n <Text>XXXXXXX XXXX</Text>\\n <Text>XXXXXX</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXX/XXXXXXXX XXXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 99X X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>9 XX 999X 99XXX XXXXXX XX 9X X 9.9 XXXXXX XXXXXXXXX/XXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXX99XXX9XXX X</Text>\\n <Text>XXXXXXXX XXX</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX9999X 99XXX XXXXXX 999X 999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 9999X</Text>\\n <Text>9.XXX 9X *** XXXX XXXX XXX XX 999X 99XXX XXXXXX 9999X 999X</Text>\\n <Text>REMARKS</Text>\\n <Text>9..XX-XXX</Text>\\n <Text>9..XXXXX-X99</Text>\\n <Text>9..XXXXXXXXX-999</Text>\\n <Text>9..XX99-XXXXXX XXXXXXXXXX X XX XXXXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXX XXXX/XXXX</Text>\\n <Text>9.XXXXXXX/9XXX*XXX 9999/99XXX99 XXXXXX</Text>\\n <Text>9.X-XXXXX XX/999999/99XXX99 XXXXXX 99/99 99/99 XXXXXX XXXXXXX</Text>\\n <Text>9.XXXXX/</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X-XXXX/9999999999999/9XXX*XXX/9XXX*XXX</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X999/X99</Text>\\n <Text>99/XXX/XX 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX/9/X/X</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 9/X999/X9/XXX/XXX</Text>\\n <Text>X9999999999999999 9.9XXXXXX XXXXXXXXX X/9/X/X-9999999999</Text>\\n <Text>999/9999</Text>\\n <Text>9. XX9999999999/ 9/ 999/ 9/X999/X9/XXX/</Text>\\n <Text>XXXX9999999999999999 9.9XXXXXX XXXXXXXXX XXXXXX XXXXX XX/</Text>\\n <Text>9/X/XXX</Text>\\n <Text>RECEIVED FROM - XX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 AAAAAG H</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.exit\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>774917123681491160</eb:MessageId><eb:Timestamp>2026-11-02T03:26:08</eb:Timestamp><eb:RefToMessageId>mid:79a60043-9468-4904-97f4-5a66b16ebd07</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:08Z\\\"/>\\n </stl:ApplicationResults>\\n <Paragraph>\\n <Text>XXX 9XXX XXXXX 999</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1448030123683420710</eb:MessageId><eb:Timestamp>2026-11-02T03:26:08</eb:Timestamp><eb:RefToMessageId>mid:c5c20a5c-1574-45ec-9065-5952f4624166</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T03:26:08Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>QUEUE SELECTED WAS EMPTY</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1447953123684520740</eb:MessageId><eb:Timestamp>2026-11-02T03:26:08</eb:Timestamp><eb:RefToMessageId>mid:df42e795-20fe-46f7-87a0-658f78cd2c59</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T03:26:08Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T21:26\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1203\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"51\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6049\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"close\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>2ef4246e-a5b8-4112-b447-afff44cd9453</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCloseRS</eb:Action><eb:MessageData><eb:MessageId>1448022123685580350</eb:MessageId><eb:Timestamp>2026-11-02T03:26:08</eb:Timestamp><eb:RefToMessageId>mid:fb8eaff8-33f0-4e1b-8f64-7b14a7adf808</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCloseRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"1\\\" status=\\\"Approved\\\"/></soap-env:Body></soap-env:Envelope>\"\n }\n ],\n \"postprocessed\": \"2026-11-06 (#166): la anonimización de esta corrida enmascaró la línea de firma entera. Se le devolvió la forma (alias del localizador y la H final) con la regla que hoy aplica createAnonymizer: el alias de cada sobre sale de su Line/UniqueID. Firmas corregidas: 2. 2026-11-06: los alias se renombraron (AAAAAA → AAAAAG, AAAAAB → AAAAAH) para no pisar los de las otras fixtures de queueFixtures: cada una usa los suyos (#166).\"\n}\n","{\n \"recordedAt\": \"2026-11-02\",\n \"environment\": \"production\",\n \"scenario\": \"walk\",\n \"queue\": 2,\n \"results\": [\n {\n \"step\": \"count\",\n \"ok\": true,\n \"queues\": 4,\n \"totals\": {\n \"messages\": 6,\n \"specials\": 0,\n \"pnrs\": 4\n }\n },\n {\n \"step\": \"list\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"BusinessLogic\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"probe.I después de list\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: IGD (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"BusinessLogic\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"probe.QXI\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"BusinessLogic\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"probe.QXI fuera de una cola\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"BusinessLogic\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"access\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"BusinessLogic\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"close\",\n \"ok\": true\n }\n ],\n \"findings\": {\n \"listedCount\": 0,\n \"visitedCount\": 0,\n \"traversalMatchesList\": true,\n \"endOfDisplay\": false,\n \"listLeavesSessionInside\": false,\n \"qxiOutsideQueue\": {\n \"step\": \"probe.QXI fuera de una cola\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"BusinessLogic\",\n \"retryable\": false\n }\n },\n \"finalState\": \"outside\"\n },\n \"events\": [\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 222,\n \"messageId\": \"1199952101079831070\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.open\",\n \"context\": {\n \"version\": \"2.0.0\",\n \"pseudoCityCode\": \"XXXX\"\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 278,\n \"messageId\": \"1200017101082320910\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 142,\n \"messageId\": \"1200044101083810080\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"BusinessLogic\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 100,\n \"messageId\": \"1200044101085261410\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"BusinessLogic\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: IGD (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 139,\n \"messageId\": \"1199941101086241390\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"BusinessLogic\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 106,\n \"messageId\": \"1200006101087651180\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"BusinessLogic\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 140,\n \"messageId\": \"1200044101088681410\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"BusinessLogic\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: QUEUE SELECTED WAS EMPTY (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 100,\n \"messageId\": \"1199968101090081330\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.close\",\n \"context\": {\n \"pseudoCityCode\": \"XXXX\"\n }\n }\n ],\n \"responses\": [\n {\n \"operation\": \"openSession\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCreateRS</eb:Action><eb:MessageData><eb:MessageId>1199952101079831070</eb:MessageId><eb:Timestamp>2026-11-02T02:48:28</eb:Timestamp><eb:RefToMessageId>mid:a37973a5-fca2-4e8a-a048-81797f296b6d</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCreateRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"2.0.0\\\" status=\\\"Approved\\\">\\t<ConversationId>1687197a-1fdf-4399-bb93-aad547384237</ConversationId></SessionCreateRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1200017101082320910</eb:MessageId><eb:Timestamp>2026-11-02T02:48:28</eb:Timestamp><eb:RefToMessageId>mid:6dfa450a-1d25-49f6-a593-3aef2dcec746</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:48:28Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T20:48\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"6\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"200\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"300\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"6\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"4\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.list\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1200044101083810080</eb:MessageId><eb:Timestamp>2026-11-02T02:48:28</eb:Timestamp><eb:RefToMessageId>mid:f52dd06a-7db0-410a-b0a0-2c91e6510a7f</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:48:28Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>QUEUE SELECTED WAS EMPTY</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"probe.I\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1200044101085261410</eb:MessageId><eb:Timestamp>2026-11-02T02:48:28</eb:Timestamp><eb:RefToMessageId>mid:361814ab-7f11-48f3-91f6-3f395b6518c3</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:48:28Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>IGD</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"probe.QXI\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1199941101086241390</eb:MessageId><eb:Timestamp>2026-11-02T02:48:28</eb:Timestamp><eb:RefToMessageId>mid:e35f9c08-1897-4506-bdc9-fc1da04c575d</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:48:28Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>CANNOT DO THIS IF OFF QUEUE</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"probe.QXI\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1200006101087651180</eb:MessageId><eb:Timestamp>2026-11-02T02:48:28</eb:Timestamp><eb:RefToMessageId>mid:ed4cb24c-3852-4103-bad1-f8825c22c9e5</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:48:28Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>CANNOT DO THIS IF OFF QUEUE</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1200044101088681410</eb:MessageId><eb:Timestamp>2026-11-02T02:48:28</eb:Timestamp><eb:RefToMessageId>mid:ef8c789c-b9fb-4562-bbbf-39a4c185d295</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:48:28Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>QUEUE SELECTED WAS EMPTY</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"close\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>1687197a-1fdf-4399-bb93-aad547384237</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCloseRS</eb:Action><eb:MessageData><eb:MessageId>1199968101090081330</eb:MessageId><eb:Timestamp>2026-11-02T02:48:29</eb:Timestamp><eb:RefToMessageId>mid:440999a3-b118-4058-9c6a-21397a50f69d</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCloseRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"1\\\" status=\\\"Approved\\\"/></soap-env:Body></soap-env:Envelope>\"\n }\n ]\n}\n","{\n \"recordedAt\": \"2026-11-02\",\n \"environment\": \"production\",\n \"scenario\": \"walk\",\n \"queue\": 2,\n \"results\": [\n {\n \"step\": \"count\",\n \"ok\": true,\n \"queues\": 32,\n \"totals\": {\n \"messages\": 385,\n \"specials\": 0,\n \"pnrs\": 6048\n }\n },\n {\n \"step\": \"list\",\n \"ok\": true,\n \"locators\": [\n \"AAAAAA\",\n \"AAAAAB\",\n \"AAAAAC\",\n \"AAAAAD\"\n ]\n },\n {\n \"step\": \"probe.I después de list\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: IGD (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"probe.QXI\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"probe.QXI fuera de una cola\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"retryable\": false\n }\n },\n {\n \"step\": \"access\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAA\",\n \"warnings\": 0\n },\n {\n \"step\": \"count dentro de la cola\",\n \"ok\": true,\n \"queues\": 32\n },\n {\n \"step\": \"ignore\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAB\",\n \"warnings\": 0\n },\n {\n \"step\": \"ignore\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAC\",\n \"warnings\": 0\n },\n {\n \"step\": \"ignore\",\n \"ok\": true,\n \"done\": false,\n \"locator\": \"AAAAAD\",\n \"warnings\": 0\n },\n {\n \"step\": \"ignore\",\n \"ok\": true,\n \"done\": true,\n \"message\": \"END OF DISPLAY FOR REQUESTED DATA\",\n \"warnings\": 0\n },\n {\n \"step\": \"close\",\n \"ok\": true\n }\n ],\n \"findings\": {\n \"listedCount\": 4,\n \"visitedCount\": 4,\n \"traversalMatchesList\": true,\n \"endOfDisplay\": true,\n \"listLeavesSessionInside\": false,\n \"qxiOutsideQueue\": {\n \"step\": \"probe.QXI fuera de una cola\",\n \"ok\": false,\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"retryable\": false\n }\n },\n \"countInsideKeepsCursor\": true,\n \"finalState\": \"outside\"\n },\n \"events\": [\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionCreate\",\n \"action\": \"SessionCreateRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 266,\n \"messageId\": \"1247125105523991180\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.open\",\n \"context\": {\n \"version\": \"2.0.0\",\n \"pseudoCityCode\": \"XXXX\"\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 250,\n \"messageId\": \"1247093105526902030\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 102,\n \"messageId\": \"1247182105528151200\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 222,\n \"messageId\": \"1247183105529190990\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: IGD (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 132,\n \"messageId\": \"1247263105531430560\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"warn\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 132,\n \"messageId\": \"574577105532791300\",\n \"error\": {\n \"name\": \"SabreBusinessError\",\n \"retryable\": false,\n \"service\": \"queueAccess\",\n \"code\": \"ERR.SWS.HOST.ERROR_IN_RESPONSE\",\n \"warnings\": [],\n \"errors\": [],\n \"message\": \"queueAccess: CANNOT DO THIS IF OFF QUEUE (ERR.SWS.HOST.ERROR_IN_RESPONSE)\"\n }\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 308,\n \"messageId\": \"1247230105534071340\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueCount\",\n \"action\": \"QueueCountLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 144,\n \"messageId\": \"1247236105537161720\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 272,\n \"messageId\": \"1247174105538621600\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 274,\n \"messageId\": \"1247301105541361240\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 325,\n \"messageId\": \"1247355105544140700\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"queueAccess\",\n \"action\": \"QueueAccessLLSRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 206,\n \"messageId\": \"1247363105547392260\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"debug\",\n \"message\": \"sabre.request.start\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.request.end\",\n \"context\": {\n \"protocol\": \"soap\",\n \"service\": \"sessionClose\",\n \"action\": \"SessionCloseRQ\",\n \"attempt\": 0,\n \"status\": 200,\n \"durationMs\": 92,\n \"messageId\": \"1247386105549450300\",\n \"warnings\": 0\n }\n },\n {\n \"level\": \"info\",\n \"message\": \"sabre.session.close\",\n \"context\": {\n \"pseudoCityCode\": \"XXXX\"\n }\n }\n ],\n \"responses\": [\n {\n \"operation\": \"openSession\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCreateRS</eb:Action><eb:MessageData><eb:MessageId>1247125105523991180</eb:MessageId><eb:Timestamp>2026-11-02T02:55:52</eb:Timestamp><eb:RefToMessageId>mid:a1d9fa8c-2e9e-4f4f-bf0d-a76c3b24dba1</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCreateRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"2.0.0\\\" status=\\\"Approved\\\">\\t<ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</ConversationId></SessionCreateRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247093105526902030</eb:MessageId><eb:Timestamp>2026-11-02T02:55:52</eb:Timestamp><eb:RefToMessageId>mid:ba6adaca-23b2-44cd-a76e-373035c066c8</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:52Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T20:55\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1204\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"4\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6048\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.list\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247182105528151200</eb:MessageId><eb:Timestamp>2026-11-02T02:55:52</eb:Timestamp><eb:RefToMessageId>mid:979b6cc5-f6ad-445d-a59e-8357ba0e5622</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:52Z\\\"/>\\n </stl:ApplicationResults>\\n <Line Number=\\\"1\\\">\\n <DateTime>2026-08-04T18:08</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAA\\\"/>\\n </Line>\\n <Line Number=\\\"2\\\">\\n <DateTime>2026-09-01T20:15</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAB\\\"/>\\n </Line>\\n <Line Number=\\\"3\\\">\\n <DateTime>2026-09-12T14:37</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAC\\\"/>\\n </Line>\\n <Line Number=\\\"4\\\">\\n <DateTime>2026-10-21T20:33</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAD\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>XXXXX XXXX XXX 9XXX XXXXX 999 XX 99XXX XX 9999</Text>\\n <Text>XXX XXX XXXXXXX XXXXXX XX XXXX XXXX XXXXX</Text>\\n <Text>9 XXXXXX XXX XXX 99XXX99 9999</Text>\\n <Text>9 XXXXXX XXX XXX 99XXX99 9999</Text>\\n <Text>9 XXXXXX XXX XXX 99XXX99 9999</Text>\\n <Text>9 XXXXXX XXX XXX 99XXX99 9999</Text>\\n <Text>XXX XX XXXX</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"probe.I\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247183105529190990</eb:MessageId><eb:Timestamp>2026-11-02T02:55:53</eb:Timestamp><eb:RefToMessageId>mid:32b6804d-3647-4aa6-8721-0c58fe41895c</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:55:53Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>IGD</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"probe.QXI\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247263105531430560</eb:MessageId><eb:Timestamp>2026-11-02T02:55:53</eb:Timestamp><eb:RefToMessageId>mid:2d462e6a-6456-4feb-9844-1d30129cfb44</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:55:53Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>CANNOT DO THIS IF OFF QUEUE</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"probe.QXI\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>574577105532791300</eb:MessageId><eb:Timestamp>2026-11-02T02:55:53</eb:Timestamp><eb:RefToMessageId>mid:cb937762-47ad-4035-981c-a12c9e3a5d97</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"NotProcessed\\\">\\n <stl:Error type=\\\"BusinessLogic\\\" timeStamp=\\\"2026-11-02T02:55:53Z\\\">\\n <stl:SystemSpecificResults>\\n <stl:Message>CANNOT DO THIS IF OFF QUEUE</stl:Message>\\n <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>\\n </stl:SystemSpecificResults>\\n </stl:Error>\\n </stl:ApplicationResults>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.access\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247230105534071340</eb:MessageId><eb:Timestamp>2026-11-02T02:55:53</eb:Timestamp><eb:RefToMessageId>mid:f75d90ce-57e3-4f17-929d-4cbde2c49d14</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:53Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-08-04T17:28</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAA\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>084 RATE/CONFIRMATION NUMBER RTND</Text>\\n <Text>9.9XXXXXXXXX XXXXXXXX/XXXX XXXXXXX</Text>\\n <Text>9.9XXXXXX XXXXXXX/XXXXXX XXXXXXX</Text>\\n <Text>9 XXX XX 99XXX X XX9 XXX/XXXX XXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX999 9999999-X</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX XXXXXXXXXXXX XXXXX 99</Text>\\n <Text>XXX. XXX XXXXXXX</Text>\\n <Text>XXXXXXX, XXX X.X. 99999</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXXX XXXXXX -</Text>\\n <Text>¤ XXXXXX XXXXXX</Text>\\n <Text>XXXXXXX,XXXXXX,XXX/XX XXXXXXXXXX XXXXX XXXX XXXXX</Text>\\n <Text>*XX XX XXXXXXX XXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXX99XXX9XXX X</Text>\\n <Text>XXXXXXXX XXX</Text>\\n <Text>GENERAL FACTS</Text>\\n <Text>9.XXX XX XXXX 99999999 XXXXXXXXXXX XXXXX XXX 9XXX</Text>\\n <Text>REMARKS</Text>\\n <Text>9.XX XXXXXX XXXXXXX XXX XXXXXXXXXX XXXXX XX XX XXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXX XXXXX XXX XXXXXXX XX XXX XX XXXXX</Text>\\n <Text>9.9 XXXXX XXXXXXXXXXX X XX XXXXX XX XXXXXXX</Text>\\n <Text>9.XX XXXX XX XXX XX XXXX X XXXXXX, XX XX XXXXX XXXXXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXXXXXX X XX XXXXXXXXX XXXX XX XXXXXX</Text>\\n <Text>9.XX XXXXX XX XX XXXXXX</Text>\\n <Text>9.**XX XXXXXXXXX XXXXX XXXXX XX 99 XXX XXXXX XX XX XXXXXX**</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX XXXXX</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX</Text>\\n <Text>99.XXXXX, XXXXXXXXXXX XXX XXXXXXXXXXXXXX XXXXXXX</Text>\\n <Text>99.XX XXXXXXXXXXX XXXXX XXXXXXXXXXX XX XXXXXXXXXXX</Text>\\n <Text>99.XXXXXXX</Text>\\n <Text>99..XX99XXXXXXX XXXXXXX</Text>\\n <Text>99..XX-99</Text>\\n <Text>99.XXXXX/</Text>\\n <Text>99..XXXXXXXXX</Text>\\n <Text>99..XX-XXX</Text>\\n <Text>99..XX99-XXXXX-999.99-XX XXXXXX</Text>\\n <Text>99..XX99-XXXXX-999.99-XX XXXXXX</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X9999/X9</Text>\\n <Text>999/XXX/XX 9.9XXXXXXXXX XXXXXXXX XXXX XXXXX/9/X/X</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X9999/X9</Text>\\n <Text>999/XXX/XX 9.9XXXXXX XXXXXXX XXXXXX XXXXXXX/9/X/X</Text>\\n <Text>RECEIVED FROM - XXXXXXX XXXXXXX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 AAAAAA H</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.count\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueCountLLSRQ</eb:Service><eb:Action>QueueCountLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247236105537161720</eb:MessageId><eb:Timestamp>2026-11-02T02:55:53</eb:Timestamp><eb:RefToMessageId>mid:5d406d05-c3e6-4b21-b593-721d65a5918e</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueCountRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.2.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:53Z\\\"/>\\n </stl:ApplicationResults>\\n <QueueInfo DateTime=\\\"11-01T20:55\\\" PseudoCityCode=\\\"XXXX\\\">\\n <QueueIdentifier Count=\\\"385\\\" Number=\\\"S\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"28\\\"/>\\n <QueueIdentifier Count=\\\"707\\\" Number=\\\"0\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"42\\\"/>\\n <QueueIdentifier Count=\\\"1204\\\" Number=\\\"1\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"45\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"2\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"50\\\"/>\\n <QueueIdentifier Count=\\\"11\\\" Number=\\\"5\\\"/>\\n <QueueIdentifier Count=\\\"303\\\" Number=\\\"100\\\"/>\\n <QueueIdentifier Count=\\\"95\\\" Number=\\\"6\\\"/>\\n <QueueIdentifier Count=\\\"373\\\" Number=\\\"101\\\"/>\\n <QueueIdentifier Count=\\\"230\\\" Number=\\\"7\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"102\\\"/>\\n <QueueIdentifier Count=\\\"772\\\" Number=\\\"9\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"103\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"11\\\"/>\\n <QueueIdentifier Count=\\\"114\\\" Number=\\\"108\\\"/>\\n <QueueIdentifier Count=\\\"5\\\" Number=\\\"12\\\"/>\\n <QueueIdentifier Count=\\\"3\\\" Number=\\\"110\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"16\\\"/>\\n <QueueIdentifier Count=\\\"807\\\" Number=\\\"115\\\"/>\\n <QueueIdentifier Count=\\\"1\\\" Number=\\\"18\\\"/>\\n <QueueIdentifier Count=\\\"109\\\" Number=\\\"116\\\"/>\\n <QueueIdentifier Count=\\\"76\\\" Number=\\\"20\\\"/>\\n <QueueIdentifier Count=\\\"206\\\" Number=\\\"118\\\"/>\\n <QueueIdentifier Count=\\\"2\\\" Number=\\\"21\\\"/>\\n <QueueIdentifier Count=\\\"795\\\" Number=\\\"120\\\"/>\\n <QueueIdentifier Count=\\\"9\\\" Number=\\\"22\\\"/>\\n <QueueIdentifier Count=\\\"72\\\" Number=\\\"195\\\"/>\\n <QueueIdentifier Count=\\\"12\\\" Number=\\\"24\\\"/>\\n <QueueIdentifier Count=\\\"105\\\" Number=\\\"25\\\"/>\\n </QueueInfo>\\n <Totals Count=\\\"385\\\" Type=\\\"MESSAGES\\\"/>\\n <Totals Count=\\\"0\\\" Type=\\\"SPECIALS\\\"/>\\n <Totals Count=\\\"6047\\\" Type=\\\"PNRS\\\"/>\\n</QueueCountRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.ignore\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247174105538621600</eb:MessageId><eb:Timestamp>2026-11-02T02:55:54</eb:Timestamp><eb:RefToMessageId>mid:497d87c0-3e42-4117-988a-ff70bf7e9806</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:54Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-09-01T19:49</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAB\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>084 RATE/CONFIRMATION NUMBER RTND</Text>\\n <Text>9.9XXXXX XXXXXX/XXXXX</Text>\\n <Text>9 XXX XX 99XXX X XX9 XXX/XXXX XXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX999 9999999-X</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX XXXXXXXXXXXX XXXXX 99</Text>\\n <Text>XXX. XXX XXXXXXX</Text>\\n <Text>XXXXXXX, XXX X.X. 99999</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXXX XXXXXX -</Text>\\n <Text>¤ XXXXXX XXXXXX</Text>\\n <Text>XXXXXXX,XXXXXX,XXX/XX XXXXXXXXXX XXXXX XXXX XXXXX</Text>\\n <Text>*XX XX XXXXXXX XXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX XX XX/XX9999999999999</Text>\\n <Text>9.XXX 9X XXX XXXXXXXXX XXXXXXXX</Text>\\n <Text>9.XXX 9X XXXXXX XX XXXXXXXXX XXXXXXXX 9999999999999 XXXXXX 99</Text>\\n <Text>X</Text>\\n <Text>9.XXX 9X 99999999</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-9XXXX XXX XXXX XX</Text>\\n <Text>XX XXX XXX</Text>\\n <Text>GENERAL FACTS</Text>\\n <Text>9.XXX XX XXXX 99999999 XXXXXXXXXXX XXXXX XXX 9XXX</Text>\\n <Text>9.XXX XX XXXX XX999</Text>\\n <Text>9.XXX XX XXXX 999999999-</Text>\\n <Text>REMARKS</Text>\\n <Text>9.XX XXXXXX XXXXXXX XXX XXXXXXXXXX XXXXX XX XX XXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXX XXXXX XXX XXXXXXX XX XXX XX XXXXX</Text>\\n <Text>9.9 XXXXX XXXXXXXXXXX X XX XXXXX XX XXXXXXX</Text>\\n <Text>9.XX XXXX XX XXX XX XXXX X XXXXXX, XX XX XXXXX XXXXXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXXXXXX X XX XXXXXXXXX XXXX XX XXXXXX</Text>\\n <Text>9.XX XXXXX XX XX XXXXXX</Text>\\n <Text>9.**XX XXXXXXXXX XXXXX XXXXX XX 99 XXX XXXXX XX XX XXXXXX**</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX XXXXX</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX</Text>\\n <Text>99.XXXXX, XXXXXXXXXXX XXX XXXXXXXXXXXXXX XXXXXXX</Text>\\n <Text>99.XX XXXXXXXXXXX XXXXX XXXXXXXXXXX XX XXXXXXXXXXX</Text>\\n <Text>99.XXXXXXX</Text>\\n <Text>99..XX99XXXXXXX XXXXXX</Text>\\n <Text>99..XX-99</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.XXXXX/</Text>\\n <Text>99..XX-XXX</Text>\\n <Text>99..XX99-XXXXXX-999.99-9999</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 999/X999/X99</Text>\\n <Text>9/XXX/XXXX9999999999999999 9.9XXXXX XXXXXX XXXXX/9/X/X</Text>\\n <Text>RECEIVED FROM - XXXXXXX XXXXXX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 AAAAAB H</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.ignore\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247301105541361240</eb:MessageId><eb:Timestamp>2026-11-02T02:55:54</eb:Timestamp><eb:RefToMessageId>mid:31b11fbb-ef60-4a82-b41f-157edc016b8a</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:54Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-09-06T11:11</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAC\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>084 RATE/CONFIRMATION NUMBER RTND</Text>\\n <Text>9.9XXXXX XXXXXX/XXXXXX</Text>\\n <Text>9 XXX XX 99XXX X XX9 XXX/XXXXX XXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX999 9999999-X</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX XXXXXXXXXXXX XXXXX 99</Text>\\n <Text>XXX. XXX XXXXXXX</Text>\\n <Text>XXXXXXX, XXX X.X. 99999</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX/XXXXXX</Text>\\n <Text>XXXXXX XXXXXX -</Text>\\n <Text>¤ XXXXXX XXXXXX</Text>\\n <Text>XXXXXXXX XXXXXXXX XXXX XXXXXX *XX XX XXXXXXX XXX</Text>\\n <Text>XXXXXXX,XXXXXX,XXX/XX XXXXXXXXXX XXXXX XXXX XXXXX</Text>\\n <Text>*XX XX XXXXXXX XXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXXX99XXX9XXX</Text>\\n <Text>XXXXXXXXX XXX</Text>\\n <Text>9.XXX XXXX 9X XXXXX XXXXXXXX XX XXXXXXX XX XXXXX XXXX</Text>\\n <Text>9.XXX XXXX 9X XXX XXXXXXXX XXXXXXXX XXXXXXX XX 99XXX99 9999XX</Text>\\n <Text>X</Text>\\n <Text>9.XXX XXXX 9X 9999999999999 XXXX9 XXX 999 XX 999 XXX9</Text>\\n <Text>9.XXX XXXX 9X XX XXXXXXXX XXX XX XXXXXX XX XXXXXXXXX XXXXXX</Text>\\n <Text>9.XXX XXXX 9X XX XXXXXX XX XXXX XXXX XXX XX XXXX XXX XX XXXXX</Text>\\n <Text>GENERAL FACTS</Text>\\n <Text>9.XXX XX XXXX 99999999 XXXXXXXXXXX XXXXX XXX 9XXX</Text>\\n <Text>REMARKS</Text>\\n <Text>9.XX XXXXXX XXXXXXX XXX XXXXXXXXXX XXXXX XX XX XXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXX XXXXX XXX XXXXXXX XX XXX XX XXXXX</Text>\\n <Text>9.9 XXXXX XXXXXXXXXXX X XX XXXXX XX XXXXXXX</Text>\\n <Text>9.XX XXXX XX XXX XX XXXX X XXXXXX, XX XX XXXXX XXXXXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXXXXXX X XX XXXXXXXXX XXXX XX XXXXXX</Text>\\n <Text>9.XX XXXXX XX XX XXXXXX</Text>\\n <Text>9.**XX XXXXXXXXX XXXXX XXXXX XX 99 XXX XXXXX XX XX XXXXXX**</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX XXXXX</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX</Text>\\n <Text>99.XXXXX, XXXXXXXXXXX XXX XXXXXXXXXXXXXX XXXXXXX</Text>\\n <Text>99.XX XXXXXXXXXXX XXXXX XXXXXXXXXXX XX XXXXXXXXXXX</Text>\\n <Text>99.XXXXXXX</Text>\\n <Text>99..XX-99</Text>\\n <Text>99..XX99XXXXXXX XXXXXX</Text>\\n <Text>99..XX99-XXXXX-999.99-9999</Text>\\n <Text>99..XX-XXX</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/999/XXX9999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXXX/</Text>\\n <Text>99.XXXXX/</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/999/XXX999</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXXX/</Text>\\n <Text>99.X-XXXX/9999999999999/9XXX*XXX/9XXX*XXX</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99/ 9999/ 99/X9999/X9</Text>\\n <Text>999/XXX/XXXX999999999999999 9.9XXXXX XXXXXX XXXXXX/9/X/X</Text>\\n <Text>9. XX9999999999/ 9/ 999/ 9/X99/X9/XXX/XXXX</Text>\\n <Text>999999999999999 9.9XXXXX XXXXXX XXXXXX/9/X/X-99999999999</Text>\\n <Text>99/99</Text>\\n <Text>RECEIVED FROM - XXXXXXXXX XXXXXX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 AAAAAC H</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.ignore\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247355105544140700</eb:MessageId><eb:Timestamp>2026-11-02T02:55:54</eb:Timestamp><eb:RefToMessageId>mid:44b2358f-b88b-47b5-bcf9-120cd2174325</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:54Z\\\"/>\\n </stl:ApplicationResults>\\n <Line>\\n <DateTime>2026-10-09T12:42</DateTime>\\n <POS>\\n <Source AgentSine=\\\"AAA\\\" PseudoCityCode=\\\"XXXX\\\"/>\\n </POS>\\n <UniqueID ID=\\\"AAAAAD\\\"/>\\n </Line>\\n <Paragraph>\\n <Text>084 RATE/CONFIRMATION NUMBER RTND</Text>\\n <Text>9.9XXXXX XXXXXXX/XXXXXXX</Text>\\n <Text>9 XXX XX 99XXX X XX9 XXX/XXXX XXXXX</Text>\\n <Text>TKT/TIME LIMIT</Text>\\n <Text>9.X-99XXX-9XXX*XXX</Text>\\n <Text>PHONES</Text>\\n <Text>9.XXX999 9999999-X</Text>\\n <Text>XXXXXXXXX XXXXXX *XX XX XXXXXXX</Text>\\n <Text>PASSENGER EMAIL DATA EXISTS *PE TO DISPLAY ALL</Text>\\n <Text>XXXXXXXX XXXXXX - 999999</Text>\\n <Text>INVOICED</Text>\\n <Text>ADDRESS</Text>\\n <Text>XXXXXXXXXXX XXXXX XX XX XX</Text>\\n <Text>XXXXXXX XXXXXXXXXXXX XXXXX 99</Text>\\n <Text>XXX. XXX XXXXXXX</Text>\\n <Text>XXXXXXX, XXX X.X. 99999</Text>\\n <Text>XXXXX XXXXX XXXXXX XXXXXX - XXXXXX</Text>\\n <Text>XXXXXX XXXXXX -</Text>\\n <Text>¤ XXXXXX XXXXXX</Text>\\n <Text>XXXXXXXX XXXXXXXX XXXX XXXXXX *XX XX XXXXXXX XXX</Text>\\n <Text>XXXXXXX,XXXXXX,XXX/XX XXXXXXXXXX XXXXX XXXX XXXXX</Text>\\n <Text>*XX XX XXXXXXX XXX</Text>\\n <Text>XXXXXXXX XXXX XXXXXX *X9X XX *X9X XX XXXXXXX</Text>\\n <Text>AA FACTS</Text>\\n <Text>XXXX XXXX XXXXXX - XXXXXX XXX *X9 XX XXXX</Text>\\n <Text>9.XXX XXXX XX XX/XX9999999999999</Text>\\n <Text>9.XXX 9X XXX XXXXXXXXX XXXXXXXX</Text>\\n <Text>9.XXX XXXX 9X XXXX XX 99XXX99 9999XXX XXX 9-999XXXX XXX XXXX</Text>\\n <Text>XXXX XXX XXX</Text>\\n <Text>9.XXX 9X XXXXXX XX XXXXXXXXX XXXXXXXX 9999999999999 XXXXXX 99</Text>\\n <Text>X</Text>\\n <Text>9.XXX 9X 99999999</Text>\\n <Text>9.XXX 9X XXXXXX XX XXXXXXXXX XXXXXXXX 9999999999999 XXXXXX 99</Text>\\n <Text>X</Text>\\n <Text>9.XXX 9X X/ XXXX XXX99 9999999999 X 99.99</Text>\\n <Text>9.XXX 9X XXXXXX XX XXXXXXXXX XXXXXXXX 9999999999999 XXXXXX 99</Text>\\n <Text>X</Text>\\n <Text>99.XXX 9X 99999999</Text>\\n <Text>99.XXX 9X XXXXXX XX XXXXXXXXX XXXXXXXX 9999999999999 XXXXXX 99</Text>\\n <Text>X</Text>\\n <Text>99.XXX XXXX 9X XXXX XXXXXXXXXXX XX XXXXXXX XXX</Text>\\n <Text>99.XXX XXXX 9X XX XXXXXXXX XXX XX XXXXXX XX XXXXXXXXX XXXXXX</Text>\\n <Text>99.XXX XXXX 9X XX XXXXXX XX XXXX XXXX XXX XX XXXX XXX XX XXXXX</Text>\\n <Text>99.XXX XXXX 9X XXXX XXX XX XXX XXXXXXX</Text>\\n <Text>GENERAL FACTS</Text>\\n <Text>9.XXX XX XXXX 99999999 XXXXXXXXXXX XXXXX XXX 9XXX</Text>\\n <Text>9.XXX XX XXXX XX999</Text>\\n <Text>9.XXX XX XXXX 999999999-</Text>\\n <Text>REMARKS</Text>\\n <Text>9.XX XXXXXX XXXXXXX XXX XXXXXXXXXX XXXXX XX XX XXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXX XXXXX XXX XXXXXXX XX XXX XX XXXXX</Text>\\n <Text>9.9 XXXXX XXXXXXXXXXX X XX XXXXX XX XXXXXXX</Text>\\n <Text>9.XX XXXX XX XXX XX XXXX X XXXXXX, XX XX XXXXX XXXXXXXX</Text>\\n <Text>9.XX XXXXXXXXX XXXXXXXX X XX XXXXXXXXX XXXX XX XXXXXX</Text>\\n <Text>9.XX XXXXX XX XX XXXXXX</Text>\\n <Text>9.**XX XXXXXXXXX XXXXX XXXXX XX 99 XXX XXXXX XX XX XXXXXX**</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX XXXXX</Text>\\n <Text>9.XX XXXXXX XXXXXXXXXXXXXXX XXXXX XX XXXXXXXXXXX 9 XXX</Text>\\n <Text>99.XXXXX, XXXXXXXXXXX XXX XXXXXXXXXXXXXX XXXXXXX</Text>\\n <Text>99.XX XXXXXXXXXXX XXXXX XXXXXXXXXXX XX XXXXXXXXXXX</Text>\\n <Text>99.XXXXXXX</Text>\\n <Text>99..XX99XXXXXXX XXXXXX</Text>\\n <Text>99..XX-99</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999.99</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.XXXXX/</Text>\\n <Text>99..XX-XXX</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX9999.99</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X-XXXX/9999999999999/9XXX*XXX/9XXX*XXX</Text>\\n <Text>99.X-XXXX-XXXX/XX9999/99XXX/99999999999999999999</Text>\\n <Text>99.X- XXXX-XXX/999999/99/XXX999.99</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99.X- XXXX-XXX XXX XXXXXXXX/</Text>\\n <Text>99..XX99-XXXXXX-999.99-9999</Text>\\n <Text>99.X-XXX</Text>\\n <Text>XXXXXXXXXX XXXX</Text>\\n <Text>9. XX9999999999/ 99.99/ 9999.99/ 999.99/X999.99/</Text>\\n <Text>X999.99/XXX/XXXX9999999999999999 9.9XXXX/9/X/X</Text>\\n <Text>9. XX9999999999/ 99.99/ 9999.99/ 9.99/X999.99/</Text>\\n <Text>X999.99/XXX/XXXX9999999999999999 9.9XXXXX XXXXXXX XXXXXXX</Text>\\n <Text>/9/X/X-9999999999999/99</Text>\\n <Text>9. XX9999999999/ 9.99/ 999.99/ 9.99/X999.99/X9.9</Text>\\n <Text>9/XXX/XXXX9999999999999999 9.9XXXXX XXXXXXX XXXXXXX/9/X/X</Text>\\n <Text>XX</Text>\\n <Text>RECEIVED FROM - XXXXXXX XXXXXX</Text>\\n <Text>9XXX.9XXX*XXX 9999/99XXX99 AAAAAD H</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"queue.ignore\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service>QueueAccessLLSRQ</eb:Service><eb:Action>QueueAccessLLSRS</eb:Action><eb:MessageData><eb:MessageId>1247363105547392260</eb:MessageId><eb:Timestamp>2026-11-02T02:55:54</eb:Timestamp><eb:RefToMessageId>mid:608af838-ced1-4e40-9fe4-d58058352510</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><QueueAccessRS xmlns=\\\"http://webservices.sabre.com/sabreXML/2011/10\\\" xmlns:xs=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:stl=\\\"http://services.sabre.com/STL/v01\\\" Version=\\\"2.1.1\\\">\\n <stl:ApplicationResults status=\\\"Complete\\\">\\n <stl:Success timeStamp=\\\"2026-11-02T02:55:54Z\\\"/>\\n </stl:ApplicationResults>\\n <Paragraph>\\n <Text>END OF DISPLAY FOR REQUESTED DATA</Text>\\n </Paragraph>\\n</QueueAccessRS></soap-env:Body></soap-env:Envelope>\"\n },\n {\n \"operation\": \"close\",\n \"status\": 200,\n \"attempts\": 1,\n \"body\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<soap-env:Envelope xmlns:soap-env=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"><soap-env:Header><eb:MessageHeader xmlns:eb=\\\"http://www.ebxml.org/namespaces/messageHeader\\\" eb:version=\\\"1.0\\\" soap-env:mustUnderstand=\\\"1\\\"><eb:From><eb:PartyId eb:type=\\\"URI\\\"/></eb:From><eb:To><eb:PartyId eb:type=\\\"URI\\\"/></eb:To><eb:CPAId>XXXX</eb:CPAId><eb:ConversationId>f72193ed-73f9-4fe8-9ed8-bdbec43a7259</eb:ConversationId><eb:Service eb:type=\\\"sabreXML\\\">Session</eb:Service><eb:Action>SessionCloseRS</eb:Action><eb:MessageData><eb:MessageId>1247386105549450300</eb:MessageId><eb:Timestamp>2026-11-02T02:55:54</eb:Timestamp><eb:RefToMessageId>mid:a8b7ba31-e1bb-4f9c-81c6-b9ff8dcea4c4</eb:RefToMessageId></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse=\\\"http://schemas.xmlsoap.org/ws/2002/12/secext\\\"><wsse:BinarySecurityToken valueType=\\\"String\\\" EncodingType=\\\"wsse:Base64Binary\\\">[REDACTED]</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><SessionCloseRS xmlns=\\\"http://www.opentravel.org/OTA/2002/11\\\" version=\\\"1\\\" status=\\\"Approved\\\"/></soap-env:Body></soap-env:Envelope>\"\n }\n ],\n \"postprocessed\": \"2026-11-06 (#166): la anonimización de esta corrida enmascaró la línea de firma entera. Se le devolvió la forma (alias del localizador y la H final) con la regla que hoy aplica createAnonymizer: el alias de cada sobre sale de su Line/UniqueID. Firmas corregidas: 4.\"\n}\n","// Respuestas de producción grabadas en la validación del Tier 3 (#96 y #97), anonimizadas: PCC\n// como `XXXX`, firmas como `AAA`, localizadores como alias (`AAAAAA`…), el token como\n// `[REDACTED]` y el párrafo enmascarado (letras a `X`, dígitos a `9`), salvo los avisos PIC,\n// los encabezados fijos y el fin de cola. Ver scripts/lib/legacy-recorder.mjs.\nimport placeJson from '../../test/fixtures/queue.production-place.json';\nimport placeWithoutCodeJson from '../../test/fixtures/queue.production-place-sin-pic.json';\nimport placeWithoutCodeInsideJson from '../../test/fixtures/queue.production-place-sin-pic-adentro.json';\nimport emptyQueueJson from '../../test/fixtures/queue.production-walk-empty-queue.json';\nimport walkJson from '../../test/fixtures/queue.production-walk.json';\n\n/** Una respuesta grabada: la operación del SDK, el HTTP status y el sobre SOAP tal cual llegó. */\nexport interface RecordedResponse {\n /** `operation` de `onRawResponse` (`'openSession'`, `'queue.access'`…) o `probe.*` si el script la mandó crudo. */\n operation: string;\n status: number;\n body: string;\n}\n\n/** Una corrida grabada: sus respuestas en el orden en que llegaron. */\nexport interface RecordedFixture {\n /** Fecha de la corrida, `YYYY-MM-DD` en UTC. */\n recordedAt: string;\n responses: readonly RecordedResponse[];\n}\n\nfunction fixture(json: { recordedAt: string; responses: readonly RecordedResponse[] }): RecordedFixture {\n return Object.freeze({\n recordedAt: json.recordedAt,\n responses: Object.freeze(\n json.responses.map(({ operation, status, body }) => Object.freeze({ operation, status, body })),\n ),\n });\n}\n\n/**\n * Las corridas de producción del Tier 3. Cada una usa sus propios alias de localizador, así que\n * se pueden juntar en un fake con `queueFakePnrs` sin que choquen:\n * - `walk`: `AAAAAA`–`AAAAAD`; `place`: `AAAAAE`–`AAAAAF`;\n * `placeWithoutInstructionCodeInside`: `AAAAAG`–`AAAAAH`.\n *\n * Qué trae cada una:\n * - `walk`: `count`, `list`, `access` y `ignore` sobre una cola de 4 PNR hasta el fin de cola,\n * más `I` y `QXI` fuera de una cola;\n * - `emptyQueue`: `access` y `list` sobre una cola vacía (`QUEUE SELECTED WAS EMPTY`);\n * - `place`: `place` fuera y dentro de una cola, y `remove` hasta el fin de cola;\n * - `placeWithoutInstructionCode` y `placeWithoutInstructionCodeInside`: `place` sin PIC, fuera\n * (`INSTRUCTION NUMBER NOT IN RANGE`) y dentro de una cola (`NEED INSTRUCTION NUMBER`).\n *\n * El `list` de `walk` se grabó sin `primaryPassenger: true` (sin `/LN`), así que ningún `Line`\n * trae `PassengerName` (#193).\n */\nexport const queueFixtures: Readonly<{\n walk: RecordedFixture;\n emptyQueue: RecordedFixture;\n place: RecordedFixture;\n placeWithoutInstructionCode: RecordedFixture;\n placeWithoutInstructionCodeInside: RecordedFixture;\n}> = Object.freeze({\n walk: fixture(walkJson),\n emptyQueue: fixture(emptyQueueJson),\n place: fixture(placeJson),\n placeWithoutInstructionCode: fixture(placeWithoutCodeJson),\n placeWithoutInstructionCodeInside: fixture(placeWithoutCodeInsideJson),\n});\n"],"mappings":"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","names":["XMLParser","XMLParser","text","envelope","node","text","text","XMLParser","text","text","parser","XMLParser","node","lines","textLines","text","element","text","fixture","locator"]}
|