<?php
/**
 * BookiFlex Core
 *
 * @package    BookiFlex
 * @subpackage Core
 * @author     BookiFlex
 * @copyright  Copyright (c) 2025 BookiFlex
 * @license    GPL-2.0-or-later
 *
 * @link       https://bookiflex.com
 */

declare(strict_types=1);

namespace BookiFlex\Core\Model\DateUnit;

defined( 'ABSPATH' ) || exit;

interface DateUnitTypeInterface
{
    public const PRICE_TYPE           = 'price';
    public const STOP_SALE_TYPE       = 'stopSale';
    public const MIN_LOS_TYPE         = 'minLos';
    public const MAX_LOS_TYPE         = 'maxLos';
    public const MIN_LOS_ARRIVAL_TYPE = 'minLosArrival';
    public const MAX_LOS_ARRIVAL_TYPE = 'maxLosArrival';
    public const MIN_ADV_BOOKING_TYPE = 'minAdvBooking';
    public const MAX_ADV_BOOKING_TYPE = 'maxAdvBooking';
    public const CTA_TYPE             = 'cta';
    public const CTD_TYPE             = 'ctd';

    public const FORMULA_CALCULATOR    = 'formula';
    public const PERCENTAGE_CALCULATOR = 'percentage';
    public const FIXED_CALCULATOR      = 'fixed';

    public const DISCOUNT_ADJUSTMENT_TYPE = 'discount';
    public const ADDITION_ADJUSTMENT_TYPE = 'addition';
}
