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-KeyellerX-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"
}
]
}