modes of transport
This commit is contained in:
@@ -52,6 +52,13 @@ class Booking(
|
||||
@Column(name = "email_audit_pdf_url")
|
||||
var emailAuditPdfUrl: String? = null,
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
@Column(name = "transport_mode")
|
||||
var transportMode: TransportMode? = null,
|
||||
|
||||
@Column(name = "transport_vehicle_number")
|
||||
var transportVehicleNumber: String? = null,
|
||||
|
||||
var notes: String? = null,
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.android.trisolarisserver.models.booking
|
||||
|
||||
import com.android.trisolarisserver.models.property.Organization
|
||||
import jakarta.persistence.*
|
||||
import java.time.OffsetDateTime
|
||||
import java.util.UUID
|
||||
|
||||
@Entity
|
||||
@Table(
|
||||
name = "guest_vehicle",
|
||||
uniqueConstraints = [UniqueConstraint(columnNames = ["org_id", "vehicle_number"])]
|
||||
)
|
||||
class GuestVehicle(
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@Column(columnDefinition = "uuid")
|
||||
val id: UUID? = null,
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY, optional = false)
|
||||
@JoinColumn(name = "org_id", nullable = false)
|
||||
var org: Organization,
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY, optional = false)
|
||||
@JoinColumn(name = "guest_id", nullable = false)
|
||||
var guest: Guest,
|
||||
|
||||
@Column(name = "vehicle_number", nullable = false)
|
||||
var vehicleNumber: String,
|
||||
|
||||
@Column(name = "created_at", nullable = false, columnDefinition = "timestamptz")
|
||||
val createdAt: OffsetDateTime = OffsetDateTime.now()
|
||||
)
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.android.trisolarisserver.models.booking
|
||||
|
||||
enum class TransportMode {
|
||||
CAR,
|
||||
BIKE,
|
||||
TRAIN,
|
||||
PLANE,
|
||||
BUS,
|
||||
FOOT,
|
||||
CYCLE,
|
||||
OTHER
|
||||
}
|
||||
@@ -20,7 +20,17 @@ class Organization {
|
||||
joinColumns = [JoinColumn(name = "org_id")]
|
||||
)
|
||||
@Column(name = "email", nullable = false)
|
||||
var emailAliases: MutableSet<String> = mutableSetOf()
|
||||
var emailAliases: MutableSet<String> = mutableSetOf(),
|
||||
|
||||
@ElementCollection(fetch = FetchType.EAGER)
|
||||
@CollectionTable(
|
||||
name = "org_transport_mode",
|
||||
joinColumns = [JoinColumn(name = "org_id")]
|
||||
)
|
||||
@Column(name = "mode", nullable = false)
|
||||
@Enumerated(EnumType.STRING)
|
||||
var allowedTransportModes: MutableSet<com.android.trisolarisserver.models.booking.TransportMode> =
|
||||
mutableSetOf(),
|
||||
|
||||
@Column(name = "created_at", nullable = false, columnDefinition = "timestamptz")
|
||||
val createdAt: OffsetDateTime = OffsetDateTime.now()
|
||||
|
||||
@@ -53,6 +53,16 @@ class Property(
|
||||
@Column(name = "alias", nullable = false)
|
||||
var otaAliases: MutableSet<String> = mutableSetOf(),
|
||||
|
||||
@ElementCollection(fetch = FetchType.EAGER)
|
||||
@CollectionTable(
|
||||
name = "property_transport_mode",
|
||||
joinColumns = [JoinColumn(name = "property_id")]
|
||||
)
|
||||
@Column(name = "mode", nullable = false)
|
||||
@Enumerated(EnumType.STRING)
|
||||
var allowedTransportModes: MutableSet<com.android.trisolarisserver.models.booking.TransportMode> =
|
||||
mutableSetOf(),
|
||||
|
||||
@Column(name = "created_at", nullable = false, columnDefinition = "timestamptz")
|
||||
val createdAt: OffsetDateTime = OffsetDateTime.now()
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user