<div align="center">
  <img src="gazella-logo.svg" alt="Gazella" height="60">
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <img src="caretta230px.png" alt="Caretta" height="38">
</div>

# Gazella B2B API Dokümantasyonu

**Sürüm:** Haziran 2026 · **Entegrasyon (Integration) Servisleri**

Bu doküman, Gazella B2B API entegrasyon servislerinin kullanımını, örnek istek/yanıtları ve birlikte gelen Postman koleksiyonunu açıklar. Örneklerde gerçek test verileri kullanılmıştır.

---

## İçindekiler

1. [Genel Bilgiler](#1-genel-bilgiler)
2. [Postman Koleksiyonu](#2-postman-koleksiyonu)
3. [Endpoint'ler](#3-endpointler)
   - [3.1 CreateOrder](#31-integrationcreateorder)
   - [3.2 GetTourPriceAndCapacity](#32-integrationgettourpriceandcapacity)
   - [3.3 GetAllTourPriceAndCapacity](#33-integrationgetalltourpriceandcapacity)
   - [3.4 GetAllB2BToursDetails](#34-integrationgetallb2btoursdetails)
   - [3.5 GetB2BTourDetailsWithTourCode](#35-integrationgetb2btourdetailswithtourcode)
   - [3.6 GetTourDetail](#36-integrationgettourdetail)
4. [Tipler ve Açıklamalar](#4-tipler-ve-açıklamalar)
5. [İstek Durum Kodları](#5-i̇stek-durum-kodları)
6. [Notlar](#6-notlar)
7. [Ek: Test Değerleri](#7-ek-test-değerleri)

---

## 1. Genel Bilgiler

Dokümanda belirtilen API servislerini kullanabilmek için Gazella tarafından sağlanacak olan **APIKEY** parametresi gereklidir.

| Konu | Değer |
|------|-------|
| **Base URL** | `https://gazellab2bapi.caretta.net/api/Integration/` |
| **Kimlik Doğrulama** | Header içinde `X-API-KEY` |
| **Content-Type** | `application/json` |
| **Content-Encoding** | UTF-8 |
| **Yanıt Formatı** | JSON |

**Önemli kurallar:**

- API'ye yapılacak tüm isteklerde **UTF-8** encoding kullanılmalıdır.
- API tarafından dönülen tüm cevaplar **JSON** formatındadır.
- Bu API'deki tüm metotları web tabanlı uygulamanızın **sunucu tarafında** kullanınız.
- **APIKEY** değeri her istekte header bilgisinde gönderilmelidir. Key adı `X-API-KEY`, değeri ise size verilmiş olan APIKEY'dir.

### Ortak Yanıt Yapısı

Tüm servis yanıtlarında işlemin durumunu belirten alanlar yer alır. `statusCode` değerlerinin karşılıkları için [İstek Durum Kodları](#5-i̇stek-durum-kodları) bölümüne bakınız.

```json
{
  "statusCode": 200,
  "statusDescription": "İşleminiz başarı ile yapıldı"
}
```

---

## 2. Postman Koleksiyonu

Bu doküman ile birlikte **`Gazella API (Integration).postman_collection.json`** dosyası gelir. Postman'de **Import → File** ile doğrudan içe aktarabilirsiniz (şema: Collection v2.1.0).

### Yapı

Koleksiyon 6 klasörden oluşur; her klasör bir endpoint'e karşılık gelir ve içinde birden fazla örnek istek bulunur. Kimlik doğrulama koleksiyon seviyesinde `X-API-KEY` API Key auth olarak tanımlıdır; tüm istekler bunu otomatik miras alır.

### Koleksiyon Değişkenleri

`Variables` sekmesinden düzenlenebilir:

| Değişken | Örnek Değer | Açıklama |
|----------|-------------|----------|
| `baseUrl` | `https://gazellab2bapi.caretta.net/api/Integration` | Tüm isteklerin kök adresi |
| `apiKey` | *(Gazella tarafından ayrıca sağlanır)* | `X-API-KEY` header değeri |
| `tourCode` | `22-00040` | Örnek tur kodu |
| `packageCode1` | `000874-000042` | Örnek paket kodu 1 |
| `packageCode2` | `000887-000042` | Örnek paket kodu 2 |
| `packageCode3` | `000877-000042` | Örnek paket kodu 3 |

---

## 3. Endpoint'ler

> Aşağıdaki tüm isteklerde header olarak `X-API-KEY: <APIKEY>` gönderilmelidir.

---

### 3.1 Integration/CreateOrder

Gazella B2B sisteminde sipariş oluşturur. İstek sonucu dönen yanıtta **`orderNumber`** değeri bulunur; bu değer ile Gazella tarafında sipariş sorgulaması yapabilirsiniz.

| | |
|---|---|
| **URL** | `{baseUrl}/CreateOrder` |
| **Method** | `POST` |
| **Content-Type** | `application/json` |

#### Request Parametreleri

| Alan | Zorunluluk | Tip | Açıklama |
|------|-----------|-----|----------|
| `packageCode` | Zorunlu | string | Paket turların paket kodu. |
| `note` | Opsiyonel | string | Siparişe ait not bilgisi. |
| `agencyOrderNumber` | Opsiyonel | string | Acentenin kendi sistemindeki sipariş numarası. |
| `userPaxes` | Zorunlu | array | Yolcu listesi. Aşağıdaki alanları içerir. |

**`userPaxes` içindeki alanlar:**

| Alan | Zorunluluk | Tip | Açıklama |
|------|-----------|-----|----------|
| `countryName` | Zorunlu | string | Ülke adı. Örn: `"Türkiye"` |
| `userPaxType` | Zorunlu | int | Pax tipi: Adult=1, Child=2 (2–11,99 yaş), Baby=3 (0–1,99 yaş). |
| `email` | Zorunlu | string | E-posta. Maks. 50 karakter. |
| `name` | Zorunlu | string | Ad. Maks. 50 karakter. |
| `surname` | Zorunlu | string | Soyad. Maks. 30 karakter. |
| `phoneNumber` | Koşullu | string | Telefon. Maks. 15 karakter. **Yetişkin (Adult) ise zorunludur.** Örn: `5555555555` |
| `genderId` | Zorunlu | int | Cinsiyet: Male=1, Female=2, Other=3. |
| `birthDate` | Zorunlu | string | Doğum tarihi. Format: `YYYY-MM-DD`. Örn: `1993-04-29` |
| `tckn` | Koşullu | string | T.C. Kimlik No. **Yetişkin (Adult) ise zorunludur.** |
| `passportNo` | Opsiyonel | string | Pasaport numarası. |
| `passportExpireDate` | Opsiyonel | string | Pasaport son kullanma tarihi. Format: `YYYY-MM-DD`. Örn: `2027-04-19` |

> **Not:** Bir siparişe en fazla **5 pax** eklenebilir.

#### Örnek İstek — Tek Yetişkin

```bash
curl -X POST "https://gazellab2bapi.caretta.net/api/Integration/CreateOrder" \
  -H "X-API-KEY: <APIKEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "packageCode": "000874-000042",
    "note": "Tek yetiskin sipariş notu",
    "agencyOrderNumber": "222222",
    "userPaxes": [
      {
        "countryName": "Türkiye",
        "userPaxType": 1,
        "email": "info@caretta.net",
        "name": "Caretta",
        "surname": "Caretta",
        "phoneNumber": "5555555555",
        "genderId": 1,
        "birthDate": "1993-04-29",
        "tckn": "31256952812",
        "passportNo": "TR35-PST2027",
        "passportExpireDate": "2027-04-19"
      }
    ]
  }'
```

#### Örnek İstek — Yetişkin + Çocuk

```json
{
  "packageCode": "000874-000042",
  "note": "Yetişkin + çocuk siparişi",
  "agencyOrderNumber": "222224",
  "userPaxes": [
    {
      "countryName": "Türkiye", "userPaxType": 1,
      "email": "yetiskin@caretta.net", "name": "Mehmet", "surname": "Demir",
      "phoneNumber": "5556667788", "genderId": 1,
      "birthDate": "1988-03-10", "tckn": "31256952812"
    },
    {
      "countryName": "Türkiye", "userPaxType": 2,
      "email": "cocuk@caretta.net", "name": "Elif", "surname": "Demir",
      "genderId": 2, "birthDate": "2016-09-05"
    }
  ]
}
```

> Çocuk (`userPaxType=2`) ve bebek (`userPaxType=3`) için `phoneNumber` ve `tckn` zorunlu değildir.

#### Örnek Yanıt

```json
{
  "statusCode": 200,
  "statusDescription": "İşleminiz başarı ile yapıldı",
  "orderNumber": 10268
}
```

---

### 3.2 Integration/GetTourPriceAndCapacity

`packageCode` bilgisine göre ilgili tur ürününün **fiyat, otel ve kapasite** bilgilerini döner.

| | |
|---|---|
| **URL** | `{baseUrl}/GetTourPriceAndCapacity` |
| **Method** | `GET` |
| **Content-Type** | `application/json` |

#### Query Parametreleri

| Parametre | Zorunluluk | Açıklama |
|-----------|-----------|----------|
| `packageCode` | Zorunlu | Paket kodu. Örn: `000874-000042` |

#### Örnek İstek

```bash
curl "https://gazellab2bapi.caretta.net/api/Integration/GetTourPriceAndCapacity?packageCode=000874-000042" \
  -H "X-API-KEY: <APIKEY>"
```

#### Örnek Yanıt

```json
{
  "data": {
    "tourCode": "22-00040",
    "title": "Mistik Fas Ve Sahra Çölü",
    "packageCode": "000874-000042",
    "tourCategoryId": 1,
    "tourTransportTypeId": 1,
    "price": 1690,
    "currencyType": "EUR",
    "startDate": "2026-10-16T00:00:00",
    "endDate": "2026-10-23T00:00:00",
    "capacityPerson": 9987,
    "capacityRoom": 4993,
    "definiteDeparture": false,
    "commissionRate": 0.00,
    "useable": true,
    "mininumPax": 10,
    "departureFlight": "TK617 İstanbul-Kazablanka 12:15-15:05",
    "returnFlight": "TK620 Marakeş-İstanbul 16:05-23:05",
    "hotel": {
      "name": "4* ve 5* Oteller",
      "code": "000042",
      "capacityRoom": 0
    },
    "campaigns": [],
    "flights": [
      {
        "type": 1,
        "value": "TK617 İstanbul-Kazablanka 12:15-15:05",
        "flightNumber": "TK617",
        "airlineCompanyName": "Türk Hava Yolları",
        "departureCityName": "İstanbul",
        "departureHour": "12:15",
        "arrivalCityName": "Kazablanka",
        "arrivalHour": "15:05"
      },
      {
        "type": 2,
        "value": "TK620 Marakeş-İstanbul 16:05-23:05",
        "flightNumber": "TK620",
        "airlineCompanyName": "Türk Hava Yolları",
        "departureCityName": "Marakeş",
        "departureHour": "16:05",
        "arrivalCityName": "İstanbul",
        "arrivalHour": "23:05"
      }
    ],
    "prices": [
      { "typeId": 1, "price": 2140.00, "currencyType": "EUR" },
      { "typeId": 2, "price": 1690.00, "currencyType": "EUR" },
      { "typeId": 3, "price": 1690.00, "currencyType": "EUR" }
    ]
  },
  "statusCode": 200,
  "statusDescription": "İşleminiz başarıyla tamamlandı.",
  "isSuccess": true
}
```

#### Alan Açıklamaları

| Alan | Açıklama |
|------|----------|
| `capacityPerson` | Tur ürününe ait kalan kontenjan (kişi). |
| `capacityRoom` | Tur ürününe ait kalan toplam kapasite. |
| `hotel.capacityRoom` | Otele ait kalan toplam kapasite. |
| `departureFlight` / `returnFlight` | Gidiş / dönüş uçuş bilgisi. |
| `flights` | Pakete bağlı uçuş listesi. `type`: Gidiş=1, Dönüş=2, Tur içi=3. |
| `prices` | Tur fiyatları. `typeId`: Single=1, Double=2, Triple=3, Child=5, Baby=6, DoubleChild=7. |
| `campaigns` | Tur tarihine denk gelen kampanyalar. `discountType` 1=Yüzdesel, 2=Miktarsal; `amount` uygulanacak indirim miktarı. |

---

### 3.3 Integration/GetAllTourPriceAndCapacity

Satış başlangıç tarihi bugünden büyük olan **tüm** tur ürünlerinin fiyat/otel/kapasite bilgilerini listeler.

| | |
|---|---|
| **URL** | `{baseUrl}/GetAllTourPriceAndCapacity` |
| **Method** | `GET` |
| **Content-Type** | `application/json` |

#### Query Parametreleri (Opsiyonel)

| Parametre | Açıklama |
|-----------|----------|
| `tourCode` | Tur kodu bazında filtreleme. Örn: `22-00040` |
| `pageSize` | Tek seferde istenen kayıt sayısı. Örn: `100` |
| `pageNumber` | Sayfa numarası. Örn: `1` |

> Query parametreleri gönderilmezse **tüm kayıtlar** döner. Yanıtta sayfalama için `totalRecordCount` alanı bulunur.

#### Örnek İstekler

```bash
# Tüm kayıtlar
curl "https://gazellab2bapi.caretta.net/api/Integration/GetAllTourPriceAndCapacity" \
  -H "X-API-KEY: <APIKEY>"

# Filtreli + sayfalı
curl "https://gazellab2bapi.caretta.net/api/Integration/GetAllTourPriceAndCapacity?tourCode=22-00040&pageSize=100&pageNumber=1" \
  -H "X-API-KEY: <APIKEY>"
```

#### Örnek Yanıt (kısaltılmış)

```json
{
  "totalRecordCount": 100,
  "data": [
    {
      "title": "Mistik Fas Ve Sahra Çölü",
      "packageCode": "000874-000042",
      "tourCode": "22-00040",
      "price": 1690,
      "currencyType": "EUR",
      "commissionRate": 0.00,
      "startDate": "2026-10-16T00:00:00",
      "endDate": "2026-10-23T00:00:00",
      "capacityPerson": 9987,
      "capacityRoom": 4993,
      "definiteDeparture": false,
      "tourCategoryId": 1,
      "tourTransportTypeId": 1,
      "hotel": { "name": "4* ve 5* Oteller", "code": "000042", "capacityRoom": 0 },
      "prices": [
        { "typeId": 1, "price": 2140.00, "currencyType": "EUR" },
        { "typeId": 2, "price": 1690.00, "currencyType": "EUR" }
      ],
      "campaigns": [],
      "flights": []
    }
  ],
  "statusCode": 200,
  "statusDescription": "İşleminiz başarıyla tamamlandı."
}
```

Alan açıklamaları [3.2](#32-integrationgettourpriceandcapacity) ile aynıdır. Ek olarak `totalRecordCount` toplam kayıt sayısını verir.

---

### 3.4 Integration/GetAllB2BToursDetails

Satış başlangıç tarihi bugünden büyük olan **turları** listeler.

| | |
|---|---|
| **URL** | `{baseUrl}/GetAllB2BToursDetails` |
| **Method** | `POST` |
| **Content-Type** | `application/json` |

#### Query Parametreleri (Opsiyonel)

| Parametre | Açıklama |
|-----------|----------|
| `pageSize` | Tek seferde istenen kayıt sayısı. Örn: `100` |
| `pageNumber` | Sayfa numarası. Örn: `1` |

> Query parametreleri gönderilmezse tüm kayıtlar döner. Yanıtta `totalRecordCount` alanı bulunur.

#### Örnek İstek

```bash
curl -X POST "https://gazellab2bapi.caretta.net/api/Integration/GetAllB2BToursDetails?pageSize=100&pageNumber=1" \
  -H "X-API-KEY: <APIKEY>" \
  -H "Content-Type: application/json"
```

#### Örnek Yanıt (kısaltılmış)

```json
{
  "totalRecordCount": 12,
  "data": [
    {
      "tourName": "Baştan Başa Fas",
      "tourOperator": "Gazella",
      "tourCode": "22-00012",
      "tourProductCode": "000878",
      "tourCategoryId": 1,
      "tourTransportTypeId": 1,
      "hotelCode": "000042",
      "hotelName": "4* ve 5* Oteller",
      "startDate": "2029-10-16T00:00:00",
      "packageCode": "000878-000042",
      "commissionRate": 0.00
    },
    {
      "tourName": "Mistik Fas Ve Sahra Çölü",
      "tourOperator": "Gazella Nomads",
      "tourCode": "22-00040",
      "tourProductCode": "000874",
      "tourCategoryId": 1,
      "tourTransportTypeId": 1,
      "hotelCode": "000042",
      "hotelName": "4* ve 5* Oteller",
      "startDate": "2026-10-16T00:00:00",
      "packageCode": "000874-000042",
      "commissionRate": 0.00
    }
  ],
  "statusCode": 200,
  "statusDescription": "İşleminiz başarıyla tamamlandı."
}
```

---

### 3.5 Integration/GetB2BTourDetailsWithTourCode

Tur koduna göre, satış başlangıç tarihi bugünden büyük olan turları (ilgili tüm paket varyantları ile) döner.

| | |
|---|---|
| **URL** | `{baseUrl}/GetB2BTourDetailsWithTourCode` |
| **Method** | `POST` |
| **Content-Type** | `application/json` |

#### Request Parametreleri

| Parametre | Zorunluluk | Açıklama |
|-----------|-----------|----------|
| `tourCode` | Zorunlu | Tur kodu. Query parametresi olarak gönderilir. Örn: `22-00040` |

#### Örnek İstek

```bash
curl -X POST "https://gazellab2bapi.caretta.net/api/Integration/GetB2BTourDetailsWithTourCode?tourCode=22-00040" \
  -H "X-API-KEY: <APIKEY>" \
  -H "Content-Type: application/json"
```

#### Örnek Yanıt

Bu servis ilgili tur koduna ait **tüm paket varyantlarını** döndürür.

```json
{
  "data": [
    {
      "tourName": "Mistik Fas Ve Sahra Çölü",
      "tourOperator": "Gazella Nomads",
      "tourCode": "22-00040",
      "tourProductCode": "000874",
      "tourCategoryId": 1,
      "tourTransportTypeId": 1,
      "hotelCode": "000042",
      "hotelName": "4* ve 5* Oteller",
      "startDate": "2026-10-16T00:00:00",
      "packageCode": "000874-000042",
      "commissionRate": 0.00
    },
    {
      "tourName": "Mistik Fas Ve Sahra Çölü",
      "tourOperator": "Gazella Nomads",
      "tourCode": "22-00040",
      "tourProductCode": "000887",
      "tourCategoryId": 1,
      "tourTransportTypeId": 1,
      "hotelCode": "000042",
      "hotelName": "4* ve 5* Oteller",
      "startDate": "2060-10-16T00:00:00",
      "packageCode": "000887-000042",
      "commissionRate": 0.00
    }
  ],
  "statusCode": 200,
  "statusDescription": "İşleminiz başarıyla tamamlandı."
}
```

---

### 3.6 Integration/GetTourDetail

Tur koduna göre ilgili turun **detay bilgilerini** (program, dahil/hariç hizmetler, oteller) döner.

| | |
|---|---|
| **URL** | `{baseUrl}/GetTourDetail` |
| **Method** | `GET` |
| **Content-Type** | `application/json` |

#### Query Parametreleri

| Parametre | Zorunluluk | Açıklama |
|-----------|-----------|----------|
| `code` | Zorunlu | Turun kod bilgisi. Query parametresi olarak gönderilmelidir. Örn: `22-00040` |

#### Örnek İstek

```bash
curl "https://gazellab2bapi.caretta.net/api/Integration/GetTourDetail?code=22-00040" \
  -H "X-API-KEY: <APIKEY>"
```

#### Örnek Yanıt (kısaltılmış)

```json
{
  "data": {
    "title": "Mistik Fas Ve Sahra Çölü",
    "code": "22-00040",
    "tourCategoryId": 1,
    "tourTransportTypeId": 1,
    "commissionRate": 0.00,
    "generalInfo": "<p><strong>Otellerimiz</strong> ... <strong>Vize Bilgileri</strong> Türk vatandaşları 90 güne kadar vizeden muaftır. ... (HTML içerik)",
    "programs": [
      {
        "sort": 1,
        "title": "İstanbul - Kazablanka",
        "description": "Turumuz kişiye özel aracın sizi adresinizden alması ile başlıyor. ... (program açıklaması)"
      },
      {
        "sort": 2,
        "title": "Rabat – Volubilis – Meknes – Fez",
        "description": "Kahvaltının ardından Rabat şehir turumuzu gerçekleştiriyoruz. ..."
      }
    ],
    "includedServices": [
      { "sort": 1, "text": "THY ile İstanbul – Kazablanka / Marakeş – İstanbul uçak biletleri" },
      { "sort": 2, "text": "4* ve 5* otellerde konaklama (kahvaltı ve akşam yemekleri dahil)" },
      { "sort": 3, "text": "Türkçe Rehberlik Hizmeti" }
    ],
    "excludedServices": [
      { "sort": 1, "text": "Yurtdışı Çıkış Harç Pulu" },
      { "sort": 2, "text": "Öğle yemekleri" },
      { "sort": 3, "text": "Ekstra turlar" }
    ],
    "hotels": [
      { "title": "4* ve 5* Oteller", "code": "000042", "city": null }
    ]
  },
  "statusCode": 200,
  "statusDescription": "İşleminiz başarıyla tamamlandı.",
  "isSuccess": true
}
```

#### Alan Açıklamaları

| Alan | Açıklama |
|------|----------|
| `generalInfo` | Tur ile ilgili genel bilgiler (HTML içerebilir). |
| `programs` | Turun günlük program bilgilerini içeren liste. |
| `includedServices` | Fiyata dahil hizmetler. |
| `excludedServices` | Fiyata dahil olmayan hizmetler. |
| `hotels` | Tur üzerinde tanımlı otel bilgileri. |

---

## 4. Tipler ve Açıklamalar

| Tip | Değerler |
|-----|----------|
| **UserPaxType** | Adult = 1, Child = 2, Baby = 3 |
| **GenderId** | Male = 1, Female = 2, Other = 3 |
| **Flights.Type** | Gidiş = 1, Dönüş = 2, Tur içi = 3 |
| **Prices.Type** | Single = 1 (tek yetişkin pp), Double = 2 (iki yetişkin pp), Triple = 3 (üç yetişkin pp), Child = 5 (çocuk pp), Baby = 6 (bebek pp), DoubleChild = 7 (iki çocuk pp) |
| **TourApprovalStatus / TourProductApprovalStatus** | AwaitingApproval = 1, Approved = 2, Rejected = 3 |
| **Campaign DiscountType** | Yüzdesel = 1, Miktarsal = 2 |
| **TourCategoryId** | Yurt Dışı = 1, Yurt İçi = 2, Cruise = 5 |
| **TourTransportTypeId** | Uçak = 1, Otobüs = 2, Gemi = 3, Tren = 4, Tekne = 5, Uçaksız Paket = 6 |

---

## 5. İstek Durum Kodları

| Kod | Açıklama |
|-----|----------|
| **200** | İşleminiz başarı ile yapıldı. |
| **500** | İşleminiz yapılırken hata oluştu. Sunucu taraflı hata oluşmuş olabilir. |
| **1000** | Paket kodu formatı geçersiz. |
| **1001** | Lütfen yolcu bilgisi giriniz. |
| **1002** | Ülke adı boş bırakılamaz. |
| **1003** | Ad boş bırakılamaz. |
| **1004** | Soyad boş bırakılamaz. |
| **1005** | Lütfen geçerli bir doğum tarihi giriniz. |
| **1006** | Email adresi boş bırakılamaz. |
| **1007** | Lütfen geçerli bir telefon numarası giriniz. |
| **1008** | Lütfen geçerli bir T.C. Kimlik numarası giriniz. |
| **1020** | Otel bulunamadı. |
| **1021** | Tur ürünü bulunamadı. |
| **1022** | Tur ürününe ait otel bulunamadı. |
| **1023** | Bu tura şu an rezervasyon yapılamamaktadır. |
| **1024** | Seçilen otelin kontenjanı dolmuştur. Lütfen başka bir oteli deneyiniz. |
| **1025** | Tur ürününün kapasitesi kalmamıştır. |
| **1026** | Maksimum pax sayısını aştınız. 5'ten fazla pax ekleyemezsiniz. |
| **1027** | Tur ürünü kullanılabilir değil. |
| **1028** | Lütfen pax tipini ve doğum tarihini kontrol ediniz. |
| **1029** | Tur bulunamadı. |
| **1030** | Pax tipine uygun fiyat bulunamadı. |

---

## 6. Notlar

- `GetAllTourPriceAndCapacity` servisi query parametresi olarak `tourCode`, `pageSize` ve `pageNumber` destekler.
  Örn: `GetAllTourPriceAndCapacity?tourCode=22-00040&pageSize=100&pageNumber=1`
- `GetAllB2BToursDetails` servisi query parametresi olarak `pageSize` ve `pageNumber` destekler.
  Örn: `GetAllB2BToursDetails?pageSize=100&pageNumber=1`
- `GetAllTourPriceAndCapacity` ve `GetAllB2BToursDetails` servislerinin yanıt modelinde `totalRecordCount` alanı bulunur.

---

## 7. Ek: Test Değerleri

Aşağıdaki değerler test ortamı için kullanılabilir:

| Alan | Değer |
|------|-------|
| **APIKEY** | *Gazella tarafından ayrıca sağlanır (dokümanda paylaşılmaz)* |
| **tourCode** | `22-00040` |
| **packageCode** | `000874-000042`, `000887-000042`, `000877-000042` |

> **Uyarı:** APIKEY gizli bir bilgidir; herkese açık kaynak kodu depolarında veya paylaşılan ortamlarda saklanmamalıdır.

---

*Bu doküman, Gazella B2B API Dokümantasyonu ve birlikte gelen Postman koleksiyonu temel alınarak hazırlanmıştır.*
