/**
* This file is part of alf.io.
*
* alf.io is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* alf.io is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with alf.io. If not, see <http://www.gnu.org/licenses/>.
*/
package alfio.model;
import ch.digitalfondue.npjt.ConstructorAnnotationRowMapper.Column;
import lombok.Getter;
import java.time.ZonedDateTime;
@Getter
public class AdditionalServiceItem {
public enum AdditionalServiceItemStatus {
FREE, PENDING, TO_BE_PAID, ACQUIRED, CANCELLED, CHECKED_IN, EXPIRED, INVALIDATED, RELEASED
}
private final int id;
private final String uuid;
private final ZonedDateTime utcCreation;
private final ZonedDateTime utcLastModified;
private final String ticketsReservationUuid;
private final int additionalServiceId;
private final AdditionalServiceItemStatus status;
private final int eventId;
private final Integer srcPriceCts;
private final Integer finalPriceCts;
private final Integer vatCts;
private final Integer discountCts;
public AdditionalServiceItem(@Column("id") int id,
@Column("uuid") String uuid,
@Column("creation") ZonedDateTime utcCreation,
@Column("last_modified") ZonedDateTime utcLastModified,
@Column("tickets_reservation_uuid") String ticketsReservationUuid,
@Column("additional_service_id_fk") int additionalServiceId,
@Column("status") AdditionalServiceItemStatus status,
@Column("event_id_fk") int eventId,
@Column("src_price_cts") Integer srcPriceCts,
@Column("final_price_cts") Integer finalPriceCts,
@Column("vat_cts") Integer vatCts,
@Column("discount_cts") Integer discountCts) {
this.id = id;
this.uuid = uuid;
this.utcCreation = utcCreation;
this.utcLastModified = utcLastModified;
this.ticketsReservationUuid = ticketsReservationUuid;
this.additionalServiceId = additionalServiceId;
this.status = status;
this.eventId = eventId;
this.srcPriceCts = srcPriceCts;
this.finalPriceCts = finalPriceCts;
this.vatCts = vatCts;
this.discountCts = discountCts;
}
}