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

const FEE_LINK: &str = "https://www.grastorpenergi.se/natavgifter2025";

pub static GRASTORP_ENERGI_EK_FOR: GridOperator = GridOperator::builder()
    .name("Grästorp Energi ek för")
    .vat_number("SE769000276601")
    .country(SE)
    .links(Links::builder().fee_info_default(FEE_LINK).build())
    .price_lists(&[PriceList::builder()
        .from_date(2025, 1, 1)
        .monthly_fee(Cost::fuses(&[
            (20, Money::new(5969, 0).divide_by(12)),
            (25, Money::new(7403, 0).divide_by(12)),
            (35, Money::new(10254, 0).divide_by(12)),
            (50, Money::new(14600, 0).divide_by(12)),
            (63, Money::new(18365, 0).divide_by(12)),
        ]))
        .monthly_production_fee(Cost::None)
        // NOTE: This information was received from Grastorp energi via e-mail on 2025-11-05
        .feed_in_revenue(FeedInRevenue::new_periods(CostPeriods::new_first(&[
            CostPeriod::builder()
                .load(High)
                .fixed_cost_subunit(5.06)
                .months(November, March)
                .hours(06, 21)
                .build(),
            CostPeriod::builder()
                .load(Low)
                .fixed_cost_subunit(3.26)
                .build(),
        ])))
        .transfer_fee(TransferFee::fixed_subunit(25.00))
        .power_tariff(PowerTariff::NotImplemented)
        .build()])
    .build();
