9#include "kitinerary_export.h"
20 [[nodiscard]]
QString readString(
int offset,
int length)
const;
21 [[nodiscard]]
int readNumericValue(
int offset,
int length,
int base)
const;
26#define IATA_STR_PROPERTY(Name, Start, Length) \
28 [[nodiscard]] inline QString Name() const { return readString(Start, Length); } \
29 Q_PROPERTY(QString Name READ Name)
30#define IATA_NUM_PROPERTY(Name, Start, Length) \
32 [[nodiscard]] inline int Name() const { return readNumericValue(Start, Length, 10); } \
33 Q_PROPERTY(int Name READ Name)
34#define IATA_HEX_PROPERTY(Name, Start, Length) \
36 [[nodiscard]] inline int Name() const { return readNumericValue(Start, Length, 16); } \
37 Q_PROPERTY(int Name READ Name)
44 IATA_STR_PROPERTY(formatCode, 0, 1)
45 IATA_NUM_PROPERTY(numberOfLegs, 1, 1)
46 IATA_STR_PROPERTY(passengerName, 2, 20)
47 IATA_STR_PROPERTY(electronicTicketIndicator, 22, 1)
52 [[nodiscard]]
bool isValid()
const;
59 IATA_NUM_PROPERTY(version, 1, 1)
60 IATA_HEX_PROPERTY(fieldSize, 2, 2)
61 IATA_STR_PROPERTY(passengerDescription, 4, 1)
62 IATA_STR_PROPERTY(sourceOfCheckin, 5, 1)
63 IATA_STR_PROPERTY(sourceOfBoardingPassIssuance, 6, 1)
64 IATA_NUM_PROPERTY(yearOfIssue, 7, 1)
65 IATA_NUM_PROPERTY(dayOfIssue, 8, 3)
66 IATA_STR_PROPERTY(documentType, 11, 1)
67 IATA_STR_PROPERTY(airlineDesignatorOfBoardingPassIssuer, 12, 3)
68 IATA_STR_PROPERTY(baggageTagLicensePlateNumber1, 15, 13)
69 IATA_STR_PROPERTY(baggageTagLicensePlateNumber2, 28, 13)
70 IATA_STR_PROPERTY(baggageTagLicensePlateNumber3, 41, 13)
75 [[nodiscard]]
bool isValid()
const;
84 IATA_STR_PROPERTY(operatingCarrierPNRCode, 0, 7)
85 IATA_STR_PROPERTY(fromCityAirportCode, 7, 3)
86 IATA_STR_PROPERTY(toCityAirportCode, 10, 3)
87 IATA_STR_PROPERTY(operatingCarrierDesignator, 13, 3)
88 IATA_STR_PROPERTY(flightNumber, 16, 5)
89 IATA_NUM_PROPERTY(dayOfFlight, 21, 3)
90 IATA_STR_PROPERTY(compartmentCode, 24, 1)
91 IATA_STR_PROPERTY(seatNumber, 25, 4)
92 IATA_STR_PROPERTY(checkinSequenceNumber, 29, 5)
93 IATA_STR_PROPERTY(passengerStatus, 34, 1)
94 IATA_HEX_PROPERTY(variableFieldSize, 35, 2)
99 [[nodiscard]]
bool isValid()
const;
112 IATA_HEX_PROPERTY(conditionalFieldSize, 0, 2)
113 IATA_STR_PROPERTY(airlineNumericCode, 2, 3)
114 IATA_STR_PROPERTY(documentNumber, 5, 10)
115 IATA_STR_PROPERTY(selecteeIndicator, 15, 1)
116 IATA_STR_PROPERTY(internationalDocumentVerification, 16, 1)
117 IATA_STR_PROPERTY(marketingCarrierDesignator, 17, 3)
118 IATA_STR_PROPERTY(frequentFlyerAirlineDesignator, 20, 3)
119 IATA_STR_PROPERTY(frequenFlyerNumber, 23, 16)
120 IATA_STR_PROPERTY(idAdIndicator, 39, 1)
121 IATA_STR_PROPERTY(freeBaggageAllowance, 40, 3)
122 IATA_STR_PROPERTY(fastTrack, 43, 1)
133 IATA_STR_PROPERTY(type, 1, 1)
134 IATA_HEX_PROPERTY(size, 2, 2)
135 IATA_STR_PROPERTY(securityData, 4, size())
142#undef IATA_STR_PROPERTY
143#undef IATA_HEX_PROPERTY
Conditional (optional) sections of an IATA BCBP, occurs once per leg.
Repeated mandatory sections of an IATA BCBP, occurs once per leg.
Security section of an IATA BCBP.
Unique conditional (optional) section of an IATA BCBP.
Unique mandatory section of an IATA BCBP.
Classes for reservation/travel data models, data extraction and data augmentation.
QDateTime currentDateTime()
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 16:56:36 by
doxygen 1.12.0 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.