grid_tariffs/registry/sweden/
vattenfall.rs

1use crate::registry::prelude::*;
2
3const FEE_LINK: &'static str = "https://www.vattenfalleldistribution.se/abonnemang-och-avgifter/avtal-och-avgifter/elnatsavgift-och-avtalsvillkor/";
4
5const BASE_PRICELIST: PriceListBuilder = PriceListBuilder::new()
6    .from_date(2025, 1, 1)
7    .monthly_fee(Cost::fuses(&[
8        (16, Money::new(420, 83)),
9        (20, Money::new(588, 75)),
10        (25, Money::new(737, 50)),
11        (35, Money::new(1011, 67)),
12        (50, Money::new(1452, 50)),
13        (63, Money::new(1957, 92)),
14    ]))
15    .monthly_production_fee(Cost::Unverified)
16    .feed_in_revenue(FeedInRevenue::Unverified)
17    .power_tariff(PowerTariff::NotImplemented);
18
19pub static VATTENFALL: GridOperator = GridOperator::builder()
20    .name("Vattenfall")
21    .vat_number("SE556417080001")
22    .country(Country::SE)
23    .main_fuses(MainFuseSizes::new_range(16, 63))
24    .links(Links::new(
25        Link::builder(FEE_LINK)
26            .content_locator(ContentLocator::new_starts_with(
27                "Säkringsabonnemang (16–63 A)",
28                TargetContainer::Ancestor(1),
29                ContentTarget::Attribute("data-content"),
30            ))
31            .build(),
32    ))
33    .price_lists(&[
34        BASE_PRICELIST
35            .variant("Effekttariff E4")
36            .transfer_fee(TransferFee::fixed_subunit(39.0))
37            .build(),
38        BASE_PRICELIST
39            .variant("Tidstariff T4")
40            .transfer_fee(TransferFee::new_periods(CostPeriods::new(&[
41                CostPeriod::builder()
42                    .load(High)
43                    .fixed_cost_subunit(67.00)
44                    .months(November, March)
45                    .hours(6, 22)
46                    .exclude_weekends()
47                    .build(),
48                CostPeriod::builder()
49                    .load(Low)
50                    .fixed_cost_subunit(26.80)
51                    .build(),
52            ])))
53            .build(),
54    ])
55    .build();