PUT | /bookings/{BookingId}/quantity/{Id} | Update an existing booking quantity | Updates an existing booking quantity if you are authorized to do so. Note: Updating quantity wont updated 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;
}
// @ValidateRequest(Validator="IsAuthenticated")
// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
// @ApiResponse(Description="You have too low privilegies to call this service", StatusCode=403)
class UpdateQuantity 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;
/**
* Id of the quantity
*/
// @ApiMember(Description="Id of the quantity", IsRequired=true, ParameterType="path")
int? Id;
/**
* 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;
/**
* 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 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;
/**
* Any comments to be stored in the event log.
*/
// @ApiMember(Description="Any comments to be stored in the event log.")
String? Comments;
/**
* If you want the amount to be refunded automatically if amount is lower than paid
*/
// @ApiMember(Description="If you want the amount to be refunded automatically if amount is lower than paid")
bool? Refund;
UpdateQuantity({this.CompanyId,this.BookingId,this.Id,this.OccupiesSpot,this.Quantity,this.Price,this.CurrencyId,this.Category,this.VAT,this.Comments,this.Refund});
UpdateQuantity.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CompanyId = json['CompanyId'];
BookingId = json['BookingId'];
Id = json['Id'];
OccupiesSpot = json['OccupiesSpot'];
Quantity = json['Quantity'];
Price = JsonConverters.toDouble(json['Price']);
CurrencyId = json['CurrencyId'];
Category = json['Category'];
VAT = JsonConverters.toDouble(json['VAT']);
Comments = json['Comments'];
Refund = json['Refund'];
return this;
}
Map<String, dynamic> toJson() => {
'CompanyId': CompanyId,
'BookingId': BookingId,
'Id': Id,
'OccupiesSpot': OccupiesSpot,
'Quantity': Quantity,
'Price': Price,
'CurrencyId': CurrencyId,
'Category': Category,
'VAT': VAT,
'Comments': Comments,
'Refund': Refund
};
getTypeName() => "UpdateQuantity";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: <String, TypeInfo> {
'BookedQuantity': TypeInfo(TypeOf.Class, create:() => BookedQuantity()),
'UpdateQuantity': TypeInfo(TypeOf.Class, create:() => UpdateQuantity()),
});
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.
PUT /bookings/{BookingId}/quantity/{Id} 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,
Id: 0,
OccupiesSpot: False,
Quantity: 0,
Price: 0,
CurrencyId: String,
Category: String,
VAT: 0,
Comments: String,
Refund: False
}
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 }