SpecialTariffV2.java
package com.github.jenkaby.bikerental.tariff.domain.model;
import com.github.jenkaby.bikerental.shared.domain.model.vo.Money;
import com.github.jenkaby.bikerental.tariff.BreakdownCostDetails;
import com.github.jenkaby.bikerental.tariff.RentalCostV2;
import com.github.jenkaby.bikerental.tariff.domain.service.BaseRentalCostV2;
import lombok.Getter;
import java.time.Duration;
import java.time.LocalDate;
@Getter
public final class SpecialTariffV2 extends TariffV2 {
private final Money price;
public SpecialTariffV2(Long id, String name, String description, String equipmentTypeSlug,
String version, LocalDate validFrom, LocalDate validTo, TariffV2Status status) {
super(id, name, description, equipmentTypeSlug, PricingType.SPECIAL, version, validFrom, validTo, status);
this.price = Money.zero();
}
@Override
public RentalCostV2 calculateCost(Duration duration) {
return new BaseRentalCostV2(price, new BreakdownCostDetails.Special());
}
}