BokaMera.API.Host

<back to all web services

UpdateResourceTimeException

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
PUT/timeexceptions/{Id}Updates a time exception for a given resource belonging to the current userUpdates a time exception for a given resource belonging to the current user if no colliding bookings are found. If a colliding booking is found. A time exception must be either recurring (DaysOfWeek is set and From and To is the valid range for the recurrency) or non recurring (From and To are set)
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BokaMera.API.ServiceModel.Dtos

Namespace Global

    Namespace BokaMera.API.ServiceModel.Dtos

        Public Partial Class DayOfWeekDto
            Public Overridable Property DayOfWeekId As Integer
            Public Overridable Property DotNetDayOfWeekId As Integer
            Public Overridable Property DayOfWeek As String
        End Class

        Public Partial Class ExceptionCalendarExportStatus
            Public Overridable Property CalendarId As String
            Public Overridable Property ExceptionId As Integer
            Public Overridable Property Synced As Nullable(Of Boolean)
        End Class

        Public Partial Class ResourceTimeExceptionQueryResponse
            Public Sub New()
                ResourceIds = New Integer(){}
                Resources = New List(Of TimeExceptionReosurceDetails)
                DaysOfWeek = New List(Of DayOfWeekDto)
            End Sub

            '''<Summary>
            '''Time exception id
            '''</Summary>
            <ApiMember(Description:="Time exception id")>
            Public Overridable Property Id As Integer

            '''<Summary>
            '''Time company id
            '''</Summary>
            <ApiMember(Description:="Time company id")>
            Public Overridable Property CompanyId As Guid

            '''<Summary>
            '''If it's locked for editing for the logged in administrator
            '''</Summary>
            <ApiMember(Description:="If it's locked for editing for the logged in administrator")>
            Public Overridable Property Locked As Boolean

            '''<Summary>
            '''Resources that owns this exception
            '''</Summary>
            <ApiMember(Description:="Resources that owns this exception")>
            Public Overridable Property ResourceIds As Integer()

            '''<Summary>
            '''Resources that owns this exception
            '''</Summary>
            <ApiMember(Description:="Resources that owns this exception")>
            Public Overridable Property Resources As List(Of TimeExceptionReosurceDetails)

            '''<Summary>
            '''Indicates wheter or not the time exception is recurring
            '''</Summary>
            <ApiMember(Description:="Indicates wheter or not the time exception is recurring")>
            Public Overridable Property IsRecurring As Boolean

            '''<Summary>
            '''Time exception starting timestamp
            '''</Summary>
            <ApiMember(Description:="Time exception starting timestamp")>
            Public Overridable Property From As Date

            '''<Summary>
            '''Time exception ending timestamp
            '''</Summary>
            <ApiMember(Description:="Time exception ending timestamp")>
            Public Overridable Property To As Date

            '''<Summary>
            '''If recurring then this value indicates the time of day when the time exception begins
            '''</Summary>
            <ApiMember(Description:="If recurring then this value indicates the time of day when the time exception begins")>
            Public Overridable Property FromTime As TimeSpan

            '''<Summary>
            '''If recurring then this value indicates the time of day when the time exception ends
            '''</Summary>
            <ApiMember(Description:="If recurring then this value indicates the time of day when the time exception ends")>
            Public Overridable Property ToTime As TimeSpan

            '''<Summary>
            '''The reason of the time exception, example: Vacation, doctors appointment, ...
            '''</Summary>
            <ApiMember(Description:="The reason of the time exception, example: Vacation, doctors appointment, ...")>
            Public Overridable Property ReasonText As String

            '''<Summary>
            '''The reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ...
            '''</Summary>
            <ApiMember(Description:="The reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ...")>
            Public Overridable Property ReasonTextPublic As String

            '''<Summary>
            '''What hexadecimal color code the exception should have in the scheduler
            '''</Summary>
            <ApiMember(Description:="What hexadecimal color code the exception should have in the scheduler")>
            Public Overridable Property Color As String

            '''<Summary>
            '''If the time exception should block the time in the scheduler so it's not avaialable to book
            '''</Summary>
            <ApiMember(Description:="If the time exception should block the time in the scheduler so it's not avaialable to book")>
            Public Overridable Property BlockTime As Boolean

            '''<Summary>
            '''If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it
            '''</Summary>
            <ApiMember(Description:="If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it")>
            Public Overridable Property Private As Boolean

            '''<Summary>
            '''The status for export to calendars like Gcal
            '''</Summary>
            <ApiMember(Description:="The status for export to calendars like Gcal")>
            Public Overridable Property CalendarExportStatus As ExceptionCalendarExportStatus

            '''<Summary>
            '''If recurring, an array indicating which days of the week the exception recures 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
            '''</Summary>
            <ApiMember(Description:="If recurring, an array indicating which days of the week the exception recures 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")>
            Public Overridable Property DaysOfWeek As List(Of DayOfWeekDto)

            '''<Summary>
            '''The datetime the exception was created
            '''</Summary>
            <ApiMember(Description:="The datetime the exception was created")>
            Public Overridable Property Created As Date

            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        Public Partial Class TimeExceptionReosurceDetails
            '''<Summary>
            '''Ids of the resources that owns this exception
            '''</Summary>
            <ApiMember(Description:="Ids of the resources that owns this exception")>
            Public Overridable Property Id As Integer

            '''<Summary>
            '''Name of the resource
            '''</Summary>
            <ApiMember(Description:="Name of the resource")>
            Public Overridable Property Name As String

            '''<Summary>
            '''Description of the resource
            '''</Summary>
            <ApiMember(Description:="Description of the resource")>
            Public Overridable Property Description As String

            '''<Summary>
            '''Color of the resource
            '''</Summary>
            <ApiMember(Description:="Color of the resource")>
            Public Overridable Property Color As String

            '''<Summary>
            '''Image of the resource
            '''</Summary>
            <ApiMember(Description:="Image of the resource")>
            Public Overridable Property ImageUrl As Uri

            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        <ApiResponse(Description:="You were unauthorized to call this service", StatusCode:=401)>
        <ApiResponse(Description:="You have too low privilegies to call this service", StatusCode:=403)>
        <ApiResponse(Description:="Bookings exists that needs to be unbooked before creating this time exceptions, use the /timeexceptions/collidingevents to find which bookings and use the booking service to unbook them", StatusCode:=409)>
        <ValidateRequest(Validator:="IsAuthenticated")>
        Public Partial Class UpdateResourceTimeException
            Implements ICompany
            Public Sub New()
                ResourceIds = New Integer(){}
                DaysOfWeek = New Integer(){}
            End Sub

            '''<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.")>
            Public Overridable Property CompanyId As Nullable(Of Guid)

            '''<Summary>
            '''Tome exceptions id
            '''</Summary>
            <ApiMember(Description:="Tome exceptions id", ParameterType:="path")>
            Public Overridable Property Id As Integer

            '''<Summary>
            '''Time exception starting datestamp, only the date of day part is used of this value
            '''</Summary>
            <ApiMember(Description:="Time exception starting datestamp, only the date of day part is used of this value")>
            Public Overridable Property From As Nullable(Of Date)

            '''<Summary>
            '''Time exception ending datestamp, only the date of day part is used of this value
            '''</Summary>
            <ApiMember(Description:="Time exception ending datestamp, only the date of day part is used of this value")>
            Public Overridable Property To As Nullable(Of Date)

            '''<Summary>
            '''Resource id of the resource that owns this exception
            '''</Summary>
            <ApiMember(Description:="Resource id of the resource that owns this exception", IsRequired:=true)>
            Public Overridable Property ResourceIds As Integer()

            '''<Summary>
            '''This value indicates the time of day when the time exception begins. Example: 10:00. If Recurring this will be the startime for each recurring day.
            '''</Summary>
            <ApiMember(Description:="This value indicates the time of day when the time exception begins. Example: 10:00. If Recurring this will be the startime for each recurring day.")>
            Public Overridable Property FromTime As Nullable(Of TimeSpan)

            '''<Summary>
            '''This value indicates the time of day when the time exception ends. Example: 12:00. If Recurring this will be the endtime for each recurring day.
            '''</Summary>
            <ApiMember(Description:="This value indicates the time of day when the time exception ends. Example: 12:00. If Recurring this will be the endtime for each recurring day.")>
            Public Overridable Property ToTime As Nullable(Of TimeSpan)

            '''<Summary>
            '''A comma separated list of which days this day exception belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.
            '''</Summary>
            <ApiMember(Description:="A comma separated list of which days this day exception belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.")>
            Public Overridable Property DaysOfWeek As Integer()

            '''<Summary>
            '''The reason of the time exception, example: Vacation, doctors appointment, ...
            '''</Summary>
            <ApiMember(Description:="The reason of the time exception, example: Vacation, doctors appointment, ...", IsRequired:=true)>
            Public Overridable Property ReasonText As String

            '''<Summary>
            '''The reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ...
            '''</Summary>
            <ApiMember(Description:="The reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ...")>
            Public Overridable Property ReasonTextPublic As String

            '''<Summary>
            '''What hexadecimal color code the exception should have in the scheduler
            '''</Summary>
            <ApiMember(Description:="What hexadecimal color code the exception should have in the scheduler")>
            Public Overridable Property Color As String

            '''<Summary>
            '''If the time exception should block the time in the scheduler so it's not avaialable to book
            '''</Summary>
            <ApiMember(Description:="If the time exception should block the time in the scheduler so it's not avaialable to book")>
            Public Overridable Property BlockTime As Nullable(Of Boolean)

            '''<Summary>
            '''If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it
            '''</Summary>
            <ApiMember(Description:="If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it")>
            Public Overridable Property Private As Nullable(Of Boolean)

            '''<Summary>
            '''If this equals true it will force to cancel all bookings that are colliding with the timeexception. 
            '''</Summary>
            <ApiMember(Description:="If this equals true it will force to cancel all bookings that are colliding with the timeexception. ")>
            Public Overridable Property Force As Boolean

            '''<Summary>
            '''When Force=true and colliding bookings exsists, this message is the message that are sent to the users when canceling their bookings.
            '''</Summary>
            <ApiMember(Description:="When Force=true and colliding bookings exsists, this message is the message that are sent to the users when canceling their bookings.")>
            Public Overridable Property CancelMessage As String

            '''<Summary>
            '''When Force=true and colliding bookings exsists, send cancelmessage as SMS Confirmation
            '''</Summary>
            <ApiMember(Description:="When Force=true and colliding bookings exsists, send cancelmessage as SMS Confirmation")>
            Public Overridable Property SendSmsConfirmation As Nullable(Of Boolean)

            '''<Summary>
            '''When Force=true and colliding bookings exsists, send cancelmessage as Email Confirmation
            '''</Summary>
            <ApiMember(Description:="When Force=true and colliding bookings exsists, send cancelmessage as Email Confirmation")>
            Public Overridable Property SendEmailConfirmation As Nullable(Of Boolean)
        End Class
    End Namespace
End Namespace

VB.NET UpdateResourceTimeException DTOs

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

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /timeexceptions/{Id} HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"CompanyId":"00000000-0000-0000-0000-000000000000","Id":0,"From":"0001-01-01T00:00:00","To":"0001-01-01T00:00:00","ResourceIds":[0],"FromTime":"00:00:00","ToTime":"00:00:00","DaysOfWeek":[0],"ReasonText":"String","ReasonTextPublic":"String","Color":"String","BlockTime":false,"Private":false,"Force":false,"CancelMessage":"String","SendSmsConfirmation":false,"SendEmailConfirmation":false}
HTTP/1.1 200 OK
Content-Type: text/jsonl
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":"00:00:00","ToTime":"00:00:00","ReasonText":"String","ReasonTextPublic":"String","Color":"String","BlockTime":false,"Private":false,"CalendarExportStatus":{"CalendarId":"String","ExceptionId":0,"Synced":false},"DaysOfWeek":[{"DayOfWeekId":0,"DotNetDayOfWeekId":0,"DayOfWeek":"String"}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}