Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
PUT | /bookings/{Id}/resource | Change a resource on a booking | Update an existing booking with a another available resource. |
---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BokaMera.API.ServiceModel.Dtos
Imports BokaMera.API.ServiceModel.Enums
Namespace Global
Namespace BokaMera.API.ServiceModel.Dtos
Public Partial Class BookedCompany
Public Overridable Property Id As Guid
Public Overridable Property Name As String
Public Overridable Property LogoType As Uri
Public Overridable Property Category As String
Public Overridable Property Street1 As String
Public Overridable Property Street2 As String
Public Overridable Property ZipCode As String
Public Overridable Property City As String
Public Overridable Property CountryId As String
Public Overridable Property Longitude As String
Public Overridable Property Latitude As String
Public Overridable Property Phone As String
Public Overridable Property Email As String
Public Overridable Property HomePage As String
Public Overridable Property SitePath As String
Public Overridable Property IsFavorite As Boolean
Public Overridable Property PaymentProviderId As Nullable(Of Integer)
End Class
Public Partial Class BookedCustomer
Public Overridable Property Id As Guid
Public Overridable Property Firstname As String
Public Overridable Property Lastname As String
Public Overridable Property Email As String
Public Overridable Property Phone As String
Public Overridable Property FacebookUserName As String
Public Overridable Property ImageUrl As String
Public Overridable Property CorporateIdentityNumber As String
Public Overridable Property InvoiceAddress1 As String
Public Overridable Property InvoiceAddress2 As String
Public Overridable Property InvoiceCity As String
Public Overridable Property InvoicePostalCode As String
Public Overridable Property InvoiceCountryCode As String
End Class
Public Partial Class BookedQuantity
'''<Summary>
'''The quantity Id
'''</Summary>
<ApiMember(Description:="The quantity Id")>
Public Overridable Property Id As Integer
'''<Summary>
'''The quantity for booked on this price category
'''</Summary>
<ApiMember(Description:="The quantity for booked on this price category")>
Public Overridable Property Quantity As Integer
'''<Summary>
'''The price
'''</Summary>
<ApiMember(Description:="The price")>
Public Overridable Property Price As Nullable(Of Double)
'''<Summary>
'''The price bofore rebate codes
'''</Summary>
<ApiMember(Description:="The price bofore rebate codes")>
Public Overridable Property PriceBeforeRebate As Nullable(Of Double)
'''<Summary>
'''The price currency
'''</Summary>
<ApiMember(Description:="The price currency")>
Public Overridable Property CurrencyId As String
'''<Summary>
'''The price sign
'''</Summary>
<ApiMember(Description:="The price sign")>
Public Overridable Property PriceSign As String
'''<Summary>
'''The price category
'''</Summary>
<ApiMember(Description:="The price category")>
Public Overridable Property Category As String
'''<Summary>
'''The price VAT in percent
'''</Summary>
<ApiMember(Description:="The price VAT in percent")>
Public Overridable Property VAT As Nullable(Of Decimal)
'''<Summary>
'''The price text to display
'''</Summary>
<ApiMember(Description:="The price text to display")>
Public Overridable Property PriceText As String
'''<Summary>
'''If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.
'''</Summary>
<ApiMember(Description:="If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.")>
Public Overridable Property OccupiesSpot As Boolean
End Class
Public Partial Class BookedResource
Public Overridable Property Id As Integer
Public Overridable Property Name As String
Public Overridable Property Color As String
Public Overridable Property ImageUrl As Uri
Public Overridable Property Email As String
Public Overridable Property MobilePhone As String
Public Overridable Property AccessGroup As String
Public Overridable Property EmailNotification As Boolean
Public Overridable Property SMSNotification As Boolean
Public Overridable Property EmailReminder As Boolean
Public Overridable Property SMSReminder As Boolean
End Class
Public Partial Class BookedResourceType
Public Sub New()
Resources = New List(Of BookedResource)
End Sub
'''<Summary>
'''The resource type id
'''</Summary>
<ApiMember(Description:="The resource type id")>
Public Overridable Property Id As Integer
'''<Summary>
'''The resource type name
'''</Summary>
<ApiMember(Description:="The resource type name")>
Public Overridable Property Name As String
'''<Summary>
'''The resources inside resource type
'''</Summary>
<ApiMember(Description:="The resources inside resource type")>
Public Overridable Property Resources As List(Of BookedResource)
End Class
Public Partial Class BookingCalendarExportStatus
Public Overridable Property CalendarId As String
Public Overridable Property BookingId As Integer
Public Overridable Property Synced As Nullable(Of Boolean)
End Class
Public Partial Class BookingCheckoutQueryResponse
'''<Summary>
'''The checkout id
'''</Summary>
<ApiMember(Description:="The checkout id")>
Public Overridable Property Id As Guid
'''<Summary>
'''The booking id
'''</Summary>
<ApiMember(Description:="The booking id")>
Public Overridable Property BookingId As Integer
'''<Summary>
'''The purchase id
'''</Summary>
<ApiMember(Description:="The purchase id")>
Public Overridable Property PurchaseId As Nullable(Of Integer)
'''<Summary>
'''The payment checkout expiration datetime
'''</Summary>
<ApiMember(Description:="The payment checkout expiration datetime")>
Public Overridable Property ExpirationTime As Nullable(Of Date)
'''<Summary>
'''The payment snippet code
'''</Summary>
<ApiMember(Description:="The payment snippet code")>
Public Overridable Property Snippet As String
'''<Summary>
'''The payment status
'''</Summary>
<ApiMember(Description:="The payment status")>
Public Overridable Property Status As String
'''<Summary>
'''Log message
'''</Summary>
<ApiMember(Description:="Log message")>
Public Overridable Property Message As String
'''<Summary>
'''When the checkout log item was created
'''</Summary>
<ApiMember(Description:="When the checkout log item was created")>
Public Overridable Property Created As Date
'''<Summary>
'''When the checkout log item was updated
'''</Summary>
<ApiMember(Description:="When the checkout log item was updated")>
Public Overridable Property Updated As Date
End Class
Public Partial Class BookingLogEventTypeResponse
'''<Summary>
'''The event type id
'''</Summary>
<ApiMember(Description:="The event type id")>
Public Overridable Property Id As Integer
'''<Summary>
'''The event type name
'''</Summary>
<ApiMember(Description:="The event type name")>
Public Overridable Property Name As String
'''<Summary>
'''The event type description
'''</Summary>
<ApiMember(Description:="The event type description")>
Public Overridable Property Description As String
End Class
Public Partial Class BookingLogQueryResponse
'''<Summary>
'''The booking log id
'''</Summary>
<ApiMember(Description:="The booking log id")>
Public Overridable Property Id As Integer
'''<Summary>
'''The booking id
'''</Summary>
<ApiMember(Description:="The booking id")>
Public Overridable Property BookingId As Integer
'''<Summary>
'''The type of event
'''</Summary>
<ApiMember(Description:="The type of event")>
Public Overridable Property EventTypeId As Integer
'''<Summary>
'''The type of event
'''</Summary>
<ApiMember(Description:="The type of event")>
Public Overridable Property EventType As BookingLogEventTypeResponse
'''<Summary>
'''Comments that could be added to the event log item
'''</Summary>
<ApiMember(Description:="Comments that could be added to the event log item")>
Public Overridable Property Comments As String
'''<Summary>
'''The user created the event
'''</Summary>
<ApiMember(Description:="The user created the event")>
Public Overridable Property UserName As String
'''<Summary>
'''Then date when the event occured
'''</Summary>
<ApiMember(Description:="Then date when the event occured")>
Public Overridable Property Created As Date
End Class
Public Partial Class BookingPaymentLogQueryResponse
'''<Summary>
'''The booking payment log id
'''</Summary>
<ApiMember(Description:="The booking payment log id")>
Public Overridable Property Id As Integer
'''<Summary>
'''The booking id
'''</Summary>
<ApiMember(Description:="The booking id")>
Public Overridable Property BookingId As Integer
'''<Summary>
'''The payment reference id
'''</Summary>
<ApiMember(Description:="The payment reference id")>
Public Overridable Property PaymentReferenceId As String
'''<Summary>
'''The payment order item reference id
'''</Summary>
<ApiMember(Description:="The payment order item reference id")>
Public Overridable Property OrderItemReferenceId As String
'''<Summary>
'''The payment reference id
'''</Summary>
<ApiMember(Description:="The payment reference id")>
Public Overridable Property PaymentProviderId As Nullable(Of Integer)
'''<Summary>
'''The payment amount
'''</Summary>
<ApiMember(Description:="The payment amount")>
Public Overridable Property Amount As Double
'''<Summary>
'''The payment VAT in percent
'''</Summary>
<ApiMember(Description:="The payment VAT in percent")>
Public Overridable Property VAT As Decimal
'''<Summary>
'''The payment amount that is credited
'''</Summary>
<ApiMember(Description:="The payment amount that is credited")>
Public Overridable Property AmountCredited As Double
'''<Summary>
'''The payment currency id
'''</Summary>
<ApiMember(Description:="The payment currency id")>
Public Overridable Property CurrencyId As String
'''<Summary>
'''The payment currency info
'''</Summary>
<ApiMember(Description:="The payment currency info")>
Public Overridable Property CurrencyInfo As CurrencyInfoResponse
'''<Summary>
'''Comments that could be added to the event log item
'''</Summary>
<ApiMember(Description:="Comments that could be added to the event log item")>
Public Overridable Property Comments As String
'''<Summary>
'''The date when the payment items was created
'''</Summary>
<ApiMember(Description:="The date when the payment items was created")>
Public Overridable Property Created As Date
'''<Summary>
'''The date when the payment items was update
'''</Summary>
<ApiMember(Description:="The date when the payment items was update")>
Public Overridable Property Updated As Date
End Class
Public Partial Class BookingQueryResponse
Public Sub New()
CustomFields = New List(Of CustomFieldConfigData)
CustomFieldValues = New List(Of CustomFieldDataResponse)
BookedResourceTypes = New List(Of BookedResourceType)
Quantities = New List(Of BookedQuantity)
Log = New List(Of BookingLogQueryResponse)
PaymentLog = New List(Of BookingPaymentLogQueryResponse)
CheckoutLog = New List(Of BookingCheckoutQueryResponse)
ExternalReference = New List(Of ExternalReferenceResponse)
End Sub
Public Overridable Property Id As Integer
Public Overridable Property CompanyId As Guid
Public Overridable Property From As Date
Public Overridable Property To As Date
Public Overridable Property Status As BookingStatusEnum
Public Overridable Property StatusId As Integer
Public Overridable Property StatusName As String
Public Overridable Property StatusInfo As BookingStatusQueryResponse
Public Overridable Property SendEmailReminder As Boolean
Public Overridable Property SendSmsReminder As Boolean
Public Overridable Property SendSmsConfirmation As Boolean
Public Overridable Property SendEmailConfirmation As Boolean
Public Overridable Property LastTimeToUnBook As Nullable(Of Date)
Public Overridable Property CustomFields As List(Of CustomFieldConfigData)
Public Overridable Property CustomFieldValues As List(Of CustomFieldDataResponse)
Public Overridable Property BookedResourceTypes As List(Of BookedResourceType)
Public Overridable Property Company As BookedCompany
Public Overridable Property Customer As BookedCustomer
Public Overridable Property Quantities As List(Of BookedQuantity)
Public Overridable Property Service As ServiceInfoResponse
Public Overridable Property PaymentExpiration As Nullable(Of Date)
Public Overridable Property Log As List(Of BookingLogQueryResponse)
Public Overridable Property PaymentLog As List(Of BookingPaymentLogQueryResponse)
Public Overridable Property CheckoutLog As List(Of BookingCheckoutQueryResponse)
Public Overridable Property ExternalReference As List(Of ExternalReferenceResponse)
Public Overridable Property ResponseStatus As ResponseStatus
Public Overridable Property CalendarExportStatus As BookingCalendarExportStatus
Public Overridable Property LengthInMinutes As Nullable(Of Integer)
Public Overridable Property BookedBy As String
Public Overridable Property BookedComments As String
Public Overridable Property UnbookedComments As String
Public Overridable Property CommentsToCustomer As String
Public Overridable Property CreatedDate As Date
Public Overridable Property UpdatedDate As Date
Public Overridable Property UnbookedOn As Nullable(Of Date)
Public Overridable Property CancellationCode As String
Public Overridable Property RatingCode As String
End Class
Public Partial Class BookingStatusQueryResponse
Public Overridable Property Id As Integer
Public Overridable Property Name As String
Public Overridable Property Description As String
Public Overridable Property Icon As String
Public Overridable Property Color As String
End Class
<ApiResponse(Description:="You were unauthorized to call this service", StatusCode:=401)>
<ApiResponse(Description:="You have too low privilegies to call this service", StatusCode:=403)>
<ValidateRequest(Validator:="IsAuthenticated")>
Public Partial Class ChangeResourceOnBooking
Implements ICompany
'''<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>
'''Id of the booking
'''</Summary>
<ApiMember(Description:="Id of the booking", IsRequired:=true, ParameterType:="path")>
Public Overridable Property Id As Nullable(Of Integer)
'''<Summary>
'''The resource type id
'''</Summary>
<ApiMember(Description:="The resource type id")>
Public Overridable Property ResourceTypeId As Integer
'''<Summary>
'''The resource id you want to replace
'''</Summary>
<ApiMember(Description:="The resource id you want to replace")>
Public Overridable Property ResourceId As Integer
'''<Summary>
'''The resource id to be replaced with
'''</Summary>
<ApiMember(Description:="The resource id to be replaced with")>
Public Overridable Property NewResourceId As Integer
End Class
Public Partial Class CurrencyInfoResponse
'''<Summary>
'''The currency id
'''</Summary>
<ApiMember(Description:="The currency id")>
Public Overridable Property Id As String
'''<Summary>
'''The currency id
'''</Summary>
<ApiMember(Description:="The currency id")>
Public Overridable Property Name As String
'''<Summary>
'''The currency id
'''</Summary>
<ApiMember(Description:="The currency id")>
Public Overridable Property CurrencySign As String
End Class
Public Partial Class CustomFieldConfigData
Public Sub New()
Values = New List(Of CustomFieldValueResponse)
End Sub
'''<Summary>
'''Custom field id
'''</Summary>
<ApiMember(Description:="Custom field id")>
Public Overridable Property Id As Integer
'''<Summary>
'''Configuration name. Example: 'Number of persons'.
'''</Summary>
<ApiMember(Description:="Configuration name. Example: 'Number of persons'.")>
Public Overridable Property Name As String
'''<Summary>
'''Custom field description. Example: 'For how many persons is this booking?'
'''</Summary>
<ApiMember(Description:="Custom field description. Example: 'For how many persons is this booking?'")>
Public Overridable Property Description As String
'''<Summary>
'''Field width. Example: 20 for 20px
'''</Summary>
<ApiMember(Description:="Field width. Example: 20 for 20px")>
Public Overridable Property Width As Nullable(Of Integer)
'''<Summary>
'''Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'
'''</Summary>
<ApiMember(Description:="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'")>
Public Overridable Property DataType As String
'''<Summary>
'''Default value of the field. Example: '3'
'''</Summary>
<ApiMember(Description:="Default value of the field. Example: '3'")>
Public Overridable Property DefaultValue As String
'''<Summary>
'''Determines if the field is required to have a value or not
'''</Summary>
<ApiMember(Description:="Determines if the field is required to have a value or not")>
Public Overridable Property IsMandatory As Boolean
'''<Summary>
'''Error message shown to the user if the field data is required but not entered
'''</Summary>
<ApiMember(Description:="Error message shown to the user if the field data is required but not entered")>
Public Overridable Property MandatoryErrorMessage As String
'''<Summary>
'''Max lenght of the field
'''</Summary>
<ApiMember(Description:="Max lenght of the field")>
Public Overridable Property MaxLength As Integer
'''<Summary>
'''If the field should have multiple lines
'''</Summary>
<ApiMember(Description:="If the field should have multiple lines")>
Public Overridable Property MultipleLineText As Boolean
'''<Summary>
'''Regular expression used for validation of the field
'''</Summary>
<ApiMember(Description:="Regular expression used for validation of the field")>
Public Overridable Property RegEx As String
'''<Summary>
'''Error message shown if the regular expression validation failed
'''</Summary>
<ApiMember(Description:="Error message shown if the regular expression validation failed")>
Public Overridable Property RegExErrorMessage As String
'''<Summary>
'''The values to select from if Datatype is DropDown for this custom field
'''</Summary>
<ApiMember(Description:="The values to select from if Datatype is DropDown for this custom field")>
Public Overridable Property Values As List(Of CustomFieldValueResponse)
End Class
Public Partial Class CustomFieldDataResponse
Public Overridable Property Id As Integer
Public Overridable Property Column As String
Public Overridable Property Name As String
Public Overridable Property Description As String
Public Overridable Property Value As String
'''<Summary>
'''Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'
'''</Summary>
<ApiMember(Description:="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'")>
Public Overridable Property DataType As String
End Class
Public Partial Class CustomFieldValueResponse
Public Overridable Property Value As String
End Class
Public Partial Class ExternalReferenceResponse
Public Overridable Property CompanyId As Guid
Public Overridable Property Id As Guid
Public Overridable Property OwnerId As Guid
Public Overridable Property ReferenceType As String
Public Overridable Property ExternalData As String
Public Overridable Property CreatedBy As String
Public Overridable Property Updated As Date
Public Overridable Property Created As Date
End Class
Public Partial Class GroupBookingSettings
Public Overridable Property Active As Boolean
Public Overridable Property Min As Integer
Public Overridable Property Max As Integer
End Class
Public Partial Class MultipleResourceSettings
Public Overridable Property Active As Boolean
Public Overridable Property Min As Integer
Public Overridable Property Max As Integer
End Class
Public Partial Class ServiceInfoResponse
Public Overridable Property Id As Integer
Public Overridable Property Name As String
Public Overridable Property Description As String
Public Overridable Property ImageUrl As Uri
Public Overridable Property LengthInMinutes As Nullable(Of Integer)
Public Overridable Property MaxNumberOfSpotsPerBooking As Integer
Public Overridable Property MinNumberOfSpotsPerBooking As Integer
Public Overridable Property GroupBooking As GroupBookingSettings
Public Overridable Property MultipleResource As MultipleResourceSettings
Public Overridable Property IsGroupBooking As Boolean
Public Overridable Property IsPaymentEnabled As Boolean
End Class
End Namespace
Namespace BokaMera.API.ServiceModel.Enums
Public Enum BookingStatusEnum
Booked = 1
Unbooked = 2
Reserved = 3
Canceled = 4
AwaitingPayment = 5
AwaitingPaymentNoTimeLimit = 6
Payed = 7
AwaitingPaymentRequestFromAdmin = 8
AwaitingPaymentFromProvider = 9
Invoiced = 10
End Enum
End Namespace
End Namespace
VB.NET ChangeResourceOnBooking DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /bookings/{Id}/resource HTTP/1.1
Host: api.bokamera.se
Accept: application/json
Content-Type: application/json
Content-Length: length
{"CompanyId":"00000000-0000-0000-0000-000000000000","Id":0,"ResourceTypeId":0,"ResourceId":0,"NewResourceId":0}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"Id":0,"Status":"Booked","StatusId":0,"StatusName":"String","StatusInfo":{"Id":0,"Name":"String","Description":"String","Icon":"String","Color":"String"},"SendEmailReminder":false,"SendSmsReminder":false,"SendSmsConfirmation":false,"SendEmailConfirmation":false,"LastTimeToUnBook":"0001-01-01T00:00:00","CustomFields":[{"Id":0,"Name":"String","Description":"String","Width":0,"DataType":"String","DefaultValue":"String","IsMandatory":false,"MandatoryErrorMessage":"String","MaxLength":0,"MultipleLineText":false,"RegEx":"String","RegExErrorMessage":"String","Values":[{"Value":"String"}]}],"CustomFieldValues":[{"Id":0,"Column":"String","Name":"String","Description":"String","Value":"String","DataType":"String"}],"BookedResourceTypes":[{"Id":0,"Name":"String","Resources":[{"Id":0,"Name":"String","Color":"String","Email":"String","MobilePhone":"String","AccessGroup":"String","EmailNotification":false,"SMSNotification":false,"EmailReminder":false,"SMSReminder":false}]}],"Company":{"Name":"String","Category":"String","Street1":"String","Street2":"String","ZipCode":"String","City":"String","CountryId":"String","Longitude":"String","Latitude":"String","Phone":"String","Email":"String","HomePage":"String","SitePath":"String","IsFavorite":false,"PaymentProviderId":0},"Customer":{"Firstname":"String","Lastname":"String","Email":"String","Phone":"String","FacebookUserName":"String","ImageUrl":"String","CorporateIdentityNumber":"String","InvoiceAddress1":"String","InvoiceAddress2":"String","InvoiceCity":"String","InvoicePostalCode":"String","InvoiceCountryCode":"String"},"Quantities":[{"Id":0,"Quantity":0,"Price":0,"PriceBeforeRebate":0,"CurrencyId":"String","PriceSign":"String","Category":"String","VAT":0,"PriceText":"String","OccupiesSpot":false}],"Service":{"Id":0,"Name":"String","Description":"String","LengthInMinutes":0,"MaxNumberOfSpotsPerBooking":0,"MinNumberOfSpotsPerBooking":0,"GroupBooking":{"Active":false,"Min":0,"Max":0},"MultipleResource":{"Active":false,"Min":0,"Max":0},"IsGroupBooking":false,"IsPaymentEnabled":false},"PaymentExpiration":"0001-01-01T00:00:00","Log":[{"Id":0,"BookingId":0,"EventTypeId":0,"EventType":{"Id":0,"Name":"String","Description":"String"},"Comments":"String","UserName":"String"}],"PaymentLog":[{"Id":0,"BookingId":0,"PaymentReferenceId":"String","OrderItemReferenceId":"String","PaymentProviderId":0,"Amount":0,"VAT":0,"AmountCredited":0,"CurrencyId":"String","CurrencyInfo":{"Id":"String","Name":"String","CurrencySign":"String"},"Comments":"String"}],"CheckoutLog":[{"BookingId":0,"PurchaseId":0,"ExpirationTime":"0001-01-01T00:00:00","Snippet":"String","Status":"String","Message":"String"}],"ExternalReference":[{"ReferenceType":"String","ExternalData":"String","CreatedBy":"String"}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"CalendarExportStatus":{"CalendarId":"String","BookingId":0,"Synced":false},"LengthInMinutes":0,"BookedBy":"String","BookedComments":"String","UnbookedComments":"String","CommentsToCustomer":"String","UnbookedOn":"0001-01-01T00:00:00","CancellationCode":"String","RatingCode":"String"}