Gå vidare till innehåll

Viktig information för dig som bokar via resebyrå/GDS Läs mer

API Dokumentation

Teknisk guide för integration

Denna dokumentation beskriver strukturer och regler för kärnfunktionerna i API:et: sökning, bokning och biljettering.

Base URL: https://api.bmaflyg.live2.se

Generella Regler

  • Alla anrop bör inkludera korrekt Content-Type: application/json.
  • Datumformat är alltid YYYY-MM-DD (ISO 8601).
  • Tider anges som HH:MM
  • För skyddade endpoints (Bokning/Biljettering) krävs autentisering via headers (X-Api-Key eller X-Auth-Token).

1. Hämta Tillgänglighet (DB)

GET /public/airavail_db

Hämtar flygavgångar och platstillgång direkt från den lokala databasen. Publik endpoint (ingen auth).

Query Parametrar
  • from (t.ex. "VBY")
  • to (t.ex. "BMA")
  • date (YYYY-MM-DD)
Exempel Respons
{
  "date": "2025-05-12",
  "from": "VBY",
  "to": "BMA",
  "departures": [
    {
      "departureTime": "07:00",
      "origin": "VBY",
      "flightNumber": "OJ0801",
      "available_seats": 12
    },
    {
      "departureTime": "18:00",
      "origin": "VBY",
      "flightNumber": "OJ0807",
      "available_seats": 8
    }
  ]
}

2. Skapa Bokning

POST /booking

Skapar en preliminär bokning (PNR) hos WorldTicket. Kräver autentisering.

Exempel Anrop (Headers)
POST /booking HTTP/1.1
Host: api.bmaflyg.live2.se
Content-Type: application/json
X-Api-Key: din-api-nyckel
Body Struktur
{
  "itinerary": {
    "segments": [
      {
        "flightNumber": "805",
        "departureDateTime": "2026-01-22T16:00:00",
        "arrivalDateTime": "2026-01-22T16:35:00",
        "origin": "VBY",
        "destination": "BMA",
        "bookingClass": "W",
        "fareBasis": "WEB",
        "marketingAirline": "OJ"
      }
    ]
  },
  "passengers": [
    {
      "type": "CTC",
      "title": "Mr.",
      "firstName": "Roger",
      "lastName": "Olofsson",
      "phone": {
        "countryCode": "46",
        "number": "1234567890"
      },
      "email": "roger@mail.se"
    },
    {
      "type": "ADT",
      "title": "Mr.",
      "firstName": "Roger",
      "lastName": "Olofsson",
      "phone": {
        "countryCode": "46",
        "number": "1234567890"
      },
      "email": "roger@mail.se"
    }
  ],
  "contact": {
    "email": "roger@mail.se",
    "phone": {
      "countryCode": "46",
      "number": "1234567890"
    }
  },
  "currency": "SEK"
}

Notera: bookingClass styr prisklass. Svaret innehåller ett bokningsnummer som krävs för biljettering.

3. Biljettera (Issue Ticket)

POST /ticket

Ställer ut biljetter för en existerande bokning. Bekräftar köpet.

Exempel Anrop (Headers)
POST /ticket HTTP/1.1
Host: api.bmaflyg.live2.se
Content-Type: application/json
X-Api-Key: din-api-nyckel
Body Struktur
{
  "bookingReference": "WTABC1",
  "payment": {
    "amount": 950.00,
    "currency": "SEK",
    "text": "BMAFlyg Web Bokning"
  },
  "passengers": [
    {
      "rph": 1,
      "type": "ADT",
      "firstName": "Sven",
      "lastName": "Svensson"
    }
  ]
}