Reservation Station API

<back to all web services

GetFacilitySchedule

Requires Authentication
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports WebService.ServiceModel
Imports WebService.ServiceModel.Base
Imports CommonService.Api.Models.Base
Imports BusinessLogic.Entities

Namespace Global

    Namespace BusinessLogic.Entities

        Public Partial Class RatesItem
            Public Overridable Property Rate As Decimal
            Public Overridable Property Minutes As Integer
        End Class
    End Namespace

    Namespace CommonService.Api.Models.Base

        Public Partial Class ApiServiceResponse
            Implements IServiceResponse
            Public Overridable Property Description As String
            Public Overridable Property Heading As String
            Public Overridable Property WasSuccessful As Boolean
            Public Overridable Property ModelState As Object
        End Class
    End Namespace

    Namespace WebService.ServiceModel

        Public Partial Class FacilityData
            Public Sub New()
                Rates = New List(Of RatesItem)
            End Sub

            Public Overridable Property FacilityId As Integer
            Public Overridable Property FacilityGuid As String
            Public Overridable Property Name As String
            Public Overridable Property Description As String
            Public Overridable Property NextAvailable As String
            Public Overridable Property HasNextAvailable As Boolean
            Public Overridable Property Rates As List(Of RatesItem)
            Public Overridable Property ThemeColor As String
            Public Overridable Property BookingNotes As String
            Public Overridable Property LeadTime As Integer
            Public Overridable Property VenueId As Integer
            Public Overridable Property AllowExtraRequirements As Boolean
        End Class

        Public Partial Class GetFacilitySchedule
            Inherits ApiServiceRequest
            Public Overridable Property FacilityId As Integer
            Public Overridable Property Start As Date
            Public Overridable Property [End] As Date
        End Class

        Public Partial Class GetFacilityScheduleResponse
            Inherits ApiServiceResponse
            Public Sub New()
                Schedule = New List(Of ScheduleDayData)
            End Sub

            Public Overridable Property Schedule As List(Of ScheduleDayData)
            Public Overridable Property BookAheadMaxDate As String
            Public Overridable Property OpenHour As Integer
            Public Overridable Property CloseHour As Integer
            Public Overridable Property Duration As Integer
            Public Overridable Property IsCoordinator As Boolean
            Public Overridable Property FacilityTimeOffset As Integer
            Public Overridable Property Facility As FacilityData
            Public Overridable Property VenueName As String
            Public Overridable Property AllowGuests As Boolean
            Public Overridable Property AllowExtraRequirements As Boolean
            Public Overridable Property AllowBookingInProgress As Boolean
        End Class

        Public Partial Class GuestData
            Public Sub New()
                UserCustomFields = New List(Of UserCustomFieldData)
            End Sub

            Public Overridable Property Name As String
            Public Overridable Property EmailAddress As String
            Public Overridable Property MobileNumber As String
            Public Overridable Property UserCustomFields As List(Of UserCustomFieldData)
            Public Overridable Property IsAlreadyUser As Boolean
            Public Overridable Property SystemUserId As Integer
        End Class

        Public Partial Class ScheduleDayData
            Public Sub New()
                Slots = New List(Of SlotData)
            End Sub

            Public Overridable Property [Date] As String
            Public Overridable Property Slots As List(Of SlotData)
        End Class

        Public Partial Class SlotData
            Public Overridable Property Start As String
            Public Overridable Property [End] As String
            Public Overridable Property Status As SlotStatus
            Public Overridable Property BookingId As Integer
            Public Overridable Property RemindStart As Boolean
            Public Overridable Property Remind30Mins As Boolean
            Public Overridable Property Remind1Hour As Boolean
            Public Overridable Property Remind6Hours As Boolean
            Public Overridable Property Remind12Hours As Boolean
            Public Overridable Property Remind1Day As Boolean
            Public Overridable Property Remind1Week As Boolean
            Public Overridable Property BillableAmount As Decimal
            Public Overridable Property BookedByName As String
            Public Overridable Property BillableHours As Double
            Public Overridable Property SlotLength As Double
            Public Overridable Property UserData As GuestData
            Public Overridable Property ExtraRequirements As String
        End Class

        Public Enum SlotStatus
            Available = 0
            Closed = 1
            Booked = 2
            UserBooked = 3
            GroupBooked = 4
            ToBook = 5
        End Enum

        Public Partial Class UserCustomFieldData
            Public Overridable Property Id As Guid
            Public Overridable Property Value As String
            Public Overridable Property Name As String
            Public Overridable Property Optional As Boolean
        End Class
    End Namespace

    Namespace WebService.ServiceModel.Base

        Public Partial Class ApiServiceRequest
            Implements IServiceRequest
            Implements IHasApiKey
            Implements IHasDeviceInfo
            '''<Summary>
            '''The API Key required for authentication
            '''</Summary>
            <ApiMember(DataType:="string", Description:="The API Key required for authentication", IsRequired:=true)>
            Public Overridable Property ApiKey As String

            '''<Summary>
            '''Latitude of the user making this request
            '''</Summary>
            <ApiMember(DataType:="double", Description:="Latitude of the user making this request")>
            Public Overridable Property Latitude As Double

            '''<Summary>
            '''Longitude of the user making this request
            '''</Summary>
            <ApiMember(DataType:="double", Description:="Longitude of the user making this request")>
            Public Overridable Property Longitude As Double
        End Class
    End Namespace
End Namespace

VB.NET GetFacilitySchedule 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 /jsv/reply/GetFacilitySchedule HTTP/1.1 
Host: reservation.api.dev.86degrees.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	facilityId: 0,
	start: 0001-01-01,
	end: 0001-01-01,
	apiKey: String,
	latitude: 0,
	longitude: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	schedule: 
	[
		{
			date: String,
			slots: 
			[
				{
					start: String,
					end: String,
					status: 0,
					bookingId: 0,
					remindStart: False,
					remind30Mins: False,
					remind1Hour: False,
					remind6Hours: False,
					remind12Hours: False,
					remind1Day: False,
					remind1Week: False,
					billableAmount: 0,
					bookedByName: String,
					billableHours: 0,
					slotLength: 0,
					extraRequirements: String
				}
			]
		}
	],
	bookAheadMaxDate: String,
	openHour: 0,
	closeHour: 0,
	duration: 0,
	isCoordinator: False,
	facilityTimeOffset: 0,
	venueName: String,
	allowGuests: False,
	allowExtraRequirements: False,
	allowBookingInProgress: False,
	description: String,
	heading: String,
	wasSuccessful: False,
	modelState: {}
}