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 .jsv suffix or ?format=jsv
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: text/jsv
Content-Type: text/jsv
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: text/jsv Content-Length: length { Id: 0, Quantity: 0, Price: 0, PriceBeforeRebate: 0, CurrencyId: String, PriceSign: String, Category: String, VAT: 0, PriceText: String, OccupiesSpot: False }