| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| PUT | /rebatecodes/{Id} | Update RebateCode by Id | Update RebateCode by Id) |
|---|
"use strict";
export class DaysOfWeekResponse {
/** @param {{Id?:number,DayOfWeek?:string,DayOfWeekTranslation?:string,DayOfWeekActive?:boolean,DayOfWeekSortOrder?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {string} */
DayOfWeek;
/** @type {string} */
DayOfWeekTranslation;
/** @type {?boolean} */
DayOfWeekActive;
/** @type {?number} */
DayOfWeekSortOrder;
}
export class RebateCodeServiceResponse {
/** @param {{Id?:number,Name?:string,Description?:string,Active?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {boolean} */
Active;
}
export class BaseModel {
constructor(init) { Object.assign(this, init) }
}
export class ArticleServiceRelation extends BaseModel {
/** @param {{CompanyId?:string,Id?:number,ServiceId?:number,ArticleId?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {number} */
ServiceId;
/** @type {number} */
ArticleId;
}
export class ArticleResponse {
/** @param {{CompanyId?:string,Id?:number,Name?:string,ArticleTypeId?:number,Description?:string,ImageUrl?:string,Active?:boolean,Amount?:number,Price?:number,CurrencyId?:string,UpdatedDate?:string,CreatedDate?:string,Services?:ArticleServiceRelation[],ServiceIds?:number[],PriceSign?:string,VAT?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {string} */
Name;
/** @type {number} */
ArticleTypeId;
/** @type {string} */
Description;
/** @type {string} */
ImageUrl;
/** @type {boolean} */
Active;
/** @type {number} */
Amount;
/** @type {number} */
Price;
/** @type {string} */
CurrencyId;
/** @type {string} */
UpdatedDate;
/** @type {string} */
CreatedDate;
/** @type {ArticleServiceRelation[]} */
Services = [];
/** @type {number[]} */
ServiceIds = [];
/** @type {string} */
PriceSign;
/** @type {?number} */
VAT;
}
export class RebateCodeCustomerResponse {
/** @param {{Id?:string,Firstname?:string,Lastname?:string,Email?:string,Phone?:string,ImageUrl?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Id;
/** @type {string} */
Firstname;
/** @type {string} */
Lastname;
/** @type {string} */
Email;
/** @type {string} */
Phone;
/** @type {string} */
ImageUrl;
}
export class RebateCodeTransactionQueryResponse {
/** @param {{Id?:number,CompanyId?:string,Note?:string,RebateCodeId?:number,RebateCodeSign?:string,RebateCodeTypeId?:number,RebateCodeTypeName?:string,Amount?:number,Usage?:string,BookingId?:number,UpdatedDate?:string,CreatedDate?:string,Service?:RebateCodeServiceResponse,Customer?:RebateCodeCustomerResponse,PriceSign?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {string} */
CompanyId;
/** @type {string} */
Note;
/** @type {number} */
RebateCodeId;
/** @type {string} */
RebateCodeSign;
/** @type {?number} */
RebateCodeTypeId;
/** @type {string} */
RebateCodeTypeName;
/** @type {number} */
Amount;
/** @type {string} */
Usage;
/** @type {?number} */
BookingId;
/** @type {string} */
UpdatedDate;
/** @type {string} */
CreatedDate;
/** @type {RebateCodeServiceResponse} */
Service;
/** @type {RebateCodeCustomerResponse} */
Customer;
/** @type {string} */
PriceSign;
}
export class RebateCodeCompanyResponse {
/** @param {{SitePath?:string,PaymentProviderId?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
SitePath;
/** @type {?number} */
PaymentProviderId;
}
export class RebateCodeResponse {
/** @param {{Id?:number,CompanyId?:string,ValidFrom?:string,ValidTo?:string,FromTime?:string,ToTime?:string,CreatedBy?:string,Created?:string,UpdatedBy?:string,Updated?:string,PersonalNote?:string,RebateCodeSign?:string,RebateCodeValue?:number,RebateCodeTypeId?:number,Name?:string,RebateCodeStatusId?:number,StatusName?:string,MaxNumberOfUses?:number,MaxNumberOfUsesPerCustomer?:number,NumberOfUsesUsed?:number,DaysOfWeek?:DaysOfWeekResponse[],Services?:RebateCodeServiceResponse[],Article?:ArticleResponse,Transactions?:RebateCodeTransactionQueryResponse[],RemainingAmount?:number,RemainingUsage?:number,Customers?:RebateCodeCustomerResponse[],ResponseStatus?:ResponseStatus,PaymentReceived?:boolean,RebateCodeCurrencySign?:string,ActiveByStatus?:boolean,PriceSign?:string,RebateCodeTypeName?:string,Company?:RebateCodeCompanyResponse}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {?string} */
CompanyId;
/** @type {string} */
ValidFrom;
/** @type {string} */
ValidTo;
/**
* @type {string}
* @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. */
FromTime;
/**
* @type {string}
* @description If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters. */
ToTime;
/** @type {string} */
CreatedBy;
/** @type {string} */
Created;
/** @type {string} */
UpdatedBy;
/** @type {string} */
Updated;
/** @type {string} */
PersonalNote;
/** @type {string} */
RebateCodeSign;
/** @type {number} */
RebateCodeValue;
/** @type {number} */
RebateCodeTypeId;
/** @type {string} */
Name;
/** @type {number} */
RebateCodeStatusId;
/** @type {string} */
StatusName;
/** @type {number} */
MaxNumberOfUses;
/** @type {number} */
MaxNumberOfUsesPerCustomer;
/** @type {number} */
NumberOfUsesUsed;
/** @type {DaysOfWeekResponse[]} */
DaysOfWeek = [];
/** @type {RebateCodeServiceResponse[]} */
Services = [];
/** @type {ArticleResponse} */
Article;
/** @type {RebateCodeTransactionQueryResponse[]} */
Transactions = [];
/** @type {?number} */
RemainingAmount;
/** @type {?number} */
RemainingUsage;
/** @type {RebateCodeCustomerResponse[]} */
Customers = [];
/** @type {ResponseStatus} */
ResponseStatus;
/** @type {boolean} */
PaymentReceived;
/** @type {string} */
RebateCodeCurrencySign;
/** @type {boolean} */
ActiveByStatus;
/** @type {string} */
PriceSign;
/** @type {string} */
RebateCodeTypeName;
/** @type {RebateCodeCompanyResponse} */
Company;
}
export class UpdateRebateCode {
/** @param {{Id?:number,CompanyId?:string,MaxNumberOfUses?:number,MaxNumberOfUsesPerCustomer?:number,AutoGenerateRebateCodeSign?:boolean,RebateCodeTypeId?:number,ValidFrom?:string,ValidTo?:string,FromTime?:string,ToTime?:string,RebateCodeValue?:number,RebateCodeSign?:string,PersonalNote?:string,DaysOfWeek?:number[],Services?:number[],Customers?:string[]}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description Id of the rebate code */
Id;
/** @type {?string} */
CompanyId;
/**
* @type {?number}
* @description The default value is 9999 */
MaxNumberOfUses;
/**
* @type {?number}
* @description The default value is 1 */
MaxNumberOfUsesPerCustomer;
/**
* @type {boolean}
* @description AutoGenerateRebateCodeSign=true - random generate code */
AutoGenerateRebateCodeSign;
/**
* @type {number}
* @description 1 - Percent, 2 - Сurrency */
RebateCodeTypeId;
/** @type {?string} */
ValidFrom;
/** @type {?string} */
ValidTo;
/**
* @type {?string}
* @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. */
FromTime;
/**
* @type {?string}
* @description If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters. */
ToTime;
/** @type {?number} */
RebateCodeValue;
/**
* @type {string}
* @description Is empty - random generate code, is not empty - more than four letters, unique among active codes */
RebateCodeSign;
/** @type {string} */
PersonalNote;
/** @type {number[]} */
DaysOfWeek = [];
/** @type {number[]} */
Services = [];
/** @type {string[]} */
Customers = [];
}
JavaScript UpdateRebateCode DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /rebatecodes/{Id} HTTP/1.1
Host: api.bokamera.se
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<UpdateRebateCode xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<AutoGenerateRebateCodeSign>false</AutoGenerateRebateCodeSign>
<CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
<Customers xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:guid>00000000-0000-0000-0000-000000000000</d2p1:guid>
</Customers>
<DaysOfWeek xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:int>0</d2p1:int>
</DaysOfWeek>
<FromTime>PT0S</FromTime>
<Id>0</Id>
<MaxNumberOfUses>0</MaxNumberOfUses>
<MaxNumberOfUsesPerCustomer>0</MaxNumberOfUsesPerCustomer>
<PersonalNote>String</PersonalNote>
<RebateCodeSign>String</RebateCodeSign>
<RebateCodeTypeId>0</RebateCodeTypeId>
<RebateCodeValue>0</RebateCodeValue>
<Services xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:int>0</d2p1:int>
</Services>
<ToTime>PT0S</ToTime>
<ValidFrom>0001-01-01T00:00:00</ValidFrom>
<ValidTo>0001-01-01T00:00:00</ValidTo>
</UpdateRebateCode>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<RebateCodeResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<ActiveByStatus>false</ActiveByStatus>
<Article>
<Active>false</Active>
<Amount>0</Amount>
<ArticleTypeId>0</ArticleTypeId>
<CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
<CreatedDate>0001-01-01T00:00:00</CreatedDate>
<CurrencyId>String</CurrencyId>
<Description>String</Description>
<Id>0</Id>
<ImageUrl>String</ImageUrl>
<Name>String</Name>
<Price>0</Price>
<PriceSign>String</PriceSign>
<ServiceIds xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</ServiceIds>
<Services xmlns:d3p1="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Db">
<d3p1:ArticleServiceRelation>
<d3p1:ArticleId>0</d3p1:ArticleId>
<d3p1:CompanyId>00000000-0000-0000-0000-000000000000</d3p1:CompanyId>
<d3p1:Id>0</d3p1:Id>
<d3p1:ServiceId>0</d3p1:ServiceId>
</d3p1:ArticleServiceRelation>
</Services>
<UpdatedDate>0001-01-01T00:00:00</UpdatedDate>
<VAT>0</VAT>
</Article>
<Company>
<PaymentProviderId>0</PaymentProviderId>
<SitePath>String</SitePath>
</Company>
<CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
<Created>0001-01-01T00:00:00</Created>
<CreatedBy>String</CreatedBy>
<Customers>
<RebateCodeCustomerResponse>
<Email>String</Email>
<Firstname>String</Firstname>
<Id>00000000-0000-0000-0000-000000000000</Id>
<ImageUrl>String</ImageUrl>
<Lastname>String</Lastname>
<Phone>String</Phone>
</RebateCodeCustomerResponse>
</Customers>
<DaysOfWeek>
<DaysOfWeekResponse>
<DayOfWeek>String</DayOfWeek>
<DayOfWeekActive>false</DayOfWeekActive>
<DayOfWeekSortOrder>0</DayOfWeekSortOrder>
<DayOfWeekTranslation>String</DayOfWeekTranslation>
<Id>0</Id>
</DaysOfWeekResponse>
</DaysOfWeek>
<FromTime>PT0S</FromTime>
<Id>0</Id>
<MaxNumberOfUses>0</MaxNumberOfUses>
<MaxNumberOfUsesPerCustomer>0</MaxNumberOfUsesPerCustomer>
<Name>String</Name>
<NumberOfUsesUsed>0</NumberOfUsesUsed>
<PaymentReceived>false</PaymentReceived>
<PersonalNote>String</PersonalNote>
<PriceSign>String</PriceSign>
<RebateCodeCurrencySign>String</RebateCodeCurrencySign>
<RebateCodeSign>String</RebateCodeSign>
<RebateCodeStatusId>0</RebateCodeStatusId>
<RebateCodeTypeId>0</RebateCodeTypeId>
<RebateCodeTypeName>String</RebateCodeTypeName>
<RebateCodeValue>0</RebateCodeValue>
<RemainingAmount>0</RemainingAmount>
<RemainingUsage>0</RemainingUsage>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
<Services>
<RebateCodeServiceResponse>
<Active>false</Active>
<Description>String</Description>
<Id>0</Id>
<Name>String</Name>
</RebateCodeServiceResponse>
</Services>
<StatusName>String</StatusName>
<ToTime>PT0S</ToTime>
<Transactions>
<RebateCodeTransactionQueryResponse>
<Amount>0</Amount>
<BookingId>0</BookingId>
<CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
<CreatedDate>0001-01-01T00:00:00</CreatedDate>
<Customer>
<Email>String</Email>
<Firstname>String</Firstname>
<Id>00000000-0000-0000-0000-000000000000</Id>
<ImageUrl>String</ImageUrl>
<Lastname>String</Lastname>
<Phone>String</Phone>
</Customer>
<Id>0</Id>
<Note>String</Note>
<PriceSign>String</PriceSign>
<RebateCodeId>0</RebateCodeId>
<RebateCodeSign>String</RebateCodeSign>
<RebateCodeTypeId>0</RebateCodeTypeId>
<RebateCodeTypeName>String</RebateCodeTypeName>
<Service>
<Active>false</Active>
<Description>String</Description>
<Id>0</Id>
<Name>String</Name>
</Service>
<UpdatedDate>0001-01-01T00:00:00</UpdatedDate>
<Usage>String</Usage>
</RebateCodeTransactionQueryResponse>
</Transactions>
<Updated>0001-01-01T00:00:00</Updated>
<UpdatedBy>String</UpdatedBy>
<ValidFrom>0001-01-01T00:00:00</ValidFrom>
<ValidTo>0001-01-01T00:00:00</ValidTo>
</RebateCodeResponse>