Package-level declarations

Includes classes that are used in the implementation of the parking price provider.

Types

Link copied to clipboard
data class Fee(val value: BigDecimal, val currency: Currency)

Parking fee information for a reserved parking spot.

Link copied to clipboard

A FuzzyDuration is a period of time that is loosely defined. We refer to this as "fuzzy" because the general term used may have a similar meaning to many users, but there is not a specific definition (as in a time period from x hour to y hour).

Link copied to clipboard
data class ParkingDuration(val repeatableDuration: RepeatableDuration? = null, val fuzzyDuration: FuzzyDuration? = null)

Duration information for Ticket. It can either be explicit with a value and a time unit or fuzzy such as evening or flatRate.

Link copied to clipboard
data class PaymentDetails(@Size(min = 1) val methods: List<PaymentMethod>, val type: PaymentType? = null)

Details of the payment procedure and timing for the parking. (For example, an indication that payment is required upfront.)

Link copied to clipboard

The payment method which was used for a given parking payment.

Link copied to clipboard

The type of payment which was used for a given parking payment.

Link copied to clipboard
data class Price(val startTime: Calendar, val duration: Duration, @Size(min = 1) val fees: List<Fee>)

The fees for parking for a certain period of time in the parking place.

Link copied to clipboard
data class Rate(val isFreeOutsideHours: Boolean, val currency: Currency, val rateDetails: List<RateDetails>, val additionalTaxRateInPercent: Double? = null, val classifier: RateClassifier? = null)

The corresponding duration of a single rate, and the hours when the rate applies. Support for unique combinations of rates and hours, such as rates that fluctuate during different hours of the day or different days of the week.

Link copied to clipboard

The parking price classifier. Additional factors that may affect pricing.

Link copied to clipboard
data class RateDetails(@Size(min = 1) val parkingPeriods: List<TimePeriod>, @Size(min = 1) val offeredTickets: List<Ticket>)

Price details for a single parking service type.

Link copied to clipboard
data class RepeatableDuration(val duration: Duration, val repeated: Boolean)

Explicit duration information for a parking price.

Link copied to clipboard
data class Ticket(val amount: BigDecimal, val parkingDuration: ParkingDuration)

Single parking ticket information.

Link copied to clipboard
data class TimePeriod(val timePeriodRange: ClosedRange<Calendar>)

Time ranges when the ticket price applies.