use crate::registry::prelude::*;

const FEE_LINK: &str = "https://www.alemenergi.se/elnat/natavgifter/";

pub static ALEM_ENERGI_ELNAT_AB: GridOperator = GridOperator::builder()
    .name("Ålem Energi Elnät AB")
    .vat_number("SE556179650801")
    .country(SE)
    .links(Links::builder().fee_info_default(FEE_LINK).build())
    .price_lists(&[
        PriceList::builder()
            .from_date(2025, 1, 1)
            .monthly_fee(Cost::fuses(&[
                (16, Money::new(458, 0)),
                (20, Money::new(779, 0)),
                (25, Money::new(1012, 0)),
                (35, Money::new(1507, 0)),
                (50, Money::new(2285, 0)),
                (63, Money::new(2993, 0)),
                (80, Money::new(3721, 0)),
                (100, Money::new(4764, 0)),
                (125, Money::new(6116, 0)),
                (160, Money::new(8310, 0)),
                (200, Money::new(11179, 0)),
            ]))
            .monthly_production_fee(Cost::Unverified)
            // NOTE: This information was received from Alem energi elverk via e-mail on 2025-11-04
            .feed_in_revenue(FeedInRevenue::fixed_subunit(3.05))
            .transfer_fee(TransferFee::fixed_subunit(27.65))
            .power_tariff(PowerTariff::NotImplemented)
            .build(),
        PriceList::builder()
            .from_date(2026, 1, 1)
            .monthly_fee(Cost::fuses(&[
                (16, Money::new(504, 0)),
                (20, Money::new(856, 0)),
                (25, Money::new(1113, 0)),
                (35, Money::new(1657, 0)),
                (50, Money::new(2514, 0)),
                (63, Money::new(3262, 0)),
                (80, Money::new(4093, 0)),
                (100, Money::new(5241, 0)),
                (125, Money::new(6727, 0)),
                (160, Money::new(9141, 0)),
                (200, Money::new(12297, 0)),
            ]))
            .monthly_production_fee(Cost::Unverified)
            // NOTE: This information was received from Alem energi elverk via e-mail on 2025-11-04
            .feed_in_revenue(FeedInRevenue::fixed_subunit(3.05))
            .transfer_fee(TransferFee::fixed_subunit(23.50))
            .power_tariff(PowerTariff::Unverified)
            .build(),
    ])
    .build();
