Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
POST | /schedules/date | Add new date schedule | Add new date schedule to the company for the currently logged in user, only administrators are allowed to add schedules. |
---|
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 AddDateScheduleDate
'''<Summary>
'''The from date for the timeslot
'''</Summary>
<ApiMember(Description:="The from date for the timeslot", IsRequired:=true)>
Public Overridable Property From As Date
'''<Summary>
'''The to date for the timeslot
'''</Summary>
<ApiMember(Description:="The to date for the timeslot", IsRequired:=true)>
Public Overridable Property To As Date
End Class
Public Partial Class AddScheduleResource
'''<Summary>
'''The resource id
'''</Summary>
<ApiMember(Description:="The resource id", IsRequired:=true)>
Public Overridable Property Id As Integer
End Class
Public Partial Class AddScheduleService
'''<Summary>
'''The service id
'''</Summary>
<ApiMember(Description:="The service id", IsRequired:=true)>
Public Overridable Property Id As Integer
End Class
<ApiResponse(Description:="You were unauthorized to call this service", StatusCode:=401)>
<ValidateRequest(Validator:="IsAuthenticated")>
Public Partial Class CreateDateSchedule
Implements ICompany
Public Sub New()
ScheduleDates = New List(Of AddDateScheduleDate)
Resources = New List(Of AddScheduleResource)
Services = New List(Of AddScheduleService)
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>
'''The schedule name
'''</Summary>
<ApiMember(Description:="The schedule name")>
Public Overridable Property Name As String
'''<Summary>
'''The schedule description
'''</Summary>
<ApiMember(Description:="The schedule description")>
Public Overridable Property Description As String
'''<Summary>
'''If schedule is active or not
'''</Summary>
<ApiMember(Description:="If schedule is active or not")>
Public Overridable Property Active As Boolean
'''<Summary>
'''The number of days the schedule is valid from todays date
'''</Summary>
<ApiMember(Description:="The number of days the schedule is valid from todays date", IsRequired:=true)>
Public Overridable Property NumberOfScheduleDays As Integer
'''<Summary>
'''The dates for the schedule. This is the actual timeslots.
'''</Summary>
<ApiMember(Description:="The dates for the schedule. This is the actual timeslots.")>
Public Overridable Property ScheduleDates As List(Of AddDateScheduleDate)
'''<Summary>
'''If the schedule is only connected to some resources, add them here. If empty, it will be used by all resources.
'''</Summary>
<ApiMember(Description:="If the schedule is only connected to some resources, add them here. If empty, it will be used by all resources.")>
Public Overridable Property Resources As List(Of AddScheduleResource)
'''<Summary>
'''Set what services the schedule should be connected to.
'''</Summary>
<ApiMember(Description:="Set what services the schedule should be connected to.")>
Public Overridable Property Services As List(Of AddScheduleService)
End Class
Public Partial Class DateScheduleDateResponse
Public Overridable Property Id As Integer
Public Overridable Property From As Date
Public Overridable Property To As Date
Public Overridable Property ResponseStatus As ResponseStatus
End Class
Public Partial Class DateScheduleQueryResponse
Public Sub New()
ScheduleDates = New List(Of DateScheduleDateResponse)
Resources = New List(Of ScheduleResources)
Services = New List(Of ScheduleServices)
End Sub
'''<Summary>
'''The schedule id
'''</Summary>
<ApiMember(Description:="The schedule id")>
Public Overridable Property Id As Integer
'''<Summary>
'''Name of the schedule
'''</Summary>
<ApiMember(Description:="Name of the schedule")>
Public Overridable Property Name As String
'''<Summary>
'''Description of the schedule
'''</Summary>
<ApiMember(Description:="Description of the schedule")>
Public Overridable Property Description As String
'''<Summary>
'''If the schedule is active or not
'''</Summary>
<ApiMember(Description:="If the schedule is active or not")>
Public Overridable Property Active As Boolean
'''<Summary>
'''If the schedule is only connected to some specific resources. Note: You must have IncludeResources property to see this.
'''</Summary>
<ApiMember(Description:="If the schedule is only connected to some specific resources. Note: You must have IncludeResources property to see this.", IsRequired:=true)>
Public Overridable Property IsResourceSpecific As Nullable(Of Boolean)
'''<Summary>
'''Schedule dates
'''</Summary>
<ApiMember(Description:="Schedule dates")>
Public Overridable Property ScheduleDates As List(Of DateScheduleDateResponse)
'''<Summary>
'''The resources that is connected to the schedule
'''</Summary>
<ApiMember(Description:="The resources that is connected to the schedule")>
Public Overridable Property Resources As List(Of ScheduleResources)
'''<Summary>
'''The services that is connected to the schedule
'''</Summary>
<ApiMember(Description:="The services that is connected to the schedule")>
Public Overridable Property Services As List(Of ScheduleServices)
'''<Summary>
'''The timestamp when the schedule was updated
'''</Summary>
<ApiMember(Description:="The timestamp when the schedule was updated", IsRequired:=true)>
Public Overridable Property UpdatedDate As Date
'''<Summary>
'''The timestamp when the schedule was created
'''</Summary>
<ApiMember(Description:="The timestamp when the schedule was created", IsRequired:=true)>
Public Overridable Property CreatedDate As Date
Public Overridable Property ResponseStatus As ResponseStatus
End Class
Public Partial Class ScheduleResources
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>
'''The image url of the resource
'''</Summary>
<ApiMember(Description:="The image url of the resource")>
Public Overridable Property ImageUrl As Uri
End Class
Public Partial Class ScheduleServices
Public Overridable Property Id As Integer
'''<Summary>
'''Name of the service
'''</Summary>
<ApiMember(Description:="Name of the service")>
Public Overridable Property Name As String
'''<Summary>
'''The image url of the service
'''</Summary>
<ApiMember(Description:="The image url of the service")>
Public Overridable Property ImageUrl As Uri
End Class
End Namespace
End Namespace
VB.NET CreateDateSchedule DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: api.bokamera.se
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CreateDateSchedule xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<Active>false</Active>
<CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
<Description>String</Description>
<Name>String</Name>
<NumberOfScheduleDays>0</NumberOfScheduleDays>
<Resources>
<AddScheduleResource>
<Id>0</Id>
</AddScheduleResource>
</Resources>
<ScheduleDates>
<AddDateScheduleDate>
<From>0001-01-01T00:00:00</From>
<To>0001-01-01T00:00:00</To>
</AddDateScheduleDate>
</ScheduleDates>
<Services>
<AddScheduleService>
<Id>0</Id>
</AddScheduleService>
</Services>
</CreateDateSchedule>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <DateScheduleQueryResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos"> <Active>false</Active> <CreatedDate>0001-01-01T00:00:00</CreatedDate> <Description>String</Description> <Id>0</Id> <IsResourceSpecific>false</IsResourceSpecific> <Name>String</Name> <Resources> <ScheduleResources> <Id>0</Id> <ImageUrl i:nil="true" /> <Name>String</Name> </ScheduleResources> </Resources> <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types"> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:Message>String</d2p1:Message> <d2p1:StackTrace>String</d2p1:StackTrace> <d2p1:Errors> <d2p1:ResponseError> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:FieldName>String</d2p1:FieldName> <d2p1:Message>String</d2p1:Message> <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </d2p1:Meta> </d2p1:ResponseError> </d2p1:Errors> <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </d2p1:Meta> </ResponseStatus> <ScheduleDates> <DateScheduleDateResponse> <From>0001-01-01T00:00:00</From> <Id>0</Id> <ResponseStatus xmlns:d4p1="http://schemas.servicestack.net/types"> <d4p1:ErrorCode>String</d4p1:ErrorCode> <d4p1:Message>String</d4p1:Message> <d4p1:StackTrace>String</d4p1:StackTrace> <d4p1:Errors> <d4p1:ResponseError> <d4p1:ErrorCode>String</d4p1:ErrorCode> <d4p1:FieldName>String</d4p1:FieldName> <d4p1:Message>String</d4p1:Message> <d4p1:Meta xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d7p1:KeyValueOfstringstring> <d7p1:Key>String</d7p1:Key> <d7p1:Value>String</d7p1:Value> </d7p1:KeyValueOfstringstring> </d4p1:Meta> </d4p1:ResponseError> </d4p1:Errors> <d4p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </d4p1:Meta> </ResponseStatus> <To>0001-01-01T00:00:00</To> </DateScheduleDateResponse> </ScheduleDates> <Services> <ScheduleServices> <Id>0</Id> <ImageUrl i:nil="true" /> <Name>String</Name> </ScheduleServices> </Services> <UpdatedDate>0001-01-01T00:00:00</UpdatedDate> </DateScheduleQueryResponse>