BokaMera.API.Host

<back to all web services

CreateDateSchedule

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/schedules/dateAdd new date scheduleAdd new date schedule to the company for the currently logged in user, only administrators are allowed to add schedules.
"use strict";
export class DateScheduleDateResponse {
    /** @param {{Id?:number,From?:string,To?:string,ResponseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {string} */
    From;
    /** @type {string} */
    To;
    /** @type {ResponseStatus} */
    ResponseStatus;
}
export class ScheduleResources {
    /** @param {{Id?:number,Name?:string,ImageUrl?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /**
     * @type {string}
     * @description Name of the resource */
    Name;
    /**
     * @type {string}
     * @description The image url of the resource */
    ImageUrl;
}
export class ScheduleServices {
    /** @param {{Id?:number,Name?:string,ImageUrl?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /**
     * @type {string}
     * @description Name of the service */
    Name;
    /**
     * @type {string}
     * @description The image url of the service */
    ImageUrl;
}
export class DateScheduleQueryResponse {
    /** @param {{Id?:number,Name?:string,Description?:string,Active?:boolean,IsResourceSpecific?:boolean,ScheduleDates?:DateScheduleDateResponse[],Resources?:ScheduleResources[],Services?:ScheduleServices[],UpdatedDate?:string,CreatedDate?:string,ResponseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {number}
     * @description The schedule id */
    Id;
    /**
     * @type {string}
     * @description Name of the schedule */
    Name;
    /**
     * @type {string}
     * @description Description of the schedule */
    Description;
    /**
     * @type {boolean}
     * @description If the schedule is active or not */
    Active;
    /**
     * @type {boolean}
     * @description If the schedule is only connected to some specific resources. Note: You must have IncludeResources property to see this. */
    IsResourceSpecific;
    /**
     * @type {DateScheduleDateResponse[]}
     * @description Schedule dates */
    ScheduleDates;
    /**
     * @type {ScheduleResources[]}
     * @description The resources that is connected to the schedule */
    Resources;
    /**
     * @type {ScheduleServices[]}
     * @description The services that is connected to the schedule */
    Services;
    /**
     * @type {string}
     * @description The timestamp when the schedule was updated */
    UpdatedDate;
    /**
     * @type {string}
     * @description The timestamp when the schedule was created */
    CreatedDate;
    /** @type {ResponseStatus} */
    ResponseStatus;
}
export class AddDateScheduleDate {
    /** @param {{From?:string,To?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The from date for the timeslot */
    From;
    /**
     * @type {string}
     * @description The to date for the timeslot */
    To;
}
export class AddScheduleResource {
    /** @param {{Id?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {number}
     * @description The resource id */
    Id;
}
export class AddScheduleService {
    /** @param {{Id?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {number}
     * @description The service id */
    Id;
}
export class CreateDateSchedule {
    /** @param {{CompanyId?:string,Name?:string,Description?:string,Active?:boolean,NumberOfScheduleDays?:number,ScheduleDates?:AddDateScheduleDate[],Resources?:AddScheduleResource[],Services?:AddScheduleService[]}} [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 {string}
     * @description The schedule name */
    Name;
    /**
     * @type {string}
     * @description The schedule description */
    Description;
    /**
     * @type {boolean}
     * @description If schedule is active or not */
    Active;
    /**
     * @type {number}
     * @description The number of days the schedule is valid from todays date */
    NumberOfScheduleDays;
    /**
     * @type {AddDateScheduleDate[]}
     * @description The dates for the schedule. This is the actual timeslots. */
    ScheduleDates;
    /**
     * @type {AddScheduleResource[]}
     * @description If the schedule is only connected to some resources, add them here. If empty, it will be used by all resources. */
    Resources;
    /**
     * @type {AddScheduleService[]}
     * @description Set what services the schedule should be connected to. */
    Services;
}

JavaScript CreateDateSchedule 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.

POST /schedules/date HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CompanyId: 00000000-0000-0000-0000-000000000000,
	Name: String,
	Description: String,
	Active: False,
	NumberOfScheduleDays: 0,
	ScheduleDates: 
	[
		{
			
		}
	],
	Resources: 
	[
		{
			Id: 0
		}
	],
	Services: 
	[
		{
			Id: 0
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Id: 0,
	Name: String,
	Description: String,
	Active: False,
	IsResourceSpecific: False,
	ScheduleDates: 
	[
		{
			Id: 0,
			ResponseStatus: 
			{
				ErrorCode: String,
				Message: String,
				StackTrace: String,
				Errors: 
				[
					{
						ErrorCode: String,
						FieldName: String,
						Message: String,
						Meta: 
						{
							String: String
						}
					}
				],
				Meta: 
				{
					String: String
				}
			}
		}
	],
	Resources: 
	[
		{
			Id: 0,
			Name: String
		}
	],
	Services: 
	[
		{
			Id: 0,
			Name: String
		}
	],
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}