Reservation Station API

<back to all web services

FindBookingRate

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

Namespace Global

    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 FindBookingRate
            Inherits ApiServiceRequest
            Public Sub New()
                RequestedSlots = New List(Of SlotData)
            End Sub

            Public Overridable Property FacilityId As Integer
            Public Overridable Property BookingUserId As Integer
            Public Overridable Property RequestedSlots As List(Of SlotData)
            Public Overridable Property IsNew As Boolean
            Public Overridable Property IsGuest As Boolean
        End Class

        Public Partial Class FindBookingRateResponse
            Inherits ApiServiceResponse
            Public Sub New()
                UpdatedSlot = New List(Of SlotData)
                Rates = New List(Of Decimal)
            End Sub

            Public Overridable Property UpdatedSlot As List(Of SlotData)
            Public Overridable Property Rates As List(Of Decimal)
            Public Overridable Property WasMerge 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 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 FindBookingRate 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.

POST /jsonl/reply/FindBookingRate HTTP/1.1 
Host: reservation.api.dev.86degrees.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"facilityId":0,"bookingUserId":0,"requestedSlots":[{"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"}],"isNew":false,"isGuest":false,"apiKey":"String","latitude":0,"longitude":0}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"updatedSlot":[{"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"}],"rates":[0],"wasMerge":false,"description":"String","heading":"String","wasSuccessful":false,"modelState":{}}