(* Options: Date: 2024-10-18 17:19:50 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://reportfiling.staging.pwc.de //GlobalNamespace: //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //ExportValueTypes: False IncludeTypes: BatchRetrieveDac6Protocols.* //ExcludeTypes: //InitializeCollections: True //AddNamespaces: *) namespace PwC.DigitalHub.Utilities.IO.Concretes.Models open System open System.Collections open System.Collections.Generic open System.Runtime.Serialization open ServiceStack open ServiceStack.DataAnnotations open System.Xml.Schema open System.Net type Verfahren = | CC = 0 | CS = 1 | DC = 2 | FC = 3 | FS = 4 | FA = 5 | KM = 6 /// ///Represent parameters to search or filter on submissions. /// [] [] type SearchCriteria() = /// ///Full or partial name of the item (report or protocol) to search. /// [] member val Name:String = null with get,set /// ///TThe ELMA product designation. /// [] member val Designation:Nullable = new Nullable() with get,set /// ///Represents a PEM-encoded certificate. /// [] [] type PemCertificate() = /// ///The unique identifier (e.g. the file name) of the certificate. /// [] member val Id:String = null with get,set /// ///The PEM-encoded content of the certificate. /// [] member val Content:String = null with get,set /// ///The description of the certificate. /// [] member val Description:String = null with get,set /// ///Tags to label or identify the certificate. /// [] member val Tags:ResizeArray = new ResizeArray() with get,set /// ///Represents the credentials of a user to authenticate the access of an ELMA server. /// [] [] type ElmaCredential() = /// ///The unique identifier of this instance. This identifer is only relevant in the context of data storage and retrieval. /// [] member val Id:String = null with get,set /// ///The security certificate to authenticate the user and grant access to the ELMA server. This certificate is generated from the BZSt-issued *.pfx BOP certificate. More details on BOP (BZSt-Online Portal - https://www.elster.de/bportal/start) /// [] [] [] member val Certificate:PemCertificate = null with get,set /// ///The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information" /// [] [] [] member val AuthSteuernummer:String = null with get,set /// ///The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9). /// [] [] [] member val AccountId:String = null with get,set /// ///The password to protect the certificate from unauthorized access. /// [] member val Password:String = null with get,set [] type IAuthenticateRequest = abstract Credential:ElmaCredential with get,set [] type IStageableRequest = abstract StagingEnabled:Nullable with get,set [] type IBatchSearchRequest = abstract SearchCriteria:ResizeArray with get,set /// ///Specifies a request to retrieve protocols of submitted DAC6 reports. /// [] [] type BatchRetrieveDac6ProtocolsBase() = interface IPost /// ///The parameters to search or filter the found protocols. /// [] member val SearchCriteria:ResizeArray = new ResizeArray() with get,set /// ///The credential to gain access on the ELMA server. /// [] member val Credential:ElmaCredential = null with get,set /// ///Should operations be staged on the ELMA server? true: operations are executed on the Test ELMA server. false: operations are executed on the Live (Production) ELMA server. /// [] member val StagingEnabled:Nullable = new Nullable() with get,set type DatenArt = | ELMA_CC = 0 | ELMA_CCRM = 1 | ELMA_CRS = 2 | ELMA_CRSRM = 3 | ELMA_DC = 4 | ELMA_DCRM = 5 | ELMA_FC = 6 | ELMA_FCRM = 7 type Verarbeitungslauf = | PRODUKTIONSLAUF = 0 | TESTLAUF = 1 /// ///Represents the header of an ELMA communication section. /// [] [] type ElmaHeader() = /// ///The process-specific report type of an ELMA document.It distinguishes by the type of input. /// [] member val DatenArt:DatenArt = new DatenArt() with get,set /// ///The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information" /// [] member val AuthSteuernummer:String = null with get,set /// ///The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9). /// [] member val AccountId:String = null with get,set /// ///The time of creation.Corresponds to the time, at which the user created a file. /// [] member val ErstellungsDatum:Nullable = new Nullable() with get,set /// ///User custom ID.This field can be filled with internal reference information of the user. /// [] member val KundeneigeneId:String = null with get,set /// ///Data transfer identifier.Hexadecimal formatted number. Example: 550e8400-e29b-11d4-a716-446655440000 /// [] member val UUID:Nullable = new Nullable() with get,set /// ///Distinguishes between test and live data transfer. /// [] member val Verarbeitungslauf:Verarbeitungslauf = new Verarbeitungslauf() with get,set [] type ElmaVerfahren() = /// ///The content of process-specific definition. /// [] member val Inhalt:Object = null with get,set /// ///Represents the communication section of an ELMA report document. /// [] [] type ElmaKom() = /// ///The version number of the ELMAKOM definition. /// [] member val ElmakomVersion:String = null with get,set /// ///The header part of the ELMAKOM definition. /// [] member val ElmaHeader:ElmaHeader = null with get,set /// ///The process part of the ELMAKOM definition. /// [] member val ElmaVerfahren:ElmaVerfahren = null with get,set type Status = | ELMA_GLOBAL_UNBEKANNT = 0 | ELMA_OK = 8000 | ELMA_PARSER_FEHLER = 8001 | ELMA_UNGUELTIGE_KODIERUNG = 8002 | ELMA_UNGUELTIGE_DATEINAME = 8003 | ELMA_FALSCHE_BZSTNR_ODER_ACCOUNTID = 8004 | ELMA_SIGNATUR_DATEI_FEHLT = 8005 | ELMA_SIGNATUR_PRUEFUNG_FEHLERHAFT = 8006 | ELMA_NOTWENDIGE_FACHLICHE_BERECHTIGUNGEN_FEHLEN = 8007 | ELMA_FREISCHALTUNG_FEHLT = 8008 | ELMA_SPERRE_VORHANDEN = 8009 | ELMA_DATEINAME_BEREITS_VERWENDET = 8010 | ELMA_DATEIINHALT_IDENTISCH = 8011 | ELMA_BZSTNR_ODER_ACCOUNTID_STIMMT_NICHT_UBEREIN = 8012 | ELMA_TESTDATEN = 8013 /// ///Represents an ELMA protocol report, which the ELMA servers return after a formal verification of a submitted ELMA report. /// [] [] type ElmaProtokoll() = /// ///File name of the processed input ELMA report. /// [] member val Dateiname:String = null with get,set /// ///The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information" /// [] member val AuthSteuernummer:String = null with get,set /// ///The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9). /// [] member val AccountId:String = null with get,set /// ///Date on which the request was processed by ELAN (ELMA receiving server at BZSt). /// [] member val VerarbeitungsDatum:Nullable = new Nullable() with get,set /// ///Time of processing by ELAN (ELMA receiving server at BZSt). /// [] member val VerarbeitungsZeit:Nullable = new Nullable() with get,set /// ///The status code of the ELMA process. /// [] member val Status:Status = new Status() with get,set /// ///A brief description of the status. /// [] member val StatusText:String = null with get,set /// ///A detailed information on the status. /// [] member val StatusDetail:String = null with get,set /// ///User custom ID.This field can be filled with internal reference information of the user. /// [] member val KundeneigeneId:String = null with get,set /// ///Data transfer identifier.Hexadecimal formatted number. Example: 550e8400-e29b-11d4-a716-446655440000 /// [] member val UUID:Nullable = new Nullable() with get,set /// ///Represents an ELMA protocol report, which the ELMA servers return after a formal verification of a submitted ELMA report. /// [] [] type ElmaFehler() = /// ///File name of the processed input ELMA report. /// [] member val Dateiname:String = null with get,set /// ///The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information" /// [] member val AuthSteuernummer:String = null with get,set /// ///The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9). /// [] member val AccountId:String = null with get,set /// ///Date on which the request was processed by ELAN (ELMA receiving server at BZSt). /// [] member val VerarbeitungsDatum:Nullable = new Nullable() with get,set /// ///Time of processing by ELAN (ELMA receiving server at BZSt). /// [] member val VerarbeitungsZeit:Nullable = new Nullable() with get,set /// ///The status code of the ELMA process. /// [] member val FehlerID:Status = new Status() with get,set /// ///A brief description of the error status. /// [] member val FehlerText:String = null with get,set /// ///A detailed information on the status. /// [] member val FehlerProzess:String = null with get,set /// ///User custom ID.This field can be filled with internal reference information of the user. /// [] member val KundeneigeneId:String = null with get,set /// ///Data transfer identifier.Hexadecimal formatted number. Example: 550e8400-e29b-11d4-a716-446655440000 /// [] member val UUID:Nullable = new Nullable() with get,set /// ///Represents an ELMA report document. /// [] [] type Elma() = /// ///The unique identifier of this instance. This identifer is only relevant in the context of data storage and retrieval. /// [] member val Id:String = null with get,set /// ///The location of the XML Schema to use for the root namespace. /// [] member val SchemaLocation:String = null with get,set /// ///The type of reporting process. /// [] member val Verfahren:Nullable = new Nullable() with get,set /// ///The communication section of the ELMA report document. /// [] member val ElmaKom:ElmaKom = null with get,set /// ///The communication section of the ELMA report document. /// [] member val ElmaProtokoll:ElmaProtokoll = null with get,set /// ///The communication section of the ELMA report document. /// [] member val ElmaFehler:ElmaFehler = null with get,set /// ///Represents a base class for a file with raw data. /// [] [] type FileBase() = /// ///The raw data content of the file. /// [] member val Content:Byte[] = [||] with get,set /// ///Represents information about a file or directory. /// [] [] type FileMetadata() = /// ///The name of the file.For files, gets the name of the file.For directories, gets the name of the last directory in the hierarchy if a hierarchy exists; otherwise, the name of the directory. /// [] member val Name:String = null with get,set /// ///The full path of the directory or file. /// [] member val FullName:String = null with get,set /// ///The time the current file or directory was last accessed. /// [] member val LastAccessTime:DateTime = new DateTime() with get,set /// ///The name of the file. /// [] member val LastAccessTimeUtc:DateTime = new DateTime() with get,set /// ///The time when the current file or directory was last written to. /// [] member val LastWriteTime:DateTime = new DateTime() with get,set /// ///The time, in coordinated universal time (UTC), when the current file or directory was last written to. /// [] member val LastWriteTimeUtc:DateTime = new DateTime() with get,set /// ///The size, in bytes, of the current file. /// [] member val Length:Int64 = new Int64() with get,set /// ///The size, in bytes, of the current file. /// [] member val UserId:Int32 = new Int32() with get,set /// ///The file group id. /// [] member val GroupId:Int32 = new Int32() with get,set /// ///A value that indicates whether the others can read from this file. /// [] member val OthersCanRead:Boolean = new Boolean() with get,set /// ///A value that indicates whether the group members can execute this file. /// [] member val GroupCanExecute:Boolean = new Boolean() with get,set /// ///A value that indicates whether the group members can write into this file. /// [] member val GroupCanWrite:Boolean = new Boolean() with get,set /// ///A value that indicates whether the group members can read from this file. /// [] member val GroupCanRead:Boolean = new Boolean() with get,set /// ///A value that indicates whether the owner can execute this file. /// [] member val OwnerCanExecute:Boolean = new Boolean() with get,set /// ///A value that indicates whether the owner can write into this file. /// [] member val OwnerCanWrite:Boolean = new Boolean() with get,set /// ///A value that indicates whether the owner can read from this file. /// [] member val OwnerCanRead:Boolean = new Boolean() with get,set /// ///A value that indicates whether others can read from this file. /// [] member val OthersCanExecute:Boolean = new Boolean() with get,set /// ///A value that indicates whether others can write into this file. /// [] member val OthersCanWrite:Boolean = new Boolean() with get,set /// ///Extensions to the file attributes. /// [] member val Extensions:Dictionary = new Dictionary() with get,set /// ///Represents a file that contains raw data content in bytes /// [] [] type BinaryFile() = inherit FileBase() /// ///The attributes of the file. /// [] member val Metadata:FileMetadata = null with get,set /// ///The name of the file without information on its directory path. /// [] member val Name:String = null with get,set [] type IElmaCredential = abstract Certificate:PemCertificate with get,set abstract AuthSteuernummer:String with get,set abstract AccountId:String with get,set abstract Password:String with get,set [] type IFileMetadata = abstract Name:String with get,set abstract FullName:String with get,set abstract LastAccessTime:DateTime with get,set abstract LastAccessTimeUtc:DateTime with get,set abstract LastWriteTime:DateTime with get,set abstract LastWriteTimeUtc:DateTime with get,set abstract Length:Int64 with get,set abstract UserId:Int32 with get,set abstract GroupId:Int32 with get,set abstract GroupCanExecute:Boolean with get,set abstract GroupCanWrite:Boolean with get,set abstract GroupCanRead:Boolean with get,set abstract OwnerCanRead:Boolean with get,set abstract OwnerCanExecute:Boolean with get,set abstract OwnerCanWrite:Boolean with get,set abstract OthersCanRead:Boolean with get,set abstract OthersCanExecute:Boolean with get,set abstract OthersCanWrite:Boolean with get,set abstract Extensions:Dictionary with get,set /// ///Encapsulates the results of a protocol retrieval operation. /// [] [] type RetrievalResponse() = /// ///Processing logs that indicate the status of submitted reports. /// [] member val Protocols:ResizeArray = new ResizeArray() with get,set /// ///Other artefacts including the auxillary files from the BZSt. /// [] member val Files:ResizeArray = new ResizeArray() with get,set /// ///The status of the response. /// [] member val ResponseStatus:ResponseStatus = null with get,set /// ///Represents a request to retrieve protocols of submitted DAC6 reports. /// [] [] [] type BatchRetrieveDac6Protocols() = inherit BatchRetrieveDac6ProtocolsBase() interface IReturn