Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
POST | /rebatecodes | Create RebateCode. | Create RebateCode. |
---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BokaMera.API.ServiceModel.Dtos
Namespace Global
Namespace BokaMera.API.ServiceModel.Dtos
<ApiResponse(Description:="You were unauthorized to call this service", StatusCode:=401)>
<ValidateRequest(Validator:="IsAuthenticated")>
Public Partial Class CreateRebateCode
Public Sub New()
DaysOfWeek = New List(Of Integer)
Services = New List(Of Integer)
Customers = New List(Of Guid)
End Sub
'''<Summary>
'''
'''</Summary>
<ApiMember(Description:="")>
Public Overridable Property CompanyId As Nullable(Of Guid)
'''<Summary>
'''The default value is 9999
'''</Summary>
<ApiMember(Description:="The default value is 9999")>
Public Overridable Property MaxNumberOfUses As Nullable(Of Integer)
'''<Summary>
'''The default value is 1
'''</Summary>
<ApiMember(Description:="The default value is 1")>
Public Overridable Property MaxNumberOfUsesPerCustomer As Nullable(Of Integer)
'''<Summary>
'''
'''</Summary>
<ApiMember(Description:="", IsRequired:=true)>
Public Overridable Property ValidFrom As Date
'''<Summary>
'''
'''</Summary>
<ApiMember(Description:="", IsRequired:=true)>
Public Overridable Property ValidTo As Date
'''<Summary>
'''If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.
'''</Summary>
<ApiMember(Description:="If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.")>
Public Overridable Property FromTime As Nullable(Of TimeSpan)
'''<Summary>
'''If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.
'''</Summary>
<ApiMember(Description:="If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.")>
Public Overridable Property ToTime As Nullable(Of TimeSpan)
'''<Summary>
'''1 - Percent, 2 - Сurrency
'''</Summary>
<ApiMember(Description:="1 - Percent, 2 - Сurrency", IsRequired:=true)>
Public Overridable Property RebateCodeTypeId As Integer
'''<Summary>
'''
'''</Summary>
<ApiMember(Description:="", IsRequired:=true)>
Public Overridable Property RebateCodeValue As Integer
'''<Summary>
'''If AutoGenerateRebateCodeSign=false - more than four letters, unique among active codes
'''</Summary>
<ApiMember(Description:="If AutoGenerateRebateCodeSign=false - more than four letters, unique among active codes")>
Public Overridable Property RebateCodeSign As String
'''<Summary>
'''AutoGenerateRebateCodeSign=true - random generate code
'''</Summary>
<ApiMember(Description:="AutoGenerateRebateCodeSign=true - random generate code")>
Public Overridable Property AutoGenerateRebateCodeSign As Boolean
'''<Summary>
'''
'''</Summary>
<ApiMember(Description:="")>
Public Overridable Property PersonalNote As String
'''<Summary>
'''
'''</Summary>
<ApiMember(Description:="")>
Public Overridable Property DaysOfWeek As List(Of Integer)
'''<Summary>
'''
'''</Summary>
<ApiMember(Description:="")>
Public Overridable Property Services As List(Of Integer)
'''<Summary>
'''
'''</Summary>
<ApiMember(Description:="")>
Public Overridable Property Customers As List(Of Guid)
End Class
Public Partial Class DaysOfWeekResponse
Public Overridable Property Id As Integer
Public Overridable Property DayOfWeek As String
Public Overridable Property DayOfWeekTranslation As String
Public Overridable Property DayOfWeekActive As Nullable(Of Boolean)
Public Overridable Property DayOfWeekSortOrder As Nullable(Of Short)
End Class
Public Partial Class RebateCodeCustomerResponse
Public Overridable Property Id As Guid
Public Overridable Property Firstname As String
Public Overridable Property Lastname As String
Public Overridable Property Email As String
Public Overridable Property Phone As String
Public Overridable Property ImageUrl As String
End Class
Public Partial Class RebateCodeResponse
Public Sub New()
DaysOfWeek = New List(Of DaysOfWeekResponse)
Services = New List(Of RebateCodeServiceResponse)
Customers = New List(Of RebateCodeCustomerResponse)
RebateCodeTypesOptions = New List(Of RebateCodeTypeResponse)
RebateCodeStatusOptions = New List(Of RebateCodeStatusResponse)
End Sub
Public Overridable Property Id As Integer
Public Overridable Property CompanyId As Nullable(Of Guid)
Public Overridable Property ValidFrom As Date
Public Overridable Property ValidTo As Date
'''<Summary>
'''If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.
'''</Summary>
<ApiMember(Description:="If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.")>
Public Overridable Property FromTime As TimeSpan
'''<Summary>
'''If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.
'''</Summary>
<ApiMember(Description:="If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.")>
Public Overridable Property ToTime As TimeSpan
Public Overridable Property CreatedBy As String
Public Overridable Property Created As Date
Public Overridable Property UpdatedBy As String
Public Overridable Property Updated As Date
Public Overridable Property PersonalNote As String
Public Overridable Property RebateCodeSign As String
Public Overridable Property RebateCodeValue As Integer
Public Overridable Property RebateCodeTypeId As Integer
Public Overridable Property Name As String
Public Overridable Property RebateCodeStatusId As Integer
Public Overridable Property StatusName As String
Public Overridable Property MaxNumberOfUses As Integer
Public Overridable Property MaxNumberOfUsesPerCustomer As Integer
Public Overridable Property NumberOfUsesUsed As Integer
Public Overridable Property NumberOfUsesPerCustomerUsed As Integer
Public Overridable Property DaysOfWeek As List(Of DaysOfWeekResponse)
Public Overridable Property Services As List(Of RebateCodeServiceResponse)
Public Overridable Property Customers As List(Of RebateCodeCustomerResponse)
Public Overridable Property RebateCodeTypesOptions As List(Of RebateCodeTypeResponse)
Public Overridable Property RebateCodeStatusOptions As List(Of RebateCodeStatusResponse)
Public Overridable Property ResponseStatus As ResponseStatus
End Class
Public Partial Class RebateCodeServiceResponse
Public Overridable Property Id As Integer
Public Overridable Property Name As String
Public Overridable Property Description As String
Public Overridable Property Active As Boolean
End Class
Public Partial Class RebateCodeStatusItem
Public Overridable Property Id As Integer
Public Overridable Property RebateCodeStatusName As String
Public Overridable Property RebateCodeStatusDescription As String
End Class
Public Partial Class RebateCodeStatusResponse
Public Sub New()
RebateCodeStatusItems = New List(Of RebateCodeStatusItem)
End Sub
Public Overridable Property ResponseStatus As ResponseStatus
Public Overridable Property RebateCodeStatusItems As List(Of RebateCodeStatusItem)
End Class
Public Partial Class RebateCodeTypeItem
Public Overridable Property Id As Integer
Public Overridable Property Name As String
Public Overridable Property Description As String
End Class
Public Partial Class RebateCodeTypeResponse
Public Sub New()
RebateCodeTypeItems = New List(Of RebateCodeTypeItem)
End Sub
Public Overridable Property ResponseStatus As ResponseStatus
Public Overridable Property RebateCodeTypeItems As List(Of RebateCodeTypeItem)
End Class
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /rebatecodes HTTP/1.1
Host: testapi.bokamera.se
Accept: application/json
Content-Type: application/json
Content-Length: length
{"CompanyId":"00000000-0000-0000-0000-000000000000","MaxNumberOfUses":0,"MaxNumberOfUsesPerCustomer":0,"FromTime":"00:00:00","ToTime":"00:00:00","RebateCodeTypeId":0,"RebateCodeValue":0,"RebateCodeSign":"String","AutoGenerateRebateCodeSign":false,"PersonalNote":"String","DaysOfWeek":[0],"Services":[0],"Customers":["00000000-0000-0000-0000-000000000000"]}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"Id":0,"CompanyId":"00000000-0000-0000-0000-000000000000","FromTime":"00:00:00","ToTime":"00:00:00","CreatedBy":"String","UpdatedBy":"String","PersonalNote":"String","RebateCodeSign":"String","RebateCodeValue":0,"RebateCodeTypeId":0,"Name":"String","RebateCodeStatusId":0,"StatusName":"String","MaxNumberOfUses":0,"MaxNumberOfUsesPerCustomer":0,"NumberOfUsesUsed":0,"NumberOfUsesPerCustomerUsed":0,"DaysOfWeek":[{"Id":0,"DayOfWeek":"String","DayOfWeekTranslation":"String","DayOfWeekActive":false,"DayOfWeekSortOrder":0}],"Services":[{"Id":0,"Name":"String","Description":"String","Active":false}],"Customers":[{"Firstname":"String","Lastname":"String","Email":"String","Phone":"String","ImageUrl":"String"}],"RebateCodeTypesOptions":[{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"RebateCodeTypeItems":[{"Id":0,"Name":"String","Description":"String"}]}],"RebateCodeStatusOptions":[{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"RebateCodeStatusItems":[{"Id":0,"RebateCodeStatusName":"String","RebateCodeStatusDescription":"String"}]}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}