with
    stg_core__verification_to_payment as (
        select * from {{ ref("stg_core__verification_to_payment") }}
    ),
    stg_core__verification_payment_type as (
        select * from {{ ref("stg_core__verification_payment_type") }}
    ),
    stg_core__payment as (select * from {{ ref("stg_core__payment") }}),
    stg_core__payment_status as (select * from {{ ref("stg_core__payment_status") }}),
    int_hardcoded_historical_currency_rates as (
        select * from {{ ref("int_hardcoded_historical_currency_rates") }}
    )
select
    vtp.id_verification_to_payment,
    vtp.id_payment,
    vtp.is_refundable,
    vtp.created_at_utc,
    vtp.updated_at_utc,
    vtp.payment_due_at_utc,
    vtp.payment_due_date_utc,
    p.paid_at_utc as payment_paid_at_utc,
    p.paid_date_utc as payment_paid_date_utc,
    p.payment_reference,
    vtp.refund_due_at_utc,
    vtp.refund_due_date_utc,
    p.refunded_at_utc as payment_refunded_at_utc,
    p.refunded_date_utc as payment_refunded_date_utc,
    p.refund_payment_reference,
    vtp.id_guest_user,
    vtp.id_verification,
    vpt.verification_payment_type,
    p.amount as amount_in_txn_currency,
    p.currency,
    (p.amount * r.rate) as amount_in_gbp,
    ps.payment_status,
    p.notes
from stg_core__verification_to_payment vtp
left join stg_core__payment p on vtp.id_payment = p.id_payment
left join
    stg_core__verification_payment_type vpt
    on vtp.id_verification_payment_type = vpt.id_verification_payment_type
left join stg_core__payment_status ps on p.id_payment_status = ps.id_payment_status
left join
    int_hardcoded_historical_currency_rates r
    on p.paid_date_utc = r.rate_date
    and p.currency = r.from_currency
    and r.to_currency = 'GBP'
