@Data
@Entity
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "parking_reservation")
@JsonIgnoreProperties(ignoreUnknown = true)
public class ParkingReservation implements Serializable {
@Serial
private static final long serialVersionUID = 366850429752805395L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "plate_number")
@NotBlank(message = "PlateNumber is mandatory")
private String plateNumber;
@Column(name = "reservation_system")
@NotBlank(message = "ReservationSystem is mandatory")
private String reservationSystem;
@Column(name = "ext_reservation_id")
@NotBlank(message = "ExtReservationId is mandatory")
private String extReservationId;
@Column(name = "ext_parking_zone_id")
@NotBlank(message = "ExtParkingZoneId is mandatory")
private String extParkingZoneId;
@Column(name = "in_time")
@NotNull(message = "InTime is mandatory")
private LocalDateTime inTime;
@Column(name = "out_time")
@NotNull(message = "OutTime is mandatory")
private LocalDateTime outTime;
@Column(name = "time_zone_id")
@NotBlank(message = "TimeZoneId is mandatory")
private String timeZoneId;
// todo: add map and move rateType param of spotHero there
}