POST | /bookings | Create a new booking | Create a new booking if you are authorized to do so. |
---|
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 AddCustomField
Public Overridable Property Id As Integer
Public Overridable Property Value As String
End Class
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)>
Public Partial Class CreateBooking
Inherits CreateBookingBase
Implements IInterval
Public Sub New()
Quantities = New QuantityToBook(){}
End Sub
'''<Summary>
'''The datetime you want to start the booking.
'''</Summary>
<ApiMember(Description:="The datetime you want to start the booking.", IsRequired:=true)>
Public Overridable Property From As Date
'''<Summary>
'''The datetime you want to end the booking.
'''</Summary>
<ApiMember(Description:="The datetime you want to end the booking.", IsRequired:=true)>
Public Overridable Property To As Date
'''<Summary>
'''Set the number of spots you want to book. You add number of spots per price category. Multiple spots require that the service has GroupBooking enabled. Default is one spot.
'''</Summary>
<ApiMember(Description:="Set the number of spots you want to book. You add number of spots per price category. Multiple spots require that the service has GroupBooking enabled. Default is one spot.")>
Public Overridable Property Quantities As QuantityToBook()
End Class
Public Partial Class CreateBookingBase
Public Sub New()
Resources = New List(Of ResourceToBook)
RebateCodeIds = New List(Of Integer)
CustomFields = New List(Of AddCustomField)
CustomerCustomFields = New List(Of AddCustomField)
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>
'''If you want to book on an existing customer instead of CustomerToBook info set the CustomerId here. Set Empty Guid (00000000-0000-0000-0000-000000000000) if you want to book without any customer, this is only allowed by admin. The customer id is shown in the customer list named as id. When booking as customer (no admin) leave this field blank.
'''</Summary>
<ApiMember(Description:="If you want to book on an existing customer instead of CustomerToBook info set the CustomerId here. Set Empty Guid (00000000-0000-0000-0000-000000000000) if you want to book without any customer, this is only allowed by admin. The customer id is shown in the customer list named as id. When booking as customer (no admin) leave this field blank.")>
Public Overridable Property CustomerId As Nullable(Of Guid)
'''<Summary>
'''If company requires to be authenticated or a pin code entered to book on a specific customer, enter it here.
'''</Summary>
<ApiMember(Description:="If company requires to be authenticated or a pin code entered to book on a specific customer, enter it here.")>
Public Overridable Property PinCode As String
'''<Summary>
'''If you want to book with customer information instead of the Customer Id send the customer information here. Note: If customer profile already exists with the same email the information will not be changed, instead the provided information will be added as BookingsComments if it differs from the ordinairy profile.
'''</Summary>
<ApiMember(Description:="If you want to book with customer information instead of the Customer Id send the customer information here. Note: If customer profile already exists with the same email the information will not be changed, instead the provided information will be added as BookingsComments if it differs from the ordinairy profile. ")>
Public Overridable Property Customer As CustomerToHandle
'''<Summary>
'''The service to be booked
'''</Summary>
<ApiMember(Description:="The service to be booked", IsRequired:=true)>
Public Overridable Property ServiceId As Integer
'''<Summary>
'''If you want to add comments to a booking you can add them here, this comments are never shared with the customer
'''</Summary>
<ApiMember(Description:="If you want to add comments to a booking you can add them here, this comments are never shared with the customer")>
Public Overridable Property BookedComments As String
'''<Summary>
'''If you want to add comments to the booking that is sent to the customer, you can add them here. Comments will be sent in the booking confirmation
'''</Summary>
<ApiMember(Description:="If you want to add comments to the booking that is sent to the customer, you can add them here. Comments will be sent in the booking confirmation")>
Public Overridable Property CommentsToCustomer As String
Public Overridable Property Resources As List(Of ResourceToBook)
'''<Summary>
'''Rebate codes applied to booking
'''</Summary>
<ApiMember(Description:="Rebate codes applied to booking")>
Public Overridable Property RebateCodeIds As List(Of Integer)
'''<Summary>
'''If you want to send Email reminder
'''</Summary>
<ApiMember(Description:="If you want to send Email reminder")>
Public Overridable Property SendEmailReminder As Nullable(Of Boolean)
'''<Summary>
'''If you want to send SMS reminder
'''</Summary>
<ApiMember(Description:="If you want to send SMS reminder")>
Public Overridable Property SendSmsReminder As Nullable(Of Boolean)
'''<Summary>
'''If you want to send SMS confirmation
'''</Summary>
<ApiMember(Description:="If you want to send SMS confirmation")>
Public Overridable Property SendSmsConfirmation As Nullable(Of Boolean)
'''<Summary>
'''Only admins are allowed to not send an email confirmation. Default is true
'''</Summary>
<ApiMember(Description:="Only admins are allowed to not send an email confirmation. Default is true")>
Public Overridable Property SendEmailConfirmation As Nullable(Of Boolean)
'''<Summary>
'''If payment is enabled and you're an administrator, optional to choose payment option, if empty then the default settings will be used. Following payment options exists. DefaultSetting = 0, BookWithoutPayment = 1 (will be direcyly booked without payment), BookWithPaymentMessageToCustomer = 2 (will set status AwaitingPayment and send payment instructions to customer), BookWithManualPayment = 3 (Will set status AwaitingPaymentNoTimeLimit and Admin will need to manually mark the booking as payed when recieved payment).
'''</Summary>
<ApiMember(Description:="If payment is enabled and you're an administrator, optional to choose payment option, if empty then the default settings will be used. Following payment options exists. DefaultSetting = 0, BookWithoutPayment = 1 (will be direcyly booked without payment), BookWithPaymentMessageToCustomer = 2 (will set status AwaitingPayment and send payment instructions to customer), BookWithManualPayment = 3 (Will set status AwaitingPaymentNoTimeLimit and Admin will need to manually mark the booking as payed when recieved payment).")>
Public Overridable Property PaymentOption As PaymentOptions
'''<Summary>
'''If Custom Fields are added to the booking, here you will send the id and the value for each custom field to be saved
'''</Summary>
<ApiMember(Description:="If Custom Fields are added to the booking, here you will send the id and the value for each custom field to be saved")>
Public Overridable Property CustomFields As List(Of AddCustomField)
'''<Summary>
'''If Custom Fields are added to the customer, here you will send the id and the value for each custom field to be updated
'''</Summary>
<ApiMember(Description:="If Custom Fields are added to the customer, here you will send the id and the value for each custom field to be updated")>
Public Overridable Property CustomerCustomFields As List(Of AddCustomField)
'''<Summary>
'''If want to allow to book outside the service schedules. This means you can book a time after the schedule opening hours as long as the resource are available. This is only allowed by administrators
'''</Summary>
<ApiMember(Description:="If want to allow to book outside the service schedules. This means you can book a time after the schedule opening hours as long as the resource are available. This is only allowed by administrators")>
Public Overridable Property AllowBookingOutsideSchedules As Boolean
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 CustomerToHandle
Public Overridable Property CustomerId As Nullable(Of 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 SubscribedToNewsletter As Boolean
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 QuantityToBook
'''<Summary>
'''If service has a price, enter the price id for that price. If no price exists for the service set 0 as PriceId. If you put 0 and a price exists, it will use that price (only works if just one price exists for the current selected date to book)
'''</Summary>
<ApiMember(Description:="If service has a price, enter the price id for that price. If no price exists for the service set 0 as PriceId. If you put 0 and a price exists, it will use that price (only works if just one price exists for the current selected date to book)", IsRequired:=true)>
Public Overridable Property PriceId As Integer
'''<Summary>
'''Set the number of spots or resources you want to book on the specific price category
'''</Summary>
<ApiMember(Description:="Set the number of spots or resources you want to book on the specific price category", IsRequired:=true)>
Public Overridable Property Quantity As Integer
'''<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 ResourceToBook
Public Overridable Property ResourceTypeId As Integer
Public Overridable Property ResourceId 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
Public Enum PaymentOptions
DefaultSetting
BookWithoutPayment
BookWithPaymentMessageToCustomer
BookWithManualPayment
End Enum
End Namespace
End Namespace
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.
POST /bookings HTTP/1.1
Host: api.bokamera.se
Accept: application/json
Content-Type: application/json
Content-Length: length
{"Quantities":[{"PriceId":0,"Quantity":0,"OccupiesSpot":false}],"CompanyId":"00000000-0000-0000-0000-000000000000","CustomerId":"00000000-0000-0000-0000-000000000000","PinCode":"String","Customer":{"CustomerId":"00000000-0000-0000-0000-000000000000","Firstname":"String","Lastname":"String","Email":"String","Phone":"String","SubscribedToNewsletter":false},"ServiceId":0,"BookedComments":"String","CommentsToCustomer":"String","Resources":[{"ResourceTypeId":0,"ResourceId":0}],"RebateCodeIds":[0],"SendEmailReminder":false,"SendSmsReminder":false,"SendSmsConfirmation":false,"SendEmailConfirmation":false,"PaymentOption":"DefaultSetting","CustomFields":[{"Id":0,"Value":"String"}],"CustomerCustomFields":[{"Id":0,"Value":"String"}],"AllowBookingOutsideSchedules":false}
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"}