BokaMera.API.Host

<back to all web services

CreateRebateCode

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/rebatecodesCreate RebateCode.Create RebateCode.
import java.math.*
import java.util.*
import net.servicestack.client.*


@ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
@ValidateRequest(Validator="IsAuthenticated")
open class CreateRebateCode
{
    /**
    * 
    */
    @ApiMember(Description="")
    var CompanyId:UUID? = null

    /**
    * The default value is 9999
    */
    @ApiMember(Description="The default value is 9999")
    var MaxNumberOfUses:Int? = null

    /**
    * The default value is 1
    */
    @ApiMember(Description="The default value is 1")
    var MaxNumberOfUsesPerCustomer:Int? = null

    /**
    * 
    */
    @ApiMember(Description="", IsRequired=true)
    var ValidFrom:Date? = null

    /**
    * 
    */
    @ApiMember(Description="", IsRequired=true)
    var ValidTo:Date? = null

    /**
    * 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.
    */
    @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.")
    var FromTime:TimeSpan? = null

    /**
    * If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.
    */
    @ApiMember(Description="If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.")
    var ToTime:TimeSpan? = null

    /**
    * 1 - Percent, 2 - Сurrency
    */
    @ApiMember(Description="1 - Percent, 2 - Сurrency", IsRequired=true)
    var RebateCodeTypeId:Int? = null

    /**
    * 
    */
    @ApiMember(Description="", IsRequired=true)
    var RebateCodeValue:Int? = null

    /**
    * If AutoGenerateRebateCodeSign=false - more than four letters, unique among active codes
    */
    @ApiMember(Description="If AutoGenerateRebateCodeSign=false - more than four letters, unique among active codes")
    var RebateCodeSign:String? = null

    /**
    * AutoGenerateRebateCodeSign=true - random generate code
    */
    @ApiMember(Description="AutoGenerateRebateCodeSign=true - random generate code")
    var AutoGenerateRebateCodeSign:Boolean? = null

    /**
    * 
    */
    @ApiMember(Description="")
    var PersonalNote:String? = null

    /**
    * 
    */
    @ApiMember(Description="")
    var DaysOfWeek:ArrayList<Int> = ArrayList<Int>()

    /**
    * 
    */
    @ApiMember(Description="")
    var Services:ArrayList<Int> = ArrayList<Int>()

    /**
    * 
    */
    @ApiMember(Description="")
    var Customers:ArrayList<UUID> = ArrayList<UUID>()
}

open class RebateCodeResponse
{
    var Id:Int? = null
    var CompanyId:UUID? = null
    var ValidFrom:Date? = null
    var ValidTo:Date? = null
    /**
    * 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.
    */
    @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.")
    var FromTime:TimeSpan? = null

    /**
    * If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.
    */
    @ApiMember(Description="If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.")
    var ToTime:TimeSpan? = null

    var CreatedBy:String? = null
    var Created:Date? = null
    var UpdatedBy:String? = null
    var Updated:Date? = null
    var PersonalNote:String? = null
    var RebateCodeSign:String? = null
    var RebateCodeValue:Int? = null
    var RebateCodeTypeId:Int? = null
    var Name:String? = null
    var RebateCodeStatusId:Int? = null
    var StatusName:String? = null
    var MaxNumberOfUses:Int? = null
    var MaxNumberOfUsesPerCustomer:Int? = null
    var NumberOfUsesUsed:Int? = null
    var NumberOfUsesPerCustomerUsed:Int? = null
    var DaysOfWeek:ArrayList<DaysOfWeekResponse> = ArrayList<DaysOfWeekResponse>()
    var Services:ArrayList<RebateCodeServiceResponse> = ArrayList<RebateCodeServiceResponse>()
    var Customers:ArrayList<RebateCodeCustomerResponse> = ArrayList<RebateCodeCustomerResponse>()
    var RebateCodeTypesOptions:ArrayList<RebateCodeTypeResponse> = ArrayList<RebateCodeTypeResponse>()
    var RebateCodeStatusOptions:ArrayList<RebateCodeStatusResponse> = ArrayList<RebateCodeStatusResponse>()
    var ResponseStatus:ResponseStatus? = null
}

open class DaysOfWeekResponse
{
    var Id:Int? = null
    var DayOfWeek:String? = null
    var DayOfWeekTranslation:String? = null
    var DayOfWeekActive:Boolean? = null
    var DayOfWeekSortOrder:Short? = null
}

open class RebateCodeServiceResponse
{
    var Id:Int? = null
    var Name:String? = null
    var Description:String? = null
    var Active:Boolean? = null
}

open class RebateCodeCustomerResponse
{
    var Id:UUID? = null
    var Firstname:String? = null
    var Lastname:String? = null
    var Email:String? = null
    var Phone:String? = null
    var ImageUrl:String? = null
}

open class RebateCodeTypeResponse
{
    var ResponseStatus:ResponseStatus? = null
    var RebateCodeTypeItems:ArrayList<RebateCodeTypeItem> = ArrayList<RebateCodeTypeItem>()
}

open class RebateCodeTypeItem
{
    var Id:Int? = null
    var Name:String? = null
    var Description:String? = null
}

open class RebateCodeStatusResponse
{
    var ResponseStatus:ResponseStatus? = null
    var RebateCodeStatusItems:ArrayList<RebateCodeStatusItem> = ArrayList<RebateCodeStatusItem>()
}

open class RebateCodeStatusItem
{
    var Id:Int? = null
    var RebateCodeStatusName:String? = null
    var RebateCodeStatusDescription:String? = null
}

Kotlin CreateRebateCode DTOs

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

HTTP + JSON

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"}}}