Skip to content

Commit 693bc35

Browse files
author
Michael De Guzman
authored
feat: enable order filtering by passenger name and booking reference (#97)
1 parent 3f01b40 commit 693bc35

2 files changed

Lines changed: 30 additions & 0 deletions

File tree

src/booking/Orders/Orders.spec.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,24 @@ describe('Orders', () => {
5353
const response = await new Orders(new Client({ token: 'mockToken' })).create(mockCreateOrderRequest)
5454
expect(response.data?.id).toBe(mockOrder.id)
5555
})
56+
57+
test('should get orders matching a passenger name', async () => {
58+
nock(/(.*)/)
59+
.get(`/air/orders?passenger_name[]=Earhart`)
60+
.reply(200, { data: [mockOrder], meta: { limit: 1, before: null, after: null } })
61+
62+
const response = await new Orders(new Client({ token: 'mockToken' })).list({ 'passenger_name[]': ['Earhart'] })
63+
expect(response.data).toHaveLength(1)
64+
expect(response.data[0].passengers[0].family_name).toContain('Earhart')
65+
})
66+
67+
test('should get orders matching a given PNR / booking reference', async () => {
68+
nock(/(.*)/)
69+
.get(`/air/orders?booking_reference=RZPNX8`)
70+
.reply(200, { data: [mockOrder], meta: { limit: 1, before: null, after: null } })
71+
72+
const response = await new Orders(new Client({ token: 'mockToken' })).list({ booking_reference: 'RZPNX8' })
73+
expect(response.data).toHaveLength(1)
74+
expect(response.data[0].booking_reference).toBe('RZPNX8')
75+
})
5676
})

src/booking/Orders/OrdersTypes.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -524,4 +524,14 @@ export interface ListParamsOrders {
524524
* Whether to filter orders that are awaiting payment or not. If not specified, all orders regardless of their payment state will be returned.
525525
*/
526526
awaiting_payment?: boolean
527+
528+
/**
529+
* Whether to filter orders matching a passenger name. Partial and exact matches in given and family names will be returned.
530+
*/
531+
'passenger_name[]'?: string[]
532+
533+
/**
534+
* Whether to filter orders matching a given passenger name record (PNR)
535+
*/
536+
booking_reference?: string
527537
}

0 commit comments

Comments
 (0)