@Override
	public double execute(Date start, Date end) {
		int duration = TimeCalculator.duration(start, end);
		duration = duration % this.minuteUnit > 0 ? (duration / this.minuteUnit + 1)
				: duration / this.minuteUnit;
		double price = 0;
		if (duration == 1) {
			price = this.firstMinutePrice;
		} else if (duration <= this.firstNMinute) {
			price = this.pricePerMinuteBeforeN * duration;
		} else if (duration > this.firstNMinute) {
			price = this.pricePerMinuteAfterN * duration;
		}
		return DecimalCleaner.round(price, 3);
	}