BokaMera.API.Host

<back to all web services

UpdateAllQuantities

Requires Authentication
The following routes are available for this service:
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 deletedUpdate 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.
"use strict";
export class BookedQuantity {
    /** @param {{Id?:number,Quantity?:number,Price?:number,PriceBeforeRebate?:number,CurrencyId?:string,PriceSign?:string,Category?:string,VAT?:number,PriceText?:string,OccupiesSpot?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {number}
     * @description The quantity Id */
    Id;
    /**
     * @type {number}
     * @description The quantity for booked on this price category */
    Quantity;
    /**
     * @type {?number}
     * @description The price */
    Price;
    /**
     * @type {?number}
     * @description The price bofore rebate codes */
    PriceBeforeRebate;
    /**
     * @type {string}
     * @description The price currency */
    CurrencyId;
    /**
     * @type {string}
     * @description The price sign */
    PriceSign;
    /**
     * @type {string}
     * @description The price category */
    Category;
    /**
     * @type {?number}
     * @description The price VAT in percent */
    VAT;
    /**
     * @type {string}
     * @description The price text to display */
    PriceText;
    /**
     * @type {boolean}
     * @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. */
    OccupiesSpot;
}
export class UpdateAllQuantities {
    /** @param {{CompanyId?:string,BookingId?:number,Quantities?:QuantityToUpdate[],Comments?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {?string}
     * @description The company id, if empty will use the company id for the user you are logged in with. */
    CompanyId;
    /**
     * @type {number}
     * @description Id of the booking */
    BookingId;
    /**
     * @type {QuantityToUpdate[]}
     * @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. */
    Quantities;
    /**
     * @type {string}
     * @description Any comments to be stored in the event log. */
    Comments;
}
export class QuantityToUpdate {
    /** @param {{Id?:number,Quantity?:number,Price?:number,CurrencyId?:string,Category?:string,VAT?:number,OccupiesSpot?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {number}
     * @description Id of the quantity */
    Id;
    /**
     * @type {number}
     * @description The quantity for booked on this price category */
    Quantity;
    /**
     * @type {?number}
     * @description The price */
    Price;
    /**
     * @type {string}
     * @description The price currency */
    CurrencyId;
    /**
     * @type {string}
     * @description The price category */
    Category;
    /**
     * @type {?number}
     * @description The price VAT in percent */
    VAT;
    /**
     * @type {?boolean}
     * @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. */
    OccupiesSpot;
}

JavaScript UpdateAllQuantities DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + 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
}