---
title: "Get My Bookings"
method: GET
path: "/bookings/my-bookings/"
tags: ["bookings"]
---

# Get My Bookings

`GET /bookings/my-bookings/`

Get Axel-booked travel for the authenticated user.

Returns all bookings sourced from Axel, sorted by travel date ascending
(nulls last), including Travel's customer-safe repricing state. Enriches with
conv_trip_name from the brain service and image_url from the content service.

## Response `200`

Successful Response

- MyBookingsResponse
  - `bookings` union[], required
    - union
      - MyFlightBooking
        - `id` string, required
        - `booking_type` 'flight'
        - `status` 'pending' | 'confirmed' | 'in_progress' | 'cancelled' | 'completed', required — Lifecycle status of a booking. Determines whether booking is actionable for repricing/modification.
        - `source` 'axel' | 'imported'
        - `confirmation_code` string, nullable
        - `booking_provider` string, nullable
        - `fare_family_label` string, nullable
        - `import_missing_fields` string[] — Missing parsed import details; not proof of repricing eligibility.
        - `total_price` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
          - `amount` integer, required
          - `currency` string, required
        - `credit_applied` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
          - `amount` integer, required
          - `currency` string, required
        - `total_savings` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
          - `amount` integer, required
          - `currency` string, required
        - `pricing_breakdown` FlightPricingBreakdown — Typed price summary for an Axel-booked flight.
          - `supplier_price` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
            - `amount` integer, required
            - `currency` string, required
          - `price_after_axel_deal` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
            - `amount` integer, required
            - `currency` string, required
          - `final_customer_price` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
            - `amount` integer, required
            - `currency` string, required
          - `discounts` FlightDiscountLineItem[] — Typed discount line items in the order they were applied.
            - `type` 'axel_deal' | 'member_deal' | 'promo_code' | 'axel_negotiation' | 'hotel_saving', required — Discount source. Frontend can use this as a stable discriminator.
            - `label` string, required — Human-readable display label for the discount.
            - `amount` Money, required — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
              - …
            - `code` string, nullable — Promo code when this line is a promo_code discount.
            - `percentage` union — Configured promo percentage when this line is a percentage promo.
              - …
            - `basis` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
              - …
            - `offer_id` string, nullable — Limited-time offer id when this line comes from a time-limited Axel Deal.
            - `status` string, nullable — Offer status when this line comes from a time-limited offer.
            - `expires_at` string, date-time, nullable — Expiration timestamp for time-limited discount lines.
        - `axel_deal_savings` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
          - `amount` integer, required
          - `currency` string, required
        - `travel_date` string, date, nullable
        - `is_past` boolean
        - `conv_trip_id` string, uuid, nullable
        - `conv_trip_name` string, nullable
        - `created_at` string, date-time, required
        - `segments` FlightSegmentView[], required
          - `leg_index` integer, required — 0=outbound, 1=return, etc.
          - `segment_index` integer, required — Index within leg
          - `flight_number` string, required — Bare per-segment number, e.g. '2606'. Pairs with marketing_carrier_code ('DL') to compose display tokens like 'DL2606' at the UI boundary; never pre-joined here.
          - `marketing_carrier_code` string, nullable
          - `marketing_carrier_name` string, nullable
          - `operating_carrier_code` string, nullable
          - `operating_carrier_name` string, nullable
          - `origin` string, required — IATA code, e.g., 'LAX'
          - `origin_city` string, nullable — City name, e.g., 'Los Angeles'
          - `destination` string, required — IATA code, e.g., 'SEA'
          - `destination_city` string, nullable — City name, e.g., 'Seattle'
          - `departure_date` string, date, nullable
          - `departure_time` string, time, nullable
          - `arrival_time` string, time, nullable
          - `duration_minutes` integer, nullable — Flight duration
          - `layover_airport` string, nullable — IATA code of layover airport
          - `layover_city` string, nullable — City name of layover
          - `layover_minutes` integer, nullable — Minutes until next segment departs
        - `travelers` MyFlightTraveler[]
          - `first_name` string, required
          - `middle_name` string, nullable
          - `last_name` string
          - `display_name` string, required
          - `is_primary` boolean
          - `traveler_profile_id` string, nullable
          - `date_of_birth` string, date, nullable
        - `airline_code` string, nullable
        - `airline_name` string, nullable
        - `supports_repricing` boolean
        - `repricing` MyFlightRepricing
          - `status` 'monitoring' | 'recovering' | 'unavailable' | 'ended', nullable, required
          - `paused_for_membership` boolean, nullable
          - `source` 'axel' | 'supplier', required
          - `unavailable_reason` 'fare_restriction', nullable
          - `pending_reason` 'receipt_details' | 'first_check', nullable
          - `quote` MyFlightRepricingQuote — Verified current price for the same itinerary, fare and travel party.
            - `price` Money, required — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
              - …
            - `checked_at` string, date-time, required
            - `fare_label` string, required
            - `stale` boolean
          - `credits` MyFlightRepricingCredit[], required
            - `id` string, required
            - `amount` Money, required — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
              - …
            - `kind` 'airline' | 'axel', required
            - `issued_at` string, date-time, required
        - `cancellation_request` MyFlightCancellationRequest
          - `id` string, required
          - `status` string, required
          - `refund_status` string, required
          - `supplier_status` string, required
          - `auto_refund_eligible` boolean
          - `refund_review_requested` boolean
          - `requested_at` string, date-time, required
          - `refund_amount` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
            - `amount` integer, required
            - `currency` string, required
        - `support_request` FlightSupportRequest, required — Customer-safe request projected onto a flight booking.
          - `id` string, uuid, required
          - `topic` 'date_time' | 'passenger_name' | 'ktn_rewards' | 'bag' | 'seat' | 'other', required — Customer-selected reason for requesting help with a flight booking.
          - `message` string, required
          - `status` 'open' | 'resolved', required — Customer-visible support-request states.
          - `created_at` string, date-time, required
          - `resolved_at` string, date-time, nullable, required
          - `resolution_note` string, nullable, required
        - `modified_at` string, date-time, nullable
        - `modification_note` string, nullable
      - MyHotelBooking
        - `id` string, required
        - `booking_type` 'hotel'
        - `hotel_purchase_id` string, nullable
        - `status` 'pending' | 'confirmed' | 'in_progress' | 'cancelled' | 'completed', required — Lifecycle status of a booking. Determines whether booking is actionable for repricing/modification.
        - `confirmation_code` string, nullable
        - `booking_provider` string, nullable
        - `total_price` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
          - `amount` integer, required
          - `currency` string, required
        - `credit_applied` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
          - `amount` integer, required
          - `currency` string, required
        - `total_savings` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
          - `amount` integer, required
          - `currency` string, required
        - `travel_date` string, date, nullable
        - `is_past` boolean
        - `conv_trip_id` string, uuid, nullable
        - `conv_trip_name` string, nullable
        - `created_at` string, date-time, required
        - `hotel_id` string, nullable
        - `hotel_name` string, nullable
        - `hotel_chain` string, nullable
        - `city` string, nullable
        - `check_in_date` string, date, nullable
        - `check_out_date` string, date, nullable
        - `nights` integer, nullable
        - `guests` integer, nullable
        - `room_type` string, nullable
        - `image_url` string, nullable
        - `image_urls` string[] — Hotel image URLs in display order (max 5). The FE should fall back to the next URL when one fails to load, e.g. expired Google Places photo URLs returning 403.
        - `needs_payment` boolean
        - `payment_method` MyBookingPaymentMethod — Saved card summary for display.
          - `brand` string, required
          - `last4` string, required
  - `upcoming_count` integer
  - `needs_payment_count` integer
  - `total_savings` Money — Immutable money value stored as integer minor units. Amount is always stored in the smallest currency unit (cents, yen, pesos, etc). This avoids floating-point precision issues and matches payment processor standards. Examples: $19.99 USD -> Money(amount=1999, currency="USD") ¥1000 JPY -> Money(amount=1000, currency="JPY") $1000.00 CLP -> Money(amount=1000, currency="CLP") Serializes to {"amount": 1999, "currency": "USD"}. IMPORTANT: Use Money.from_decimal() for user-facing amounts like "$19.99". The constructor expects integer minor units (cents).
    - `amount` integer, required
    - `currency` string, required

## Changes

> 16 revisions in range; 1 not diffed.

- **2026-09-19** `e5f778e80f9a` — 1 warning
  - added the new `hotel_saving` enum value to the `bookings/items/oneOf[subschema #1: MyFlightBooking]/pricing_breakdown/anyOf[subschema #1: FlightPricingBreakdown]/discounts/items/type` response property for the response status `200`
- **2026-09-17** `74c5393c2f89` — 2 breaking, 6 info
  - the response property `bookings/items/oneOf[subschema #1: MyFlightBooking]/segments/items/departure_date` became optional for the status `200`
  - response property `bookings/items/oneOf[subschema #1: MyFlightBooking]/segments/items/departure_date` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - added the optional property `bookings/items/oneOf[subschema #1: MyFlightBooking]/fare_family_label` to the response with the `200` status
  - added the optional property `bookings/items/oneOf[subschema #1: MyFlightBooking]/import_missing_fields` to the response with the `200` status
  - …4 more
- **2026-09-16** `ca05fbc4893d` — 1 info
  - added the optional property `bookings/items/oneOf[subschema #1: MyFlightBooking]/repricing` to the response with the `200` status

[Change history](https://skmtc.dev/helloaxel/apis/client-api-gateway/changes/bookings/my-bookings/get.md)

---

[API](https://skmtc.dev/helloaxel/apis/client-api-gateway.md) · [All operations](https://skmtc.dev/helloaxel/apis/client-api-gateway/llms.txt) · [OpenAPI document](https://skmtc.dev/helloaxel/apis/client-api-gateway/revisions/d777249f5e71?raw)
