Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
POST | /bookings/{BookingId}/quantity/ | Add an booking quantity | Updates an booking quantity if you are authorized to do so. Note: Add quantity wont update the number of booked resources. |
---|
import 'package:servicestack/servicestack.dart';
class BookedQuantity implements IConvertible
{
/**
* The quantity Id
*/
// @ApiMember(Description="The quantity Id")
int? Id;
/**
* The quantity for booked on this price category
*/
// @ApiMember(Description="The quantity for booked on this price category")
int? Quantity;
/**
* The price
*/
// @ApiMember(Description="The price")
double? Price;
/**
* The price bofore rebate codes
*/
// @ApiMember(Description="The price bofore rebate codes")
double? PriceBeforeRebate;
/**
* The price currency
*/
// @ApiMember(Description="The price currency")
String? CurrencyId;
/**
* The price sign
*/
// @ApiMember(Description="The price sign")
String? PriceSign;
/**
* The price category
*/
// @ApiMember(Description="The price category")
String? Category;
/**
* The price VAT in percent
*/
// @ApiMember(Description="The price VAT in percent")
double? VAT;
/**
* The price text to display
*/
// @ApiMember(Description="The price text to display")
String? PriceText;
/**
* If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.
*/
// @ApiMember(Description="If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.")
bool? OccupiesSpot;
BookedQuantity({this.Id,this.Quantity,this.Price,this.PriceBeforeRebate,this.CurrencyId,this.PriceSign,this.Category,this.VAT,this.PriceText,this.OccupiesSpot});
BookedQuantity.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Quantity = json['Quantity'];
Price = JsonConverters.toDouble(json['Price']);
PriceBeforeRebate = JsonConverters.toDouble(json['PriceBeforeRebate']);
CurrencyId = json['CurrencyId'];
PriceSign = json['PriceSign'];
Category = json['Category'];
VAT = JsonConverters.toDouble(json['VAT']);
PriceText = json['PriceText'];
OccupiesSpot = json['OccupiesSpot'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Quantity': Quantity,
'Price': Price,
'PriceBeforeRebate': PriceBeforeRebate,
'CurrencyId': CurrencyId,
'PriceSign': PriceSign,
'Category': Category,
'VAT': VAT,
'PriceText': PriceText,
'OccupiesSpot': OccupiesSpot
};
getTypeName() => "BookedQuantity";
TypeContext? context = _ctx;
}
// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
// @ApiResponse(Description="You have too low privilegies to call this service", StatusCode=403)
// @ValidateRequest(Validator="IsAuthenticated")
class AddQuantity implements ICompany, IConvertible
{
/**
* The company id, if empty will use the company id for the user you are logged in with.
*/
// @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
String? CompanyId;
/**
* Id of the booking
*/
// @ApiMember(Description="Id of the booking", IsRequired=true, ParameterType="path")
int? BookingId;
/**
* The quantity for booked on this price category
*/
// @ApiMember(Description="The quantity for booked on this price category", IsRequired=true)
int? Quantity;
/**
* The price
*/
// @ApiMember(Description="The price")
double? Price;
/**
* The price currency
*/
// @ApiMember(Description="The price currency")
String? CurrencyId;
/**
* The price category
*/
// @ApiMember(Description="The price category")
String? Category;
/**
* The price VAT in percent
*/
// @ApiMember(Description="The price VAT in percent")
double? VAT;
/**
* If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.
*/
// @ApiMember(Description="If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.")
bool? OccupiesSpot;
/**
* Any comments to be stored in the event log.
*/
// @ApiMember(Description="Any comments to be stored in the event log.")
String? Comments;
AddQuantity({this.CompanyId,this.BookingId,this.Quantity,this.Price,this.CurrencyId,this.Category,this.VAT,this.OccupiesSpot,this.Comments});
AddQuantity.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CompanyId = json['CompanyId'];
BookingId = json['BookingId'];
Quantity = json['Quantity'];
Price = JsonConverters.toDouble(json['Price']);
CurrencyId = json['CurrencyId'];
Category = json['Category'];
VAT = JsonConverters.toDouble(json['VAT']);
OccupiesSpot = json['OccupiesSpot'];
Comments = json['Comments'];
return this;
}
Map<String, dynamic> toJson() => {
'CompanyId': CompanyId,
'BookingId': BookingId,
'Quantity': Quantity,
'Price': Price,
'CurrencyId': CurrencyId,
'Category': Category,
'VAT': VAT,
'OccupiesSpot': OccupiesSpot,
'Comments': Comments
};
getTypeName() => "AddQuantity";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: <String, TypeInfo> {
'BookedQuantity': TypeInfo(TypeOf.Class, create:() => BookedQuantity()),
'AddQuantity': TypeInfo(TypeOf.Class, create:() => AddQuantity()),
});
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 /bookings/{BookingId}/quantity/ HTTP/1.1
Host: api.bokamera.se
Accept: application/json
Content-Type: application/json
Content-Length: length
{"CompanyId":"00000000-0000-0000-0000-000000000000","BookingId":0,"Quantity":0,"Price":0,"CurrencyId":"String","Category":"String","VAT":0,"OccupiesSpot":false,"Comments":"String"}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"Id":0,"Quantity":0,"Price":0,"PriceBeforeRebate":0,"CurrencyId":"String","PriceSign":"String","Category":"String","VAT":0,"PriceText":"String","OccupiesSpot":false}