grid_tariffs/registry/sweden/
vattenfall.rs

1use crate::registry::prelude::*;
2
3static FEE_LINK: &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(
25        Links::builder()
26            .fee_info_complex(
27                FEE_LINK,
28                ContentLocator::new_starts_with(
29                    "Säkringsabonnemang (16–63 A)",
30                    TargetContainer::Ancestor(1),
31                    ContentTarget::Attribute("data-content"),
32                ),
33            )
34            .build(),
35    )
36    .price_lists(&[
37        BASE_PRICELIST
38            .variant("Effekttariff E4")
39            .transfer_fee(TransferFee::fixed_subunit(39.0))
40            .build(),
41        BASE_PRICELIST
42            .variant("Tidstariff T4")
43            .transfer_fee(TransferFee::new_periods(CostPeriods::new_first(&[
44                CostPeriod::builder()
45                    .load(High)
46                    .fixed_cost_subunit(67.00)
47                    .months(November, March)
48                    .hours(6, 22)
49                    .exclude_weekends()
50                    .build(),
51                CostPeriod::builder()
52                    .load(Low)
53                    .fixed_cost_subunit(26.80)
54                    .build(),
55            ])))
56            .build(),
57    ])
58    .build();