| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| POST | /timeexceptions/{TimeExceptionId}/tags | Add tags to a time exception | Attaches one or more tags to an existing time exception. |
|---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
@ApiResponse(Description="Returned if a tag does not belong to this company or has the wrong scope", StatusCode=400)
// @ApiResponse(Description="Returned if the time exception was not found", StatusCode=404)
// @ApiResponse(Description="Returned if the current user is not allowed to perform the action", StatusCode=401)
@ValidateRequest(Validator="IsAuthenticated")
open class AddTagsToTimeException : ICompany
{
/**
* 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.")
override var CompanyId:UUID? = null
/**
* The time exception id.
*/
@ApiMember(Description="The time exception id.", IsRequired=true, ParameterType="path")
open var TimeExceptionId:Int? = null
/**
* The ids of the tags to attach.
*/
@ApiMember(Description="The ids of the tags to attach.", IsRequired=true)
open var TagIds:ArrayList<Int> = ArrayList<Int>()
}
open class ResourceTimeExceptionQueryResponse
{
/**
* Time exception id
*/
@ApiMember(Description="Time exception id")
open var Id:Int? = null
/**
* Time company id
*/
@ApiMember(Description="Time company id")
open var CompanyId:UUID? = null
/**
* If it's locked for editing for the logged in administrator
*/
@ApiMember(Description="If it's locked for editing for the logged in administrator")
open var Locked:Boolean? = null
/**
* Resources that owns this exception
*/
@ApiMember(Description="Resources that owns this exception")
open var ResourceIds:ArrayList<Int> = ArrayList<Int>()
/**
* Resources that owns this exception
*/
@ApiMember(Description="Resources that owns this exception")
open var Resources:ArrayList<TimeExceptionReosurceDetails> = ArrayList<TimeExceptionReosurceDetails>()
/**
* Indicates wheter or not the time exception is recurring
*/
@ApiMember(Description="Indicates wheter or not the time exception is recurring")
open var IsRecurring:Boolean? = null
/**
* Time exception starting timestamp
*/
@ApiMember(Description="Time exception starting timestamp")
open var From:Date? = null
/**
* Time exception ending timestamp
*/
@ApiMember(Description="Time exception ending timestamp")
open var To:Date? = null
/**
* If recurring then this value indicates the time of day when the time exception begins
*/
@ApiMember(Description="If recurring then this value indicates the time of day when the time exception begins")
open var FromTime:TimeSpan? = null
/**
* If recurring then this value indicates the time of day when the time exception ends
*/
@ApiMember(Description="If recurring then this value indicates the time of day when the time exception ends")
open var ToTime:TimeSpan? = null
/**
* The reason of the time exception, example: Vacation, doctors appointment, ...
*/
@ApiMember(Description="The reason of the time exception, example: Vacation, doctors appointment, ...")
open var ReasonText:String? = null
/**
* The reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ...
*/
@ApiMember(Description="The reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ...")
open var ReasonTextPublic:String? = null
/**
* What hexadecimal color code the exception should have in the scheduler
*/
@ApiMember(Description="What hexadecimal color code the exception should have in the scheduler")
open var Color:String? = null
/**
* If the time exception should block the time in the scheduler so it's not avaialable to book
*/
@ApiMember(Description="If the time exception should block the time in the scheduler so it's not avaialable to book")
open var BlockTime:Boolean? = null
/**
* If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it
*/
@ApiMember(Description="If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it")
open var Private:Boolean? = null
/**
* If recurring, an array indicating which days of the week the exception recurs on where 1 = Monday .. 7 = Sunday. When recurring then the time portion of the Fields From and To indicates the time of day the recurrence occurs
*/
@ApiMember(Description="If recurring, an array indicating which days of the week the exception recurs on where 1 = Monday .. 7 = Sunday. When recurring then the time portion of the Fields From and To indicates the time of day the recurrence occurs")
open var DaysOfWeek:ArrayList<DayOfWeekDto> = ArrayList<DayOfWeekDto>()
/**
* The datetime the exception was created
*/
@ApiMember(Description="The datetime the exception was created")
open var Created:Date? = null
/**
* Tags attached to this time exception
*/
@ApiMember(Description="Tags attached to this time exception")
open var Tags:ArrayList<TagResponse> = ArrayList<TagResponse>()
open var ResponseStatus:ResponseStatus? = null
}
open class TimeExceptionReosurceDetails
{
/**
* Ids of the resources that owns this exception
*/
@ApiMember(Description="Ids of the resources that owns this exception")
open var Id:Int? = null
/**
* Name of the resource
*/
@ApiMember(Description="Name of the resource")
open var Name:String? = null
/**
* Description of the resource
*/
@ApiMember(Description="Description of the resource")
open var Description:String? = null
/**
* Color of the resource
*/
@ApiMember(Description="Color of the resource")
open var Color:String? = null
/**
* Image of the resource
*/
@ApiMember(Description="Image of the resource")
open var ImageUrl:Uri? = null
open var ResponseStatus:ResponseStatus? = null
}
open class DayOfWeekDto
{
open var DayOfWeekId:Int? = null
open var DotNetDayOfWeekId:Int? = null
open var DayOfWeek:String? = null
}
open class TagResponse
{
open var Id:Int? = null
open var CompanyId:UUID? = null
open var Name:String? = null
open var Scope:Int? = null
open var Color:String? = null
open var SortOrder:Int? = null
open var Active:Boolean? = null
open var CreatedDate:Date? = null
open var ResponseStatus:ResponseStatus? = null
}
Kotlin AddTagsToTimeException DTOs
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 /timeexceptions/{TimeExceptionId}/tags HTTP/1.1
Host: api.bookmore.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CompanyId: 00000000-0000-0000-0000-000000000000,
TimeExceptionId: 0,
TagIds:
[
0
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Id: 0,
Locked: False,
ResourceIds:
[
0
],
Resources:
[
{
Id: 0,
Name: String,
Description: String,
Color: String,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}
],
IsRecurring: False,
FromTime: PT0S,
ToTime: PT0S,
ReasonText: String,
ReasonTextPublic: String,
Color: String,
BlockTime: False,
Private: False,
DaysOfWeek:
[
{
DayOfWeekId: 0,
DotNetDayOfWeekId: 0,
DayOfWeek: String
}
],
Tags:
[
{
Id: 0,
Name: String,
Scope: 0,
Color: String,
SortOrder: 0,
Active: False,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}
],
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}