/* Options: Date: 2024-11-23 08:59:51 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: AddResourceToBooking.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/bookings/{Id}/resource", Verbs="POST") @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") open class AddResourceToBooking : IReturn, ICompany { /** * The company id, if empty will use the company id for the user you are logged in with. */ @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.") var CompanyId:UUID? = null /** * Id of the booking */ @ApiMember(Description="Id of the booking", IsRequired=true, ParameterType="path") var Id:Int? = null /** * The resource type id */ @ApiMember(Description="The resource type id") var ResourceTypeId:Int? = null /** * The resource id */ @ApiMember(Description="The resource id") var ResourceId:Int? = null companion object { private val responseType = BookingQueryResponse::class.java } override fun getResponseType(): Any? = AddResourceToBooking.responseType } open class BookingQueryResponse { var Id:Int? = null var CompanyId:UUID? = null var From:Date? = null var To:Date? = null var Status:BookingStatusEnum? = null var StatusId:Int? = null var StatusName:String? = null var StatusInfo:BookingStatusQueryResponse? = null var SendEmailReminder:Boolean? = null var SendSmsReminder:Boolean? = null var SendSmsConfirmation:Boolean? = null var SendEmailConfirmation:Boolean? = null var LastTimeToUnBook:Date? = null var CustomFields:ArrayList = ArrayList() var CustomFieldValues:ArrayList = ArrayList() var BookedResourceTypes:ArrayList = ArrayList() var Company:BookedCompany? = null var Customer:BookedCustomer? = null var Quantities:ArrayList = ArrayList() var Service:ServiceInfoResponse? = null var PaymentExpiration:Date? = null var Log:ArrayList = ArrayList() var PaymentLog:ArrayList = ArrayList() var CheckoutLog:ArrayList = ArrayList() var ExternalReference:ArrayList = ArrayList() var ResponseStatus:ResponseStatus? = null var CalendarExportStatus:BookingCalendarExportStatus? = null var LengthInMinutes:Int? = null var BookedBy:String? = null var BookedComments:String? = null var UnbookedComments:String? = null var CommentsToCustomer:String? = null var CreatedDate:Date? = null var UpdatedDate:Date? = null var UnbookedOn:Date? = null var CancellationCode:String? = null var RatingCode:String? = null } open interface ICompany { var CompanyId:UUID? } open class BookingStatusQueryResponse { var Id:Int? = null var Name:String? = null var Description:String? = null var Icon:String? = null var Color:String? = null } enum class BookingStatusEnum(val value:Int) { Booked(1), Unbooked(2), Reserved(3), Canceled(4), AwaitingPayment(5), AwaitingPaymentNoTimeLimit(6), Payed(7), AwaitingPaymentRequestFromAdmin(8), AwaitingPaymentFromProvider(9), Invoiced(10), } open class GroupBookingSettings { var Active:Boolean? = null var Min:Int? = null var Max:Int? = null } open class MultipleResourceSettings { var Active:Boolean? = null var Min:Int? = null var Max:Int? = null } open class ServiceInfoResponse { var Id:Int? = null var Name:String? = null var Description:String? = null var ImageUrl:Uri? = null var LengthInMinutes:Int? = null var MaxNumberOfSpotsPerBooking:Int? = null var MinNumberOfSpotsPerBooking:Int? = null var GroupBooking:GroupBookingSettings? = null var MultipleResource:MultipleResourceSettings? = null var IsGroupBooking:Boolean? = null var IsPaymentEnabled:Boolean? = null } open class CustomFieldConfigData { /** * Custom field id */ @ApiMember(Description="Custom field id") var Id:Int? = null /** * Configuration name. Example: 'Number of persons'. */ @ApiMember(Description="Configuration name. Example: 'Number of persons'.") var Name:String? = null /** * Custom field description. Example: 'For how many persons is this booking?' */ @ApiMember(Description="Custom field description. Example: 'For how many persons is this booking?'") var Description:String? = null /** * Field width. Example: 20 for 20px */ @ApiMember(Description="Field width. Example: 20 for 20px") var Width:Int? = null /** * Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox' */ @ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'") var DataType:String? = null /** * Default value of the field. Example: '3' */ @ApiMember(Description="Default value of the field. Example: '3'") var DefaultValue:String? = null /** * Determines if the field is required to have a value or not */ @ApiMember(Description="Determines if the field is required to have a value or not") var IsMandatory:Boolean? = null /** * Error message shown to the user if the field data is required but not entered */ @ApiMember(Description="Error message shown to the user if the field data is required but not entered") var MandatoryErrorMessage:String? = null /** * Max lenght of the field */ @ApiMember(Description="Max lenght of the field") var MaxLength:Int? = null /** * If the field should have multiple lines */ @ApiMember(Description="If the field should have multiple lines") var MultipleLineText:Boolean? = null /** * Regular expression used for validation of the field */ @ApiMember(Description="Regular expression used for validation of the field") var RegEx:String? = null /** * Error message shown if the regular expression validation failed */ @ApiMember(Description="Error message shown if the regular expression validation failed") var RegExErrorMessage:String? = null /** * The values to select from if Datatype is DropDown for this custom field */ @ApiMember(Description="The values to select from if Datatype is DropDown for this custom field") var Values:ArrayList = ArrayList() } open class CustomFieldDataResponse { var Id:Int? = null var Column:String? = null var Name:String? = null var Description:String? = null var Value:String? = null /** * Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox' */ @ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'") var DataType:String? = null } open class BookedResourceType { /** * The resource type id */ @ApiMember(Description="The resource type id") var Id:Int? = null /** * The resource type name */ @ApiMember(Description="The resource type name") var Name:String? = null /** * The resources inside resource type */ @ApiMember(Description="The resources inside resource type") var Resources:ArrayList = ArrayList() } open class BookedCompany { var Id:UUID? = null var Name:String? = null var LogoType:Uri? = null var Category:String? = null var Street1:String? = null var Street2:String? = null var ZipCode:String? = null var City:String? = null var CountryId:String? = null var Longitude:String? = null var Latitude:String? = null var Phone:String? = null var Email:String? = null var HomePage:String? = null var SitePath:String? = null var IsFavorite:Boolean? = null var PaymentProviderId:Int? = null } open class BookedCustomer { var Id:UUID? = null var Firstname:String? = null var Lastname:String? = null var Email:String? = null var Phone:String? = null var FacebookUserName:String? = null var ImageUrl:String? = null var CorporateIdentityNumber:String? = null var InvoiceAddress1:String? = null var InvoiceAddress2:String? = null var InvoiceCity:String? = null var InvoicePostalCode:String? = null var InvoiceCountryCode:String? = null } open class BookingPaymentLogQueryResponse { /** * The booking payment log id */ @ApiMember(Description="The booking payment log id") var Id:Int? = null /** * The booking id */ @ApiMember(Description="The booking id") var BookingId:Int? = null /** * The payment reference id */ @ApiMember(Description="The payment reference id") var PaymentReferenceId:String? = null /** * The payment order item reference id */ @ApiMember(Description="The payment order item reference id") var OrderItemReferenceId:String? = null /** * The payment reference id */ @ApiMember(Description="The payment reference id") var PaymentProviderId:Int? = null /** * The payment amount */ @ApiMember(Description="The payment amount") var Amount:Double? = null /** * The payment VAT in percent */ @ApiMember(Description="The payment VAT in percent") var VAT:BigDecimal? = null /** * The payment amount that is credited */ @ApiMember(Description="The payment amount that is credited") var AmountCredited:Double? = null /** * The payment currency id */ @ApiMember(Description="The payment currency id") var CurrencyId:String? = null /** * The payment currency info */ @ApiMember(Description="The payment currency info") var CurrencyInfo:CurrencyInfoResponse? = null /** * Comments that could be added to the event log item */ @ApiMember(Description="Comments that could be added to the event log item") var Comments:String? = null /** * The date when the payment items was created */ @ApiMember(Description="The date when the payment items was created") var Created:Date? = null /** * The date when the payment items was update */ @ApiMember(Description="The date when the payment items was update") var Updated:Date? = null } open class BookingCheckoutQueryResponse { /** * The checkout id */ @ApiMember(Description="The checkout id") var Id:UUID? = null /** * The booking id */ @ApiMember(Description="The booking id") var BookingId:Int? = null /** * The purchase id */ @ApiMember(Description="The purchase id") var PurchaseId:Int? = null /** * The payment checkout expiration datetime */ @ApiMember(Description="The payment checkout expiration datetime") var ExpirationTime:Date? = null /** * The payment snippet code */ @ApiMember(Description="The payment snippet code") var Snippet:String? = null /** * The payment status */ @ApiMember(Description="The payment status") var Status:String? = null /** * Log message */ @ApiMember(Description="Log message") var Message:String? = null /** * When the checkout log item was created */ @ApiMember(Description="When the checkout log item was created") var Created:Date? = null /** * When the checkout log item was updated */ @ApiMember(Description="When the checkout log item was updated") var Updated:Date? = null } open class ExternalReferenceResponse { var CompanyId:UUID? = null var Id:UUID? = null var OwnerId:UUID? = null var ReferenceType:String? = null var ExternalData:String? = null var CreatedBy:String? = null var Updated:Date? = null var Created:Date? = null } open class BookingCalendarExportStatus { var CalendarId:String? = null var BookingId:Int? = null var Synced:Boolean? = null } open class CurrencyInfoResponse { /** * The currency id */ @ApiMember(Description="The currency id") var Id:String? = null /** * The currency id */ @ApiMember(Description="The currency id") var Name:String? = null /** * The currency id */ @ApiMember(Description="The currency id") var CurrencySign:String? = null } open class CustomFieldValueResponse { var Value:String? = null } open class BookedResource { var Id:Int? = null var Name:String? = null var Color:String? = null var ImageUrl:Uri? = null var Email:String? = null var MobilePhone:String? = null var AccessGroup:String? = null var EmailNotification:Boolean? = null var SMSNotification:Boolean? = null var EmailReminder:Boolean? = null var SMSReminder:Boolean? = null } open class BookingLogQueryResponse { /** * The booking log id */ @ApiMember(Description="The booking log id") var Id:Int? = null /** * The booking id */ @ApiMember(Description="The booking id") var BookingId:Int? = null /** * The type of event */ @ApiMember(Description="The type of event") var EventTypeId:Int? = null /** * The type of event */ @ApiMember(Description="The type of event") var EventType:BookingLogEventTypeResponse? = null /** * Comments that could be added to the event log item */ @ApiMember(Description="Comments that could be added to the event log item") var Comments:String? = null /** * The user created the event */ @ApiMember(Description="The user created the event") var UserName:String? = null /** * Then date when the event occured */ @ApiMember(Description="Then date when the event occured") var Created:Date? = null } open class BookedQuantity { /** * The quantity Id */ @ApiMember(Description="The quantity Id") var Id:Int? = null /** * The quantity for booked on this price category */ @ApiMember(Description="The quantity for booked on this price category") var Quantity:Int? = null /** * The price */ @ApiMember(Description="The price") var Price:Double? = null /** * The price bofore rebate codes */ @ApiMember(Description="The price bofore rebate codes") var PriceBeforeRebate:Double? = null /** * The price currency */ @ApiMember(Description="The price currency") var CurrencyId:String? = null /** * The price sign */ @ApiMember(Description="The price sign") var PriceSign:String? = null /** * The price category */ @ApiMember(Description="The price category") var Category:String? = null /** * The price VAT in percent */ @ApiMember(Description="The price VAT in percent") var VAT:BigDecimal? = null /** * The price text to display */ @ApiMember(Description="The price text to display") var PriceText:String? = null /** * If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information. */ @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.") var OccupiesSpot:Boolean? = null }