1+ """Specific parameter classes for ENTSO-E OMI endpoints.
2+
3+ This module contains specialized parameter classes for different OMI data
4+ endpoints, each inheriting from OMI and providing preset values for
5+ fixed parameters based on the ENTSO-E Transparency Platform API specification.
6+ """
7+
8+ from typing import Optional
9+
10+ from .OMI import OMI
11+
12+
13+ class OtherMarketInformation (OMI ):
14+ """Parameters for Other Market Information.
15+
16+ Data view:
17+ https://transparency.entsoe.eu/omi-domain/r2/otherMarketInformation/show
18+
19+ Fixed parameters:
20+ - documentType: B47 (Other market information)
21+
22+ Notes:
23+ - Returns other market information data
24+ - Can be filtered by document status (A05=Active, A09=Cancelled, A13=Withdrawn)
25+ - Supports update-based queries with PeriodStartUpdate/PeriodEndUpdate
26+ """
27+
28+ code = "Other Market"
29+
30+ def __init__ (
31+ self ,
32+ security_token : str ,
33+ control_area_domain : str ,
34+ # Time period parameters (at least one set required)
35+ period_start : Optional [int ] = None ,
36+ period_end : Optional [int ] = None ,
37+ period_start_update : Optional [int ] = None ,
38+ period_end_update : Optional [int ] = None ,
39+ # Optional filtering parameters
40+ doc_status : Optional [str ] = None ,
41+ m_rid : Optional [str ] = None ,
42+ # Additional common parameters
43+ timeout : int = 5 ,
44+ offset : int = 0 ,
45+ ):
46+ """
47+ Initialize other market information parameters.
48+
49+ Args:
50+ security_token: API security token
51+ control_area_domain: EIC code of Scheduling Area
52+ period_start: Start period (YYYYMMDDHHMM format)
53+ period_end: End period (YYYYMMDDHHMM format)
54+ period_start_update: Start of update period (YYYYMMDDHHMM format)
55+ period_end_update: End of update period (YYYYMMDDHHMM format)
56+ doc_status: Document status (A05=Active, A09=Cancelled, A13=Withdrawn)
57+ m_rid: Message ID for specific information versions
58+ timeout: Request timeout in seconds
59+ offset: Offset for pagination
60+ """
61+ super ().__init__ (
62+ security_token = security_token ,
63+ control_area_domain = control_area_domain ,
64+ period_start = period_start ,
65+ period_end = period_end ,
66+ period_start_update = period_start_update ,
67+ period_end_update = period_end_update ,
68+ doc_status = doc_status ,
69+ m_rid = m_rid ,
70+ timeout = timeout ,
71+ offset = offset ,
72+ )
73+
74+ # Set the fixed document type for Other Market Information
75+ self .add_optional_param ("documentType" , "B47" )
0 commit comments