{% extends "base.html" %} {% block title %}{{ t('schedule_new.title') }} โ€” painfree{% endblock %} {% block body %}

{{ t('schedule_new.heading') }}

{{ t('schedule_new.lede') }}

{# The bank's own list beats a table of what is usually true, so the generic one is a fallback and folded away: it is reference, not instruction. #} {% if not published %}
{{ t('schedule_new.btf_heading') }}

{{ t('schedule_new.btf_body') }}

{# The table is the bank's own vocabulary: `EOP`, `camt.053`, `ZIP`. The column headings are translated; not one cell is. #} {% for preset in presets %} {% endfor %}
{{ t('schedule_new.document') }}ServiceNameMsgNameMsgVersion {{ t('schedules.scope_column') }}{{ t('schedule_new.container') }}
{{ preset.label }} {{ preset.service_name }} {{ preset.msg_name }} {{ preset.msg_version }} {{ preset.scope }} {{ preset.container }}
{% endif %}
{% if published %} {# What the banks themselves publish, from the stored `HTD`. Choosing one fills every BTF field and the connection with it, so nobody retypes a `container` the bank already named -- the mistake that is `091113` hours later rather than a message here. The value carries the whole triplet because a `select` can only submit one string, and that is also what lets this work with no script. #} {% endif %}
BTF โ€” {{ t('schedule_new.btf_fields_hint') }}
{# A rate or a time, and the expression wins when both are filled -- the same rule as the payment form's typed IBAN, for the same reason: somebody who wrote an expression meant it. #}
{{ t('schedule_new.cron') }}

{{ t('schedule_new.cron_hint') }}

{{ t('common.cancel') }}
{% endblock %}