Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
POST | /schedules/date/test | Test date schedule | Test date schedule, only administrators are allowed to test 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 AvailableTimesResponse
Public Sub New()
Times = New List(Of AvailableTimesSum)
End Sub
Public Overridable Property CompanyId As Guid
Public Overridable Property ServiceId As Integer
Public Overridable Property TimesFreeTextSingle As String
Public Overridable Property TimesFreeTextMultiple As String
Public Overridable Property Times As List(Of AvailableTimesSum)
End Class
Public Partial Class AvailableTimesSum
Implements IAvailableTime
Public Overridable Property From As Date
Public Overridable Property To As Date
Public Overridable Property Free As Integer
Public Overridable Property FreeSpots As Integer
Public Overridable Property ExceptionTexts As IEnumerable(Of ExceptionText)
End Class
Public Partial Class ExceptionText
Public Overridable Property Reason As String
Public Overridable Property ReasonPublic As String
End Class
<ApiResponse(Description:="You were unauthorized to call this service", StatusCode:=401)>
<ValidateRequest(Validator:="IsAuthenticated")>
Public Partial Class TestDateSchedule
Implements ICompany
Implements IInterval
Public Sub New()
ScheduleDates = New List(Of AddDateScheduleDate)
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 dates for the schedule. This is the actual timeslots.
'''</Summary>
<ApiMember(Description:="The dates for the schedule. This is the actual timeslots.", IsRequired:=true)>
Public Overridable Property ScheduleDates As List(Of AddDateScheduleDate)
'''<Summary>
'''From what datetime to show available times
'''</Summary>
<ApiMember(DataType:="dateTime", Description:="From what datetime to show available times", IsRequired:=true, ParameterType:="query")>
Public Overridable Property From As Date
'''<Summary>
'''To what datetime to show available times
'''</Summary>
<ApiMember(DataType:="dateTime", Description:="To what datetime to show available times", IsRequired:=true, ParameterType:="query")>
Public Overridable Property To As Date
'''<Summary>
'''The Service Duration
'''</Summary>
<ApiMember(Description:="The Service Duration")>
Public Overridable Property ServiceId As Nullable(Of Integer)
End Class
End Namespace
End Namespace
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/test HTTP/1.1
Host: api.bokamera.se
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<TestDateSchedule xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
<From>0001-01-01T00:00:00</From>
<ScheduleDates>
<AddDateScheduleDate>
<From>0001-01-01T00:00:00</From>
<To>0001-01-01T00:00:00</To>
</AddDateScheduleDate>
</ScheduleDates>
<ServiceId>0</ServiceId>
<To>0001-01-01T00:00:00</To>
</TestDateSchedule>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <AvailableTimesResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos"> <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId> <ServiceId>0</ServiceId> <Times> <AvailableTimesSum> <ExceptionTexts i:nil="true" /> <Free>0</Free> <FreeSpots>0</FreeSpots> <From>0001-01-01T00:00:00</From> <To>0001-01-01T00:00:00</To> </AvailableTimesSum> </Times> <TimesFreeTextMultiple>String</TimesFreeTextMultiple> <TimesFreeTextSingle>String</TimesFreeTextSingle> </AvailableTimesResponse>