POST | /rebatecodes/fromarticle | Create 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
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}}