0 ? rtrim(rtrim(number_format(floatval($value), 2, '.', ''), '0'), '.') : ''; }; $t_term = intval($t_value('term_months', 12)); $t_hints = contractDefaultHints(); // what a field left empty falls back to $t_slas = contractSlaChoices($t ? array_map(function ($part) use ($t) { return intval($t["contract_template_sla_{$part}_id"]); }, CONTRACT_SLA_PRIORITIES) : []); $tab = 'templateTab' . bin2hex(random_bytes(3)); ?>
>
days
>
hours
hours left
Tickets' time is drawn from the hours included each month - for that month only - and from any hours bought on the contract, before it is billed.
days
While the contract is in force, time bills at these rates - the after-hours one for tickets opened outside business hours - and new invoices are due on these terms. Leave one empty and the default in Admin > Settings > Defaults applies. $part) { ?>
From Admin > SLAs. While the contract is in force, the client's new tickets get them, and the default for a priority left on the default.