BokaMera.API.Host

<back to all web services

CommitBookingReservation

The following routes are available for this service:
POST/bookingreservations/{SessionKey}/commitCommit a booking reservationCommits a reservation. If the service has no payment or the final price is zero the reservation is converted to a real booking synchronously and PaymentRequired is false. Otherwise the reservation is moved to AwaitingPayment and PaymentRequired is true.
Imports System
Imports System.IO
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

        <ApiResponse(Description:="You were unauthorized to call this service", StatusCode:=401)>
        <ApiResponse(Description:="No reservation found for the given session key", StatusCode:=404)>
        <ApiResponse(Description:="The selected slot is no longer available", StatusCode:=409)>
        Public Partial Class CommitBookingReservation
            Implements ICompany
            '''<Summary>
            '''The opaque session key that identifies the reservation.
            '''</Summary>
            <ApiMember(Description:="The opaque session key that identifies the reservation.", IsRequired:=true, ParameterType:="path")>
            Public Overridable Property SessionKey As Guid

            '''<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 Guid? Implements ICompany.CompanyId

            '''<Summary>
            '''Rebate codes to apply when computing the final price.
            '''</Summary>
            <ApiMember(Description:="Rebate codes to apply when computing the final price.")>
            Public Overridable Property RebateCodeIds As List(Of Integer) = New List(Of Integer)
        End Class

        Public Partial Class CommitBookingReservationResponse
            '''<Summary>
            '''The opaque session key that identifies the reservation.
            '''</Summary>
            <ApiMember(Description:="The opaque session key that identifies the reservation.")>
            Public Overridable Property SessionKey As Guid

            '''<Summary>
            '''The BookingReservationStatus value after commit.
            '''</Summary>
            <ApiMember(Description:="The BookingReservationStatus value after commit.")>
            Public Overridable Property StatusCode As Integer

            '''<Summary>
            '''The BookingReservationStatus name after commit.
            '''</Summary>
            <ApiMember(Description:="The BookingReservationStatus name after commit.")>
            Public Overridable Property StatusName As String

            '''<Summary>
            '''True when the customer still needs to pay (reservation moved to AwaitingPayment).
            '''</Summary>
            <ApiMember(Description:="True when the customer still needs to pay (reservation moved to AwaitingPayment).")>
            Public Overridable Property PaymentRequired As Boolean

            '''<Summary>
            '''The created booking id, set when the reservation was converted without payment.
            '''</Summary>
            <ApiMember(Description:="The created booking id, set when the reservation was converted without payment.")>
            Public Overridable Property BookingId As Integer?

            '''<Summary>
            '''The computed final price of the reservation, if any.
            '''</Summary>
            <ApiMember(Description:="The computed final price of the reservation, if any.")>
            Public Overridable Property Price As Decimal?

            '''<Summary>
            '''The reservation payable reference to use as the checkout InternalReferenceId when PaymentRequired is true.
            '''</Summary>
            <ApiMember(Description:="The reservation payable reference to use as the checkout InternalReferenceId when PaymentRequired is true.")>
            Public Overridable Property InternalReferenceId As String

            Public Overridable Property ResponseStatus As ResponseStatus
        End Class
    End Namespace
End Namespace

VB.NET CommitBookingReservation 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 /bookingreservations/{SessionKey}/commit HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"CompanyId":"00000000-0000-0000-0000-000000000000","RebateCodeIds":[0]}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"StatusCode":0,"StatusName":"String","PaymentRequired":false,"BookingId":0,"Price":0,"InternalReferenceId":"String","ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}