' Options:
'Date: 2025-04-13 01:06:27
'Version: 8.23
'Tip: To override a DTO option, remove "''" prefix before updating
'BaseUrl: https://api.bokamera.se
'
'''GlobalNamespace: 
'''MakePartial: True
'''MakeVirtual: True
'''MakeDataContractsExtensible: False
'''AddReturnMarker: True
'''AddDescriptionAsComments: True
'''AddDataContractAttributes: False
'''AddIndexesToDataMembers: False
'''AddGeneratedCodeAttributes: False
'''AddResponseStatus: False
'''AddImplicitVersion: 
'''InitializeCollections: True
'''ExportValueTypes: False
'IncludeTypes: SendNewsLetter.*
'''ExcludeTypes: 
'''AddNamespaces: 
'''AddDefaultXmlNamespace: http://schemas.servicestack.net/types

Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports System.Globalization
Imports ServiceStack.Data
Imports System.IO
Imports System.Net
Imports System.Net.Http.Headers
Imports BokaMera.API.ServiceModel.Interfaces
Imports BokaMera.API.ServiceModel.Dtos

Namespace Global

    Namespace BokaMera.API.ServiceModel.Dtos

        <Route("/newsletter/send", "POST")>
        <ApiResponse(Description:="You were unauthorized to call this service", StatusCode:=401)>
        <ValidateRequest(Validator:="IsAuthenticated")>
        Public Partial Class SendNewsLetter
            Implements IReturn(Of SendNewslettersResponse)
            Implements ICompany
            Public Sub New()
                Customers = New List(Of Guid)
            End Sub

            '''<Summary>
            '''The newsletter template id.
            '''</Summary>
            <ApiMember(Description:="The newsletter template id.", IsRequired:=true)>
            Public Overridable Property Id As Integer

            '''<Summary>
            '''The company id, if empty will use the company id for the user you are logged in with.
            '''</Summary>
            <ApiMember(Description:="The company id, if empty will use the company id for the user you are logged in with.")>
            Public Overridable Property CompanyId As Nullable(Of Guid)

            '''<Summary>
            '''The datetime when the newsletters should be sent.
            '''</Summary>
            <ApiMember(Description:="The datetime when the newsletters should be sent.", IsRequired:=true)>
            Public Overridable Property SendDate As Date

            '''<Summary>
            '''The customer ids to send newsletters to.
            '''</Summary>
            <ApiMember(Description:="The customer ids to send newsletters to.", IsRequired:=true)>
            Public Overridable Property Customers As List(Of Guid)
        End Class

        Public Partial Class SendNewslettersResponse
            '''<Summary>
            '''The number of messages that are added into queue.
            '''</Summary>
            <ApiMember(Description:="The number of messages that are added into queue.")>
            Public Overridable Property Total As Integer

            '''<Summary>
            '''Send Method. 1 = Email, 2 = SMS
            '''</Summary>
            <ApiMember(Description:="Send Method. 1 = Email, 2 = SMS")>
            Public Overridable Property SendMethodId As Integer

            '''<Summary>
            '''Message example sent (in HTML format)
            '''</Summary>
            <ApiMember(Description:="Message example sent (in HTML format)")>
            Public Overridable Property MessageExample As String
        End Class
    End Namespace

    Namespace BokaMera.API.ServiceModel.Interfaces

        Public Interface ICompany
            Property CompanyId As Nullable(Of Guid)
        End Interface
    End Namespace
End Namespace