#ifndef CALCULATE_PARKING_TICKETS_ALGORITHMS_H_INCLUDED
#define CALCULATE_PARKING_TICKETS_ALGORITHMS_H_INCLUDED

#include <ctime>
#include "calculate_parking_tickets_global.h"
#include "calculate_parking_tickets_tariff.h"


#ifdef __cplusplus
extern "C" {
#endif

bool compute_price_for_parking_ticket(parking_tariff_t const *tariff,
                                      minute_t start_parking_time,
                                      minute_t end_parking_time,
                                      struct price_t *price);

bool compute_duration_for_parking_ticket(parking_tariff_t const *tariff,
                                         minute_t start_parking_time,
                                         minute_t *end_parking_time,
                                         struct price_t const *price);

bool compute_price_for_tages_ticket(parking_tariff_t *tariff,
                                    time_t parking_time_start,
                                    struct price_t *price);

bool compute_price_for_24h_ticket(parking_tariff_t *tariff,
                                  time_t start_parking_time,
                                  struct price_t *price);

#ifdef __cplusplus
}
#endif

#endif // CALCULATE_PARKING_TICKETS_ALGORITHMS_H_INCLUDED
