BokaMera.API.Host

<back to all web services

CreateArticleRebateCode

The following routes are available for this service:
POST/rebatecodes/fromarticleCreate RebateCode.Create RebateCode.
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


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

    /**
    * Article ID for the rebate code
    */
    @ApiMember(Description="Article ID for the rebate code", IsRequired=true)
    open var ArticleId:Int? = null

    /**
    * Customer information
    */
    @ApiMember(Description="Customer information")
    open var Customer:CustomerToHandle? = null

    /**
    * If you want to book with customer information instead of the Customer Id send the customer information here. Note: If customer profile already exists with the same email the information will not be changed, instead the provided information will be added as BookingsComments if it differs from the ordinairy profile. 
    */
    @ApiMember(Description="If you want to book with customer information instead of the Customer Id send the customer information here. Note: If customer profile already exists with the same email the information will not be changed, instead the provided information will be added as BookingsComments if it differs from the ordinairy profile. ")
    open var InvoiceAddress:InvoiceAddressToHandle? = null

    /**
    * Promo code receiver information
    */
    @ApiMember(Description="Promo code receiver information")
    open var Receiver:PromoCodeReceiver? = null
}

open class CustomerToHandle
{
    open var CustomerId:UUID? = null
    open var Firstname:String? = null
    open var Lastname:String? = null
    open var Email:String? = null
    open var Phone:String? = null
    open var SubscribedToNewsletter:Boolean? = null
}

open class InvoiceAddressToHandle
{
    open var CorporateIdentityNumber:String? = null
    open var InvoiceAddress1:String? = null
    open var InvoiceAddress2:String? = null
    open var InvoiceCity:String? = null
    open var InvoicePostalCode:String? = null
    open var InvoiceCountryCode:String? = null
}

open class PromoCodeReceiver
{
    open var CustomerId:UUID? = null
    open var Firstname:String? = null
    open var Lastname:String? = null
    open var Email:String? = null
    open var ReceiverMessage:String? = null
}

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

    open var CreatedBy:String? = null
    open var Created:Date? = null
    open var UpdatedBy:String? = null
    open var Updated:Date? = null
    open var PersonalNote:String? = null
    open var RebateCodeSign:String? = null
    open var RebateCodeValue:Int? = null
    open var RebateCodeTypeId:Int? = null
    open var Name:String? = null
    open var RebateCodeStatusId:Int? = null
    open var StatusName:String? = null
    open var MaxNumberOfUses:Int? = null
    open var MaxNumberOfUsesPerCustomer:Int? = null
    open var NumberOfUsesUsed:Int? = null
    open var DaysOfWeek:ArrayList<DaysOfWeekResponse>? = null
    open var Services:ArrayList<RebateCodeServiceResponse>? = null
    open var Article:ArticleResponse? = null
    open var Transactions:ArrayList<RebateCodeTransactionQueryResponse>? = null
    open var RemainingAmount:Double? = null
    open var RemainingUsage:Int? = null
    open var Customers:ArrayList<RebateCodeCustomerResponse>? = null
    open var ResponseStatus:ResponseStatus? = null
    open var PaymentReceived:Boolean? = null
    open var RebateCodeCurrencySign:String? = null
    open var ActiveByStatus:Boolean? = null
    open var PriceSign:String? = null
    open var RebateCodeTypeName:String? = null
    open var Company:RebateCodeCompanyResponse? = null
}

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

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

open class ArticleResponse
{
    open var CompanyId:UUID? = null
    open var Id:Int? = null
    open var Name:String? = null
    open var ArticleTypeId:Int? = null
    open var Description:String? = null
    open var ImageUrl:String? = null
    open var Active:Boolean? = null
    open var Amount:Int? = null
    open var Price:Double? = null
    open var CurrencyId:String? = null
    open var UpdatedDate:Date? = null
    open var CreatedDate:Date? = null
    open var Services:ArrayList<ArticleServiceRelation>? = null
    open var ServiceIds:ArrayList<Int>? = null
    open var PriceSign:String? = null
    open var VAT:BigDecimal? = null
}

open class ArticleServiceRelation : BaseModel()
{
    @Required()
    open var CompanyId:UUID? = null

    open var Id:Int? = null
    @Required()
    open var ServiceId:Int? = null

    @Required()
    open var ArticleId:Int? = null
}

open class BaseModel
{
}

open class RebateCodeTransactionQueryResponse
{
    open var Id:Int? = null
    open var CompanyId:UUID? = null
    open var Note:String? = null
    open var RebateCodeId:Int? = null
    open var RebateCodeSign:String? = null
    open var RebateCodeTypeId:Int? = null
    open var RebateCodeTypeName:String? = null
    open var Amount:Double? = null
    open var Usage:String? = null
    open var BookingId:Int? = null
    open var UpdatedDate:Date? = null
    open var CreatedDate:Date? = null
    open var Service:RebateCodeServiceResponse? = null
    open var Customer:RebateCodeCustomerResponse? = null
    open var PriceSign:String? = null
}

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

open class RebateCodeCompanyResponse
{
    open var SitePath:String? = null
    open var PaymentProviderId:Int? = null
}

Kotlin CreateArticleRebateCode DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /rebatecodes/fromarticle HTTP/1.1 
Host: api.bookmore.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"CompanyId":"00000000-0000-0000-0000-000000000000","ArticleId":0,"Customer":{"CustomerId":"00000000-0000-0000-0000-000000000000","Firstname":"String","Lastname":"String","Email":"String","Phone":"String","SubscribedToNewsletter":false},"InvoiceAddress":{"CorporateIdentityNumber":"String","InvoiceAddress1":"String","InvoiceAddress2":"String","InvoiceCity":"String","InvoicePostalCode":"String","InvoiceCountryCode":"String"},"Receiver":{"CustomerId":"00000000-0000-0000-0000-000000000000","Firstname":"String","Lastname":"String","Email":"String","ReceiverMessage":"String"}}
HTTP/1.1 200 OK
Content-Type: text/jsonl
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,"DaysOfWeek":[{"Id":0,"DayOfWeek":"String","DayOfWeekTranslation":"String","DayOfWeekActive":false,"DayOfWeekSortOrder":0}],"Services":[{"Id":0,"Name":"String","Description":"String","Active":false}],"Article":{"Id":0,"Name":"String","ArticleTypeId":0,"Description":"String","ImageUrl":"String","Active":false,"Amount":0,"Price":0,"CurrencyId":"String","Services":[{"Id":0,"ServiceId":0,"ArticleId":0}],"ServiceIds":[0],"PriceSign":"String","VAT":0},"Transactions":[{"Id":0,"Note":"String","RebateCodeId":0,"RebateCodeSign":"String","RebateCodeTypeId":0,"RebateCodeTypeName":"String","Amount":0,"Usage":"String","BookingId":0,"Service":{"Id":0,"Name":"String","Description":"String","Active":false},"Customer":{"Firstname":"String","Lastname":"String","Email":"String","Phone":"String","ImageUrl":"String"},"PriceSign":"String"}],"RemainingAmount":0,"RemainingUsage":0,"Customers":[{"Firstname":"String","Lastname":"String","Email":"String","Phone":"String","ImageUrl":"String"}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"PaymentReceived":false,"RebateCodeCurrencySign":"String","ActiveByStatus":false,"PriceSign":"String","RebateCodeTypeName":"String","Company":{"SitePath":"String","PaymentProviderId":0}}