Public Class Mark
    ' Aus Search
    Public Property RegistrationOfficeCode As String 'Datenbestand
    Public Property RegistrationDate As Date 'Tag der Eintragung im Register
    Public Property RegistrationNumber As String 'Registernummer
    Public Property MarkCurrentStatusCode As String 'Aktenzustand
    Public Property MarkVerbalElementText As String 'Wiedergabe der Marke
    Public Property MarkFeature As String 'Markenform
    Public Property ApplicationDate As Date 'Anmeldetag
    Public Property ApplicationNumber As String 'Aktenzeichen
    Public Property Applicant As String 'Inhaber
    Public Property Representative As String 'Vertreter
    ' Aus GetRegisterInfo
    Public Property PublicationDate As Date
    Public Property PropertyationDate As Date
    Public Property ExpiryDate As Date 'Schutzendedatum 
    Public Property TerminationDate As Date 'Wirkungsdatum Löschung
    Public Property OppositionPeriodStartDate As Date 'Beginn Widerspruchsfrist
    Public Property OppositionPeriodEndDate As Date 'Ablauf Widerspruchsfrist
    Public Property MarkRecordDetails As New List(Of MarkRecordDetail)
    Public Property ClassificationKindCode As String
    Public Property ClassificationVersion As String
    Public Property GoodsServicesNotClassified As String
    Public Property ProposedLeadingClassNumber As String
    Public Property ClassificationDetail As New List(Of ClassificationDetail)

    Public Property Classification As String 'Klasse(n) Nizza
    Public ReadOnly Property ClassificationLong As String
        Get
            Dim result As String = ""

            If Not Me.GoodsServicesNotClassified Is Nothing Then
                Return Me.GoodsServicesNotClassified
            Else
                For Each c In Me.ClassificationDetail
                    result += String.Format("{0} (Klasse {1});", c.GoodsServicesDescription, c.ClassNumber)
                Next
            End If

            If (result.EndsWith(";")) Then
                result = result.Substring(0, result.Length - 1)
            End If

            Return result
        End Get
    End Property

    Public Sub New()
    End Sub
End Class

Public Class ClassificationDetail
    Public ClassNumber As String
    Public GoodsServicesDescription

    Public Sub New()
    End Sub
End Class

Public Class MarkRecordDetail
    Public RecordIdentifier As String
    Public BasicRecordKind As String
    Public RecordCurrentStatusCode As String
    Public RecordCurrentStatusDate As Date
    Public RecordProcedureIncomplete As Boolean = False

    Public Sub New()
    End Sub
End Class
