KItinerary

ticket.cpp
1 /*
2  SPDX-FileCopyrightText: 2018 Volker Krause <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #include "ticket.h"
8 #include "datatypes_p.h"
9 
10 #include <QByteArray>
11 
12 #include <cmath>
13 
14 using namespace KItinerary;
15 
16 namespace KItinerary {
17 
18 class SeatPrivate : public QSharedData
19 {
20 public:
21  QString seatNumber;
22  QString seatRow;
23  QString seatSection;
24  QString seatingType;
25  QString identifier;
26 };
27 
28 KITINERARY_MAKE_CLASS(Seat)
29 KITINERARY_MAKE_PROPERTY(Seat, QString, seatNumber, setSeatNumber)
30 KITINERARY_MAKE_PROPERTY(Seat, QString, seatRow, setSeatRow)
31 KITINERARY_MAKE_PROPERTY(Seat, QString, seatSection, setSeatSection)
32 KITINERARY_MAKE_PROPERTY(Seat, QString, seatingType, setSeatingType)
33 KITINERARY_MAKE_PROPERTY(Seat, QString, identifier, setIdentifier)
34 KITINERARY_MAKE_OPERATOR(Seat)
35 
36 class TicketPrivate : public QSharedData
37 {
38 public:
39  QString name;
40  Organization issuedBy;
41  QString ticketNumber;
42  Seat ticketedSeat;
43  QString ticketToken;
44  Person underName;
45  QVariantList subjectOf;
46  QDateTime validFrom;
47  QDateTime validUntil;
48  double totalPrice = NAN;
49  QString priceCurrency;
50  QString identifier;
51 };
52 
53 KITINERARY_MAKE_CLASS(Ticket)
54 KITINERARY_MAKE_PROPERTY(Ticket, QString, name, setName)
55 KITINERARY_MAKE_PROPERTY(Ticket, Organization, issuedBy, setIssuedBy)
56 KITINERARY_MAKE_PROPERTY(Ticket, QString, ticketNumber, setTicketNumber)
57 KITINERARY_MAKE_PROPERTY(Ticket, Seat, ticketedSeat, setTicketedSeat)
58 KITINERARY_MAKE_PROPERTY(Ticket, QString, ticketToken, setTicketToken)
59 KITINERARY_MAKE_PROPERTY(Ticket, Person, underName, setUnderName)
60 KITINERARY_MAKE_PROPERTY(Ticket, QVariantList, subjectOf, setSubjectOf)
61 KITINERARY_MAKE_PROPERTY(Ticket, QDateTime, validFrom, setValidFrom)
62 KITINERARY_MAKE_PROPERTY(Ticket, QDateTime, validUntil, setValidUntil)
63 KITINERARY_MAKE_PROPERTY(Ticket, double, totalPrice, setTotalPrice)
64 KITINERARY_MAKE_PROPERTY(Ticket, QString, priceCurrency, setPriceCurrency)
65 KITINERARY_MAKE_PROPERTY(Ticket, QString, identifier, setIdentifier)
66 KITINERARY_MAKE_OPERATOR(Ticket)
67 
69 {
70  return Token::tokenType(d->ticketToken);
71 }
72 
74 {
75  return Token::tokenData(d->ticketToken);
76 }
77 
78 }
79 
80 #include "moc_ticket.cpp"
A booked ticket.
Definition: ticket.h:40
static TokenType tokenType(QStringView token)
Determine token type for the given token.
Definition: token.cpp:13
A person.
Definition: person.h:19
QVariant ticketTokenData
The ticket token payload for barcodes, otherwise the same as ticketToken.
Definition: ticket.h:57
TokenType
Token format.
Definition: token.h:28
KItinerary::Token::TokenType ticketTokenType
The raw ticket token string.
Definition: ticket.h:53
An organization.
Definition: organization.h:30
const char * name(StandardAction id)
A reserved seat.
Definition: ticket.h:22
static QVariant tokenData(const QString &token)
Determine token content for the given token.
Definition: token.cpp:35
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sat Dec 2 2023 03:58:28 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.