| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| POST | /rebatecodes | 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)
@ValidateRequest(Validator="IsAuthenticated")
open class CreateRebateCode
{
/**
*
*/
@ApiMember(Description="")
open var CompanyId:UUID? = null
/**
* The default value is 9999
*/
@ApiMember(Description="The default value is 9999")
open var MaxNumberOfUses:Int? = null
/**
* The default value is 1
*/
@ApiMember(Description="The default value is 1")
open var MaxNumberOfUsesPerCustomer:Int? = null
/**
*
*/
@ApiMember(Description="", IsRequired=true)
open var ValidFrom:Date? = null
/**
*
*/
@ApiMember(Description="", IsRequired=true)
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
/**
* 1 - Percent, 2 - Сurrency, 3 - PunchTicket, 4 - ValueCard, 5 - GiftCard
*/
@ApiMember(Description="1 - Percent, 2 - Сurrency, 3 - PunchTicket, 4 - ValueCard, 5 - GiftCard", IsRequired=true)
open var RebateCodeTypeId:Int? = null
/**
* If it's connected to an Article, add the Article Id here.
*/
@ApiMember(Description="If it's connected to an Article, add the Article Id here.")
open var ArticleId:Int? = null
/**
*
*/
@ApiMember(Description="", IsRequired=true)
open 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")
open var RebateCodeSign:String? = null
/**
* AutoGenerateRebateCodeSign=true - random generate code
*/
@ApiMember(Description="AutoGenerateRebateCodeSign=true - random generate code")
open var AutoGenerateRebateCodeSign:Boolean? = null
/**
*
*/
@ApiMember(Description="")
open var PersonalNote:String? = null
/**
*
*/
@ApiMember(Description="")
open var DaysOfWeek:ArrayList<Int> = ArrayList<Int>()
/**
*
*/
@ApiMember(Description="")
open var Services:ArrayList<Int> = ArrayList<Int>()
/**
*
*/
@ApiMember(Description="")
open var Customers:ArrayList<UUID> = ArrayList<UUID>()
/**
* The price
*/
@ApiMember(Description="The price")
open var PriceVat:BigDecimal? = null
/**
* The price VAT in percent
*/
@ApiMember(Description="The price VAT in percent")
open var VAT:BigDecimal? = null
/**
* The price currency
*/
@ApiMember(Description="The price currency")
open var CurrencyId:String? = null
/**
* Promo code receiver information
*/
@ApiMember(Description="Promo code receiver information")
open var PromoCodeReceiver:PromoCodeReceiver? = null
/**
* If you wish to save some invoice address information for the rebate code, you can do so here. This is optional.
*/
@ApiMember(Description="If you wish to save some invoice address information for the rebate code, you can do so here. This is optional.")
open var InvoiceAddress:InvoiceAddressToHandle? = null
/**
* Determines if the rebate code is active on creation or if it should await payment. If you set this to true, make sure to mark the code as payed when you receive the payment, by using the MarkRebateCodeAsPayed endpoint. The default value is false.
*/
@ApiMember(Description="Determines if the rebate code is active on creation or if it should await payment. If you set this to true, make sure to mark the code as payed when you receive the payment, by using the MarkRebateCodeAsPayed endpoint. The default value is false.")
open var Paid:Boolean? = 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 InvoiceAddressToHandle : IInvoiceAddress
{
override var CorporateIdentityNumber:String? = null
override var InvoiceAddress1:String? = null
override var InvoiceAddress2:String? = null
override var InvoiceCity:String? = null
override var InvoicePostalCode:String? = null
override var InvoiceCountryCode: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> = ArrayList<DaysOfWeekResponse>()
open var Services:ArrayList<RebateCodeServiceResponse> = ArrayList<RebateCodeServiceResponse>()
open var Article:ArticleResponse? = null
open var Transactions:ArrayList<RebateCodeTransactionQueryResponse> = ArrayList<RebateCodeTransactionQueryResponse>()
open var RemainingAmount:Double? = null
open var RemainingUsage:Int? = null
open var Customers:ArrayList<RebateCodeCustomerResponse> = ArrayList<RebateCodeCustomerResponse>()
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 var PaymentLog:ArrayList<PaymentLogResponse> = ArrayList<PaymentLogResponse>()
}
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 SortOrder:Int? = null
open var UpdatedDate:Date? = null
open var CreatedDate:Date? = null
open var Duration:Int? = null
open var Services:ArrayList<ArticleServiceRelation> = ArrayList<ArticleServiceRelation>()
open var ServiceIds:ArrayList<Int> = ArrayList<Int>()
open var PriceSign:String? = null
open var VAT:BigDecimal? = null
open var ValidDays:Int? = null
open var SendNotification:Boolean? = null
open var NotificationEmail:String? = 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
}
open class PaymentLogResponse
{
open var Id:Int? = null
open var Amount:Double? = null
open var AmountCredited:Double? = null
open var CurrencyId:String? = null
open var Comments:String? = null
open var Created:Date? = null
open var Updated:Date? = null
}
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,"ArticleId":0,"RebateCodeValue":0,"RebateCodeSign":"String","AutoGenerateRebateCodeSign":false,"PersonalNote":"String","DaysOfWeek":[0],"Services":[0],"Customers":["00000000-0000-0000-0000-000000000000"],"PriceVat":0,"VAT":0,"CurrencyId":"String","PromoCodeReceiver":{"CustomerId":"00000000-0000-0000-0000-000000000000","Firstname":"String","Lastname":"String","Email":"String","ReceiverMessage":"String"},"InvoiceAddress":{"CorporateIdentityNumber":"String","InvoiceAddress1":"String","InvoiceAddress2":"String","InvoiceCity":"String","InvoicePostalCode":"String","InvoiceCountryCode":"String"},"Paid":false}
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,"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","SortOrder":0,"Duration":0,"Services":[{"Id":0,"ServiceId":0,"ArticleId":0}],"ServiceIds":[0],"PriceSign":"String","VAT":0,"ValidDays":0,"SendNotification":false,"NotificationEmail":"String"},"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},"PaymentLog":[{"Id":0,"Amount":0,"AmountCredited":0,"CurrencyId":"String","Comments":"String"}]}