{{ t('payments.title') }}

{{ t('payments.subtitle') }}

{{ t('common.loading') }}

{{ t('payments.noPastDue') }}

{{ t('common.date') }} {{ t('common.court') }} {{ t('common.player') }} {{ t('common.type') }} {{ t('common.amount') }} {{ t('common.action') }}
{{ formatDate(p.bookingDate) }} {{ p.courtName }} {{ p.playerFirstName + ' ' + p.playerLastName }} {{ p.bookingComments ? p.bookingComments.replace(' - playtomic', '') : t('type.blocking') }} Playtomic {{ t('type.match') }} {{ t('type.blocking') }} {{ t('type.event') }} {{ t('type.training') }} {{ t('type.other') }} {{ (p.amount / 100).toFixed(2) }} {{ (p.currency || clubCurrency).toUpperCase() }} {{ t('common.saving') }}
{{ t('common.total') }}: {{ (pastPendingTotal / 100).toFixed(2) }} {{ clubCurrency.toUpperCase() }}

{{ t('common.loading') }}

{{ t('payments.noUpcoming') }}

{{ t('common.date') }} {{ t('common.court') }} {{ t('common.player') }} {{ t('common.type') }} {{ t('common.amount') }} {{ t('common.action') }}
{{ formatDate(p.bookingDate) }} {{ p.courtName }} {{ p.playerFirstName + ' ' + p.playerLastName }} {{ p.bookingComments ? p.bookingComments.replace(' - playtomic', '') : t('type.blocking') }} Playtomic {{ t('type.match') }} {{ t('type.blocking') }} {{ t('type.event') }} {{ t('type.training') }} {{ t('type.other') }} {{ (p.amount / 100).toFixed(2) }} {{ (p.currency || clubCurrency).toUpperCase() }} {{ t('common.saving') }}
{{ t('common.total') }}: {{ (futurePendingTotal / 100).toFixed(2) }} {{ clubCurrency.toUpperCase() }}

{{ t('payments.duesTitle', { name: playerDuesName }) }}

{{ t('common.loading') }}

{{ t('payments.noDues') }}

{{ t('common.date') }} {{ t('common.court') }} {{ t('common.type') }} {{ t('common.amount') }}
{{ formatDate(d.bookingDate) }} {{ d.courtName }} {{ t('type.match') }} {{ t('type.blocking') }} {{ t('type.event') }} {{ t('type.training') }} {{ t('type.other') }} {{ (d.amount / 100).toFixed(2) }} {{ (d.currency || clubCurrency).toUpperCase() }}
{{ t('common.total') }}: {{ (playerDuesTotal / 100).toFixed(2) }} {{ (playerDuesCurrency || clubCurrency).toUpperCase() }}

{{ t('payments.historyTitle', { name: playerHistoryName }) }}

{{ paymentPeriodLabel }}

{{ t('payments.noPlayerPayments') }}

{{ t('payments.bookingDate') }} {{ t('common.court') }} {{ t('payments.booking') }} {{ t('common.type') }} {{ t('payments.paidAt') }} {{ t('common.amount') }}
{{ formatDate(d.bookingDate) }} {{ d.courtName }} {{ t('type.match') }} {{ t('type.blocking') }} {{ t('type.event') }} {{ t('type.training') }} {{ t('pay.refund') }} Playtomic {{ t('pay.paidViva') }} {{ t('pay.manualCash') }} {{ t('pay.manualCard') }} {{ t('pay.vipCrown') }} {{ t('pay.manual') }} {{ formatDate(d.paidAt) }} {{ d.paymentMethod === 'vip' ? '0.00 ' + (d.currency || clubCurrency).toUpperCase() : (d.amount ? (d.amount / 100).toFixed(2) + ' ' + (d.currency || '').toUpperCase() : '—') }}
{{ t('common.total') }}: {{ (playerHistoryTotal / 100).toFixed(2) }} {{ (playerHistoryCurrency || clubCurrency).toUpperCase() }} {{ t('payments.refundsSubtracted', { amount: (playerHistoryRefunded / 100).toFixed(2) }) }}
{{ t('common.total') }}: {{ paymentsTotal }}
{{ t('common.day') }} {{ t('pay.cash') }} {{ t('pay.card') }} Viva Playtomic {{ t('common.total') }} {{ t('payments.vips') }}
{{ row.label }} {{ row.cash.toFixed(2) }} {{ row.card.toFixed(2) }} {{ row.viva.toFixed(2) }} {{ row.playtomic.toFixed(2) }} {{ row.total.toFixed(2) }} {{ historyCurrency }} {{ row.vips }}

{{ t('common.loading') }}

{{ t('payments.noPayments') }}

{{ t('payments.bookingDate') }} {{ t('common.court') }} {{ t('payments.booking') }} {{ t('common.player') }} {{ t('common.amount') }} {{ t('common.type') }} {{ t('payments.markedBy') }} {{ t('payments.paidAt') }} {{ t('common.action') }}
{{ formatDate(p.bookingDate) }} {{ p.courtName }} {{ t('type.match') }} {{ t('type.blocking') }} {{ t('type.event') }} {{ t('type.training') }} {{ p.playerFirstName + ' ' + p.playerLastName }} {{ p.playerFirstName ? p.playerFirstName + ' ' + p.playerLastName : (p.bookingComments ? p.bookingComments.replace(' - playtomic', '') : '—') }} {{ p.paymentMethod === 'vip' ? '0.00 ' + (p.currency || clubCurrency).toUpperCase() : (p.amount ? (p.amount / 100).toFixed(2) + ' ' + (p.currency || '').toUpperCase() : '—') }} {{ t('pay.refund') }} Playtomic {{ t('pay.paidViva') }} {{ t('pay.manualCash') }} {{ t('pay.manualCard') }} {{ t('pay.vipCrown') }} {{ t('pay.manual') }} {{ p.markedBy || '—' }} {{ formatDate(p.paidAt) }} {{ t('pay.refunding') }}

{{ t('club.title') }}

{{ t('club.subtitle') }}

{{ t('common.loading') }}

{{ clubSaveMsg }}
{{ clubSaveError }}

{{ t('club.images') }}

{{ clubImageError }}
Club logo
{{ t('common.uploading') }}

{{ t('common.courts') }}

{{ t('common.saved') }}
{{ t('club.noCourts') }}

{{ t('pt.title') }}

{{ t('pt.subtitle') }}

{{ t('common.loading') }}

{{ t('pt.outHeader') }} {{ t('pt.outHint') }}

{{ t('pt.outExplain') }}

{{ t('pt.tenantHintPrefix') }} manager.playtomic.io/tenant-id/scheduler

{{ t('pt.inHeader') }} {{ t('pt.inHint') }}

{{ t('pt.inExplain') }}

{{ t('pt.useAppPassword') }}
{{ playtomicSuccess }}
{{ playtomicError }}

{{ t('viva.title') }}

{{ t('viva.subtitle') }}

{{ t('common.loading') }}

{{ paymentSettingsSuccess }}
{{ paymentSettingsError }}

{{ t('shop.title') }}

{{ t('shop.subtitle', { currency: clubCurrency }) }}

{{ t('common.saved') }}

{{ t('common.loading') }}

{{ t('common.loading') }}

{{ t('common.loading') }}

{{ t('common.date') }}{{ t('shop.product') }}{{ t('shop.requestedBy') }}{{ t('common.phone') }}{{ t('shop.note') }}{{ t('common.status') }}{{ t('common.action') }}
{{ formatDate(r.createdAt) }} {{ r.productName }}{{ r.size ? ' (' + r.size + ')' : '' }} {{ r.firstName ? r.firstName + ' ' + r.lastName : '—' }} {{ r.phone || '—' }} {{ r.note || '—' }} {{ t(r.status === 'open' ? 'shop.statusOpen' : 'shop.statusHandled') }}

{{ t('shop.noRequests') }}

{{ t('newClub.title') }}

{{ t('newClub.subtitle') }}

{{ newClubSuccess }}
{{ newClubError }}

{{ t('test.title') }}

{{ t('test.subtitlePre') }} +40777999000 {{ t('test.subtitleMid') }} 123456 {{ t('test.subtitlePost') }}

{{ t('common.loading') }}

{{ t('test.currentlyMapped') }} {{ (testLogin.player.firstName || '') + ' ' + (testLogin.player.lastName || '') }} — {{ testLogin.player.phone || t('common.noPhone') }} (userId {{ testLogin.userId }}) {{ t('test.notSet') }}
{{ testLoginSuccess }}
{{ testLoginError }}