Application and server status for OTB Billing.
Healthy
{% else %}Degraded
{% endif %}App: {{ health.app_name }}
Host: {{ health.hostname }}
Toronto Time: {{ health.server_time_toronto }}
UTC Time: {{ health.server_time_utc }}
Connected
{% else %}Connection Error
{% endif %}Error: {{ health.database.error or "None" }}
Application: {{ health.app_uptime_human }}
Server: {{ health.server_uptime_human }}
1 min: {{ health.load_average["1m"] }}
5 min: {{ health.load_average["5m"] }}
15 min: {{ health.load_average["15m"] }}
Total: {{ health.memory.total_mb }} MB
Available: {{ health.memory.available_mb }} MB
Used: {{ health.memory.used_mb }} MB
Used %: {{ health.memory.used_percent }}%
Total: {{ health.disk_root.total_gb }} GB
Used: {{ health.disk_root.used_gb }} GB
Free: {{ health.disk_root.free_gb }} GB
Used %: {{ health.disk_root.used_percent }}%
Square confirmed payments
Today: {{ health.revenue_health.square.today.count }} payment{% if health.revenue_health.square.today.count != 1 %}s{% endif %} | {{ health.revenue_health.square.today.cad_total_display }}
This Month: {{ health.revenue_health.square.month.count }} payment{% if health.revenue_health.square.month.count != 1 %}s{% endif %} | {{ health.revenue_health.square.month.cad_total_display }}
This Year: {{ health.revenue_health.square.year.count }} payment{% if health.revenue_health.square.year.count != 1 %}s{% endif %} | {{ health.revenue_health.square.year.cad_total_display }}
All confirmed payments
Today: {{ health.revenue_health.all_confirmed.today.count }} payment{% if health.revenue_health.all_confirmed.today.count != 1 %}s{% endif %} | {{ health.revenue_health.all_confirmed.today.cad_total_display }}
This Month: {{ health.revenue_health.all_confirmed.month.count }} payment{% if health.revenue_health.all_confirmed.month.count != 1 %}s{% endif %} | {{ health.revenue_health.all_confirmed.month.cad_total_display }}
This Year: {{ health.revenue_health.all_confirmed.year.count }} payment{% if health.revenue_health.all_confirmed.year.count != 1 %}s{% endif %} | {{ health.revenue_health.all_confirmed.year.cad_total_display }}
{% if health.revenue_health.last_payment %}Last Payment: {{ health.revenue_health.last_payment.cad_total_display }} {{ health.revenue_health.last_payment.currency }}
When: {{ health.revenue_health.last_payment.payment_time }}
{% endif %} {% elif health.revenue_health %}Unavailable
Error: {{ health.revenue_health.error }}
{% else %}Unavailable
{% endif %}Total Unpaid: {{ health.receivables_aging.total_unpaid_display }}
Open Invoices: {{ health.receivables_aging.invoice_count }}
Current: {{ health.receivables_aging.current.count }} invoice{% if health.receivables_aging.current.count != 1 %}s{% endif %} | {{ health.receivables_aging.current.cad_total_display }}
1-30 Days: {{ health.receivables_aging.d1_30.count }} invoice{% if health.receivables_aging.d1_30.count != 1 %}s{% endif %} | {{ health.receivables_aging.d1_30.cad_total_display }}
31-60 Days: {{ health.receivables_aging.d31_60.count }} invoice{% if health.receivables_aging.d31_60.count != 1 %}s{% endif %} | {{ health.receivables_aging.d31_60.cad_total_display }}
61-90 Days: {{ health.receivables_aging.d61_90.count }} invoice{% if health.receivables_aging.d61_90.count != 1 %}s{% endif %} | {{ health.receivables_aging.d61_90.cad_total_display }}
90+ Days: {{ health.receivables_aging.d90_plus.count }} invoice{% if health.receivables_aging.d90_plus.count != 1 %}s{% endif %} | {{ health.receivables_aging.d90_plus.cad_total_display }}
{% elif health.receivables_aging %}Unavailable
Error: {{ health.receivables_aging.error }}
{% else %}Unavailable
{% endif %}{% if asset.explorer_url %}{{ asset.coin }}{% else %}{{ asset.coin }}{% endif %}: {% if asset.ok %} {{ asset.balance }} {% else %} error {% endif %}
{% endfor %}Wallet: {{ health.operations_balances.wallet }}
{% else %}Not available
{% endif %}{% if asset.explorer_url %}{{ asset.coin }}{% else %}{{ asset.coin }}{% endif %}: {% if asset.ok %} {{ asset.balance }} {% else %} error {% endif %}
{% endfor %}Wallet: {{ health.treasury_balances.wallet }}
{% else %}Not available
{% endif %}Timer: {% if health.crypto_reconcile.timer_active == "active" %} {{ health.crypto_reconcile.timer_active }} {% else %} {{ health.crypto_reconcile.timer_active }} {% endif %}
Service: {{ health.crypto_reconcile.service_active }}
Last Run: {{ health.crypto_reconcile.last_run }}
Last Result: {{ health.crypto_reconcile.last_result }}
{% if health.crypto_reconcile.payment_stats and health.crypto_reconcile.payment_stats.available %}Pending: {{ health.crypto_reconcile.payment_stats.pending }}
Confirmed Today: {{ health.crypto_reconcile.payment_stats.confirmed_today }}
Stale Pending: {% if health.crypto_reconcile.payment_stats.stale_pending and health.crypto_reconcile.payment_stats.stale_pending > 0 %} {{ health.crypto_reconcile.payment_stats.stale_pending }} {% else %} {{ health.crypto_reconcile.payment_stats.stale_pending }} {% endif %}
{% elif health.crypto_reconcile.payment_stats %}Stats: unavailable
Error: {{ health.crypto_reconcile.payment_stats.error }}
{% endif %} {% else %}Not available
{% endif %}