United Airlines · Capability

United Airlines Flight Booking

United Airlines flight booking and travel management capability combining NDC shopping, booking creation, servicing, and flight status into a unified workflow for travel agencies, corporate booking tools, and online travel platforms.

Run with Naftiko AirlinesTravelFlight BookingNDCCorporate TravelShopping

What You Can Do

POST
Search flight offers — Search for available United Airlines flights with continuous pricing
/v1/offers
GET
Get flight offer — Get detailed pricing for a specific offer
/v1/offers
POST
Create booking — Create a new flight booking
/v1/bookings
GET
List bookings — List all bookings
/v1/bookings
GET
Get booking — Get booking details
/v1/bookings/{id}
DELETE
Cancel booking — Cancel a booking
/v1/bookings/{id}
POST
Exchange booking — Exchange flights on an existing booking
/v1/bookings/{id}/exchange
POST
Add ancillary — Add seat, bag, or upgrade to a booking
/v1/bookings/{id}/ancillaries
GET
Get flight status — Get real-time status for a flight
/v1/flights/status
GET
Get flight schedules — Get flight schedules for a route
/v1/flights/schedules

MCP Tools

search-flights

Search for available United Airlines flights with pricing, bundles, and cabin options

read-only
get-flight-offer

Get detailed pricing and availability for a specific flight offer

read-only
create-booking

Book United Airlines flights for one or more passengers

list-bookings

List existing flight bookings with optional status and date filters

read-only
get-booking

Retrieve details of a specific United Airlines booking

read-only
cancel-booking

Cancel a United Airlines flight booking

idempotent
exchange-booking

Change flights on an existing booking

add-ancillary

Add seat selection, checked bag, or upgrade to a booking

get-flight-status

Get real-time departure, arrival, and gate status for a United flight

read-only
get-flight-schedules

Get United Airlines schedules for a specific route and date range

read-only

APIs Used

united-airlines-ndc

Capability Spec

Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "United Airlines Flight Booking"
  description: >-
    United Airlines flight booking and travel management capability combining NDC shopping,
    booking creation, servicing, and flight status into a unified workflow for travel agencies,
    corporate booking tools, and online travel platforms.
  tags:
    - Airlines
    - Travel
    - Flight Booking
    - NDC
    - Corporate Travel
    - Shopping
  created: "2026-05-03"
  modified: "2026-05-03"

binds:
  - namespace: env
    keys:
      UNITED_AIRLINES_OAUTH_TOKEN: UNITED_AIRLINES_OAUTH_TOKEN

capability:
  consumes:
    - import: united-airlines-ndc
      location: ./shared/united-airlines-ndc.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: united-airlines-booking-api
      description: "Unified REST API for United Airlines flight booking and travel management."
      resources:
        - path: /v1/offers
          name: offers
          description: "Flight offer search and pricing"
          operations:
            - method: POST
              name: search-flight-offers
              description: "Search for available United Airlines flights with continuous pricing"
              call: "united-airlines-ndc.search-flight-offers"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: GET
              name: get-flight-offer
              description: "Get detailed pricing for a specific offer"
              call: "united-airlines-ndc.get-flight-offer"
              with:
                offerId: "rest.offerId"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/bookings
          name: bookings
          description: "Booking creation and management"
          operations:
            - method: POST
              name: create-booking
              description: "Create a new flight booking"
              call: "united-airlines-ndc.create-booking"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: GET
              name: list-bookings
              description: "List all bookings"
              call: "united-airlines-ndc.list-bookings"
              with:
                status: "rest.status"
                departureDate: "rest.departureDate"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/bookings/{id}
          name: booking
          description: "Individual booking operations"
          operations:
            - method: GET
              name: get-booking
              description: "Get booking details"
              call: "united-airlines-ndc.get-booking"
              with:
                bookingId: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: cancel-booking
              description: "Cancel a booking"
              call: "united-airlines-ndc.cancel-booking"
              with:
                bookingId: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/bookings/{id}/exchange
          name: booking-exchange
          description: "Flight exchange operations"
          operations:
            - method: POST
              name: exchange-booking
              description: "Exchange flights on an existing booking"
              call: "united-airlines-ndc.exchange-booking"
              with:
                bookingId: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/bookings/{id}/ancillaries
          name: booking-ancillaries
          description: "Add ancillary services to booking"
          operations:
            - method: POST
              name: add-ancillary
              description: "Add seat, bag, or upgrade to a booking"
              call: "united-airlines-ndc.add-ancillary"
              with:
                bookingId: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/flights/status
          name: flight-status
          description: "Real-time flight status"
          operations:
            - method: GET
              name: get-flight-status
              description: "Get real-time status for a flight"
              call: "united-airlines-ndc.get-flight-status"
              with:
                flightNumber: "rest.flightNumber"
                date: "rest.date"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/flights/schedules
          name: flight-schedules
          description: "Flight schedule information"
          operations:
            - method: GET
              name: get-flight-schedules
              description: "Get flight schedules for a route"
              call: "united-airlines-ndc.get-flight-schedules"
              with:
                origin: "rest.origin"
                destination: "rest.destination"
                startDate: "rest.startDate"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9080
      namespace: united-airlines-booking-mcp
      transport: http
      description: "MCP server for AI-assisted United Airlines flight booking and travel management."
      tools:
        - name: search-flights
          description: "Search for available United Airlines flights with pricing, bundles, and cabin options"
          hints:
            readOnly: true
            openWorld: true
          call: "united-airlines-ndc.search-flight-offers"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-flight-offer
          description: "Get detailed pricing and availability for a specific flight offer"
          hints:
            readOnly: true
            openWorld: true
          call: "united-airlines-ndc.get-flight-offer"
          with:
            offerId: "tools.offerId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: create-booking
          description: "Book United Airlines flights for one or more passengers"
          hints:
            readOnly: false
            destructive: false
          call: "united-airlines-ndc.create-booking"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-bookings
          description: "List existing flight bookings with optional status and date filters"
          hints:
            readOnly: true
            openWorld: false
          call: "united-airlines-ndc.list-bookings"
          with:
            status: "tools.status"
            departureDate: "tools.departureDate"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-booking
          description: "Retrieve details of a specific United Airlines booking"
          hints:
            readOnly: true
            openWorld: false
          call: "united-airlines-ndc.get-booking"
          with:
            bookingId: "tools.bookingId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: cancel-booking
          description: "Cancel a United Airlines flight booking"
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: "united-airlines-ndc.cancel-booking"
          with:
            bookingId: "tools.bookingId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: exchange-booking
          description: "Change flights on an existing booking"
          hints:
            readOnly: false
            destructive: false
          call: "united-airlines-ndc.exchange-booking"
          with:
            bookingId: "tools.bookingId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: add-ancillary
          description: "Add seat selection, checked bag, or upgrade to a booking"
          hints:
            readOnly: false
            destructive: false
          call: "united-airlines-ndc.add-ancillary"
          with:
            bookingId: "tools.bookingId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-flight-status
          description: "Get real-time departure, arrival, and gate status for a United flight"
          hints:
            readOnly: true
            openWorld: true
          call: "united-airlines-ndc.get-flight-status"
          with:
            flightNumber: "tools.flightNumber"
            date: "tools.date"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-flight-schedules
          description: "Get United Airlines schedules for a specific route and date range"
          hints:
            readOnly: true
            openWorld: true
          call: "united-airlines-ndc.get-flight-schedules"
          with:
            origin: "tools.origin"
            destination: "tools.destination"
            startDate: "tools.startDate"
          outputParameters:
            - type: object
              mapping: "$."