PUT | /bookings/{BookingId}/quantity/ | Update all quantities on a booking. Note: all quantity needs to be added, all existing quantities on the booking will be deleted | Update all quantities on a booking. You will need to provide all quantities in this call to be added/updated. Note: all quantity needs to be added, all existing quantities on the booking will be deleted. |
---|
namespace BokaMera.API.ServiceModel.Dtos
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type BookedQuantity() =
///<summary>
///The quantity Id
///</summary>
[<ApiMember(Description="The quantity Id")>]
member val Id:Int32 = new Int32() with get,set
///<summary>
///The quantity for booked on this price category
///</summary>
[<ApiMember(Description="The quantity for booked on this price category")>]
member val Quantity:Int32 = new Int32() with get,set
///<summary>
///The price
///</summary>
[<ApiMember(Description="The price")>]
member val Price:Nullable<Double> = new Nullable<Double>() with get,set
///<summary>
///The price bofore rebate codes
///</summary>
[<ApiMember(Description="The price bofore rebate codes")>]
member val PriceBeforeRebate:Nullable<Double> = new Nullable<Double>() with get,set
///<summary>
///The price currency
///</summary>
[<ApiMember(Description="The price currency")>]
member val CurrencyId:String = null with get,set
///<summary>
///The price sign
///</summary>
[<ApiMember(Description="The price sign")>]
member val PriceSign:String = null with get,set
///<summary>
///The price category
///</summary>
[<ApiMember(Description="The price category")>]
member val Category:String = null with get,set
///<summary>
///The price VAT in percent
///</summary>
[<ApiMember(Description="The price VAT in percent")>]
member val VAT:Nullable<Decimal> = new Nullable<Decimal>() with get,set
///<summary>
///The price text to display
///</summary>
[<ApiMember(Description="The price text to display")>]
member val PriceText:String = null with get,set
///<summary>
///If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.
///</summary>
[<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.")>]
member val OccupiesSpot:Boolean = new Boolean() with get,set
[<ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)>]
[<ApiResponse(Description="You have too low privileges to call this service", StatusCode=403)>]
[<ValidateRequest(Validator="IsAuthenticated")>]
[<AllowNullLiteral>]
type UpdateAllQuantities() =
///<summary>
///The company id, if empty will use the company id for the user you are logged in with.
///</summary>
[<ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")>]
member val CompanyId:Nullable<Guid> = new Nullable<Guid>() with get,set
///<summary>
///Id of the booking
///</summary>
[<ApiMember(Description="Id of the booking", IsRequired=true, ParameterType="path")>]
member val BookingId:Int32 = new Int32() with get,set
///<summary>
///Set the number of spots you want to book. You add number of spots per price category. Multiple spots require that the service has GroupBooking enabled. Default is one spot.
///</summary>
[<ApiMember(Description="Set the number of spots you want to book. You add number of spots per price category. Multiple spots require that the service has GroupBooking enabled. Default is one spot.")>]
member val Quantities:QuantityToUpdate[] = [||] with get,set
///<summary>
///Any comments to be stored in the event log.
///</summary>
[<ApiMember(Description="Any comments to be stored in the event log.")>]
member val Comments:String = null with get,set
[<AllowNullLiteral>]
type QuantityToUpdate() =
///<summary>
///Id of the quantity
///</summary>
[<ApiMember(Description="Id of the quantity", IsRequired=true)>]
member val Id:Nullable<Int32> = new Nullable<Int32>() with get,set
///<summary>
///The quantity for booked on this price category
///</summary>
[<ApiMember(Description="The quantity for booked on this price category", IsRequired=true)>]
member val Quantity:Nullable<Int32> = new Nullable<Int32>() with get,set
///<summary>
///The price
///</summary>
[<ApiMember(Description="The price")>]
member val Price:Nullable<Double> = new Nullable<Double>() with get,set
///<summary>
///The price currency
///</summary>
[<ApiMember(Description="The price currency")>]
member val CurrencyId:String = null with get,set
///<summary>
///The price category
///</summary>
[<ApiMember(Description="The price category")>]
member val Category:String = null with get,set
///<summary>
///The price VAT in percent
///</summary>
[<ApiMember(Description="The price VAT in percent")>]
member val VAT:Nullable<Decimal> = new Nullable<Decimal>() with get,set
///<summary>
///If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.
///</summary>
[<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.")>]
member val OccupiesSpot:Nullable<Boolean> = new Nullable<Boolean>() with get,set
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/ 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,
Quantities:
[
{
Id: 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 }