---
title: "Turkish Airlines TKCONNECT NDC Integration Guide"
description: "Model TKCONNECT NDC integration around access, direct/aggregator topology, offer/order lifecycle, servicing and source lineage."
slug: "turkish-airlines-tkconnect-ndc"
translationKey: "integration-turkish-airlines-tkconnect-ndc"
locale: "en"
type: "guide"
category: "flight"
tags: ["turkish-airlines","tkconnect","ndc","flight","direct-connect"]
publishedAt: "2026-09-26"
updatedAt: "2026-09-26"
reviewedAt: "2026-09-26"
technicalVerifiedAt: "2026-09-26"
sourceVersion: "Turkish Airlines Developer Portal and TKCONNECT public surfaces reviewed 2026-09-26"
testedAgainst: "Official public documentation; not a provisioned TKCONNECT production account"
codeExampleStatus: "illustrative"
sources:
  - title: "Turkish Airlines Developer Portal"
    url: "https://developer.turkishairlines.com/"
  - title: "IATA NDC"
    url: "https://www.iata.org/en/programs/airline-distribution/retailing/ndc/"
---
TKCONNECT represents Turkish Airlines' NDC/direct-distribution model across agency UI, aggregator and direct API paths. Model it around **offer/order ownership and servicing capability**, not as one generic airline-search endpoint.

## Topology

```text
Seller
  -> direct TKCONNECT NDC
  -> aggregator
  -> agency UI
        |
        v
Turkish Airlines offer/order lifecycle
```

Direct API and aggregator access can expose the same airline supply while differing in authentication, certification and servicing capability.

## Canonical boundary

Keep itinerary, offer, fare family/brand, baggage, ancillary, provider offer reference, order/booking reference, ticket/document state and servicing capability separate.

Do not lose airline source identity during normalization.

## Search → Offer → Order

```text
SEARCH
 -> OFFER
 -> SELECT
 -> REVALIDATE if required
 -> ORDER/BOOK
 -> PAYMENT/TICKET
 -> RETRIEVE
 -> CHANGE/CANCEL/SERVICE
```

A search result is not a booking guarantee. Preserve offer expiry and fare conditions through the booking boundary.

## Idempotency

A create timeout is not proven failure:

```text
CREATING -> CONFIRMED
         -> REJECTED
         -> UNKNOWN -> retrieve/reconcile
```

Do not duplicate order creation while state is UNKNOWN.

## Observability

Track search latency, offer count, offer expiry, revalidation-change rate, unknown-order age, ticketing success, servicing failures and reconciliation drift.

## Production checklist

- access/certification path verified
- direct vs aggregator source explicit
- offer/reference preserved
- fare family + baggage normalized
- UNKNOWN recovery implemented
- servicing capability matrix available
- ticket/document state separate from booking state
