/* Options: Date: 2024-07-03 13:27:39 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: True //ExportValueTypes: False IncludeTypes: CreateResourceTimeException.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using ServiceStack; using ServiceStack.DataAnnotations; using System.Globalization; using System.IO; using BokaMera.API.ServiceModel.Interfaces; using BokaMera.API.ServiceModel.Enums; using BokaMera.API.ServiceModel.Dtos; namespace BokaMera.API.ServiceModel.Dtos { [Route("/timeexceptions", "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)] [ApiResponse(Description="Bookings exists that needs to be unbooked before creating this time exceptions, use the /timeexceptions/collidingevents to find which bookings and use the booking service to unbook them", StatusCode=409)] [ValidateRequest("IsAuthenticated")] public partial class CreateResourceTimeException : IReturn, ICompany { public CreateResourceTimeException() { ResourceIds = new int[]{}; DaysOfWeek = new int[]{}; } /// ///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.")] public virtual Guid? CompanyId { get; set; } /// ///Time exception starting datestamp, only the date of day part is used of this value /// [ApiMember(Description="Time exception starting datestamp, only the date of day part is used of this value", IsRequired=true)] public virtual DateTime From { get; set; } /// ///Time exception ending datestamp, only the date of day part is used of this value /// [ApiMember(Description="Time exception ending datestamp, only the date of day part is used of this value", IsRequired=true)] public virtual DateTime To { get; set; } /// ///Resource id of the resource that owns this exception /// [ApiMember(Description="Resource id of the resource that owns this exception", IsRequired=true)] public virtual int[] ResourceIds { get; set; } /// ///This value indicates the time of day when the time exception begins. Example: 10:00. If Recurring this will be the startime for each recurring day. /// [ApiMember(Description="This value indicates the time of day when the time exception begins. Example: 10:00. If Recurring this will be the startime for each recurring day.")] public virtual TimeSpan FromTime { get; set; } /// ///This value indicates the time of day when the time exception ends. Example: 12:00. If Recurring this will be the endtime for each recurring day. /// [ApiMember(Description="This value indicates the time of day when the time exception ends. Example: 12:00. If Recurring this will be the endtime for each recurring day.")] public virtual TimeSpan ToTime { get; set; } /// ///A comma separated list of which days this day exception belongs to, 1 = Monday .. 7 = Sunday /// [ApiMember(Description="A comma separated list of which days this day exception belongs to, 1 = Monday .. 7 = Sunday")] public virtual int[] DaysOfWeek { get; set; } /// ///The reason of the time exception, example: Vacation, doctors appointment, ... /// [ApiMember(Description="The reason of the time exception, example: Vacation, doctors appointment, ...", IsRequired=true)] public virtual string ReasonText { get; set; } /// ///The reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ... /// [ApiMember(Description="The reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ...")] public virtual string ReasonTextPublic { get; set; } /// ///What hexadecimal color code the exception should have in the scheduler /// [ApiMember(Description="What hexadecimal color code the exception should have in the scheduler")] public virtual string Color { get; set; } /// ///If the time exception should block the time in the scheduler so it's not avaialable to book /// [ApiMember(Description="If the time exception should block the time in the scheduler so it's not avaialable to book")] public virtual bool BlockTime { get; set; } /// ///If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it /// [ApiMember(Description="If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it")] public virtual bool Private { get; set; } /// ///By default sets to 1, which is to add time exception without canceling colliding bookings /// [ApiMember(Description="By default sets to 1, which is to add time exception without canceling colliding bookings")] public virtual CollidingBookingOptions CollidingBookingOptions { get; set; } /// ///If this equals true it will it add the time exception with the option you have selected in CollidingBookingOption. Default is to cancel all colliding bookings. /// [ApiMember(Description="If this equals true it will it add the time exception with the option you have selected in CollidingBookingOption. Default is to cancel all colliding bookings.")] public virtual bool Force { get; set; } /// ///When Force=true and colliding bookings exsists, this message is the message that are sent to the users when canceling their bookings. /// [ApiMember(Description="When Force=true and colliding bookings exsists, this message is the message that are sent to the users when canceling their bookings.")] public virtual string CancelMessage { get; set; } /// ///When Force=true and colliding bookings exsists, send cancelmessage as SMS Confirmation /// [ApiMember(Description="When Force=true and colliding bookings exsists, send cancelmessage as SMS Confirmation")] public virtual bool? SendSmsConfirmation { get; set; } /// ///When Force=true and colliding bookings exsists, send cancelmessage as Email Confirmation /// [ApiMember(Description="When Force=true and colliding bookings exsists, send cancelmessage as Email Confirmation")] public virtual bool? SendEmailConfirmation { get; set; } } public partial class DayOfWeekDto { public virtual int DayOfWeekId { get; set; } public virtual int DotNetDayOfWeekId { get; set; } public virtual string DayOfWeek { get; set; } } public partial class ExceptionCalendarExportStatus { public virtual string CalendarId { get; set; } public virtual int ExceptionId { get; set; } public virtual bool? Synced { get; set; } } public partial class ResourceTimeExceptionQueryResponse { public ResourceTimeExceptionQueryResponse() { ResourceIds = new int[]{}; Resources = new List{}; DaysOfWeek = new List{}; } /// ///Time exception id /// [ApiMember(Description="Time exception id")] public virtual int Id { get; set; } /// ///Time company id /// [ApiMember(Description="Time company id")] public virtual Guid CompanyId { get; set; } /// ///If it's locked for editing for the logged in administrator /// [ApiMember(Description="If it's locked for editing for the logged in administrator")] public virtual bool Locked { get; set; } /// ///Resources that owns this exception /// [ApiMember(Description="Resources that owns this exception")] public virtual int[] ResourceIds { get; set; } /// ///Resources that owns this exception /// [ApiMember(Description="Resources that owns this exception")] public virtual List Resources { get; set; } /// ///Indicates wheter or not the time exception is recurring /// [ApiMember(Description="Indicates wheter or not the time exception is recurring")] public virtual bool IsRecurring { get; set; } /// ///Time exception starting timestamp /// [ApiMember(Description="Time exception starting timestamp")] public virtual DateTime From { get; set; } /// ///Time exception ending timestamp /// [ApiMember(Description="Time exception ending timestamp")] public virtual DateTime To { get; set; } /// ///If recurring then this value indicates the time of day when the time exception begins /// [ApiMember(Description="If recurring then this value indicates the time of day when the time exception begins")] public virtual TimeSpan FromTime { get; set; } /// ///If recurring then this value indicates the time of day when the time exception ends /// [ApiMember(Description="If recurring then this value indicates the time of day when the time exception ends")] public virtual TimeSpan ToTime { get; set; } /// ///The reason of the time exception, example: Vacation, doctors appointment, ... /// [ApiMember(Description="The reason of the time exception, example: Vacation, doctors appointment, ...")] public virtual string ReasonText { get; set; } /// ///The reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ... /// [ApiMember(Description="The reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ...")] public virtual string ReasonTextPublic { get; set; } /// ///What hexadecimal color code the exception should have in the scheduler /// [ApiMember(Description="What hexadecimal color code the exception should have in the scheduler")] public virtual string Color { get; set; } /// ///If the time exception should block the time in the scheduler so it's not avaialable to book /// [ApiMember(Description="If the time exception should block the time in the scheduler so it's not avaialable to book")] public virtual bool BlockTime { get; set; } /// ///If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it /// [ApiMember(Description="If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it")] public virtual bool Private { get; set; } /// ///The status for export to calendars like Gcal /// [ApiMember(Description="The status for export to calendars like Gcal")] public virtual ExceptionCalendarExportStatus CalendarExportStatus { get; set; } /// ///If recurring, an array indicating which days of the week the exception recures on where 1 = Monday .. 7 = Sunday. When recurring then the time portion of the Fields From and To indicates the time of day the recurrence occurs /// [ApiMember(Description="If recurring, an array indicating which days of the week the exception recures on where 1 = Monday .. 7 = Sunday. When recurring then the time portion of the Fields From and To indicates the time of day the recurrence occurs")] public virtual List DaysOfWeek { get; set; } /// ///The datetime the exception was created /// [ApiMember(Description="The datetime the exception was created")] public virtual DateTime Created { get; set; } public virtual ResponseStatus ResponseStatus { get; set; } } public partial class TimeExceptionReosurceDetails { /// ///Ids of the resources that owns this exception /// [ApiMember(Description="Ids of the resources that owns this exception")] public virtual int Id { get; set; } /// ///Name of the resource /// [ApiMember(Description="Name of the resource")] public virtual string Name { get; set; } /// ///Description of the resource /// [ApiMember(Description="Description of the resource")] public virtual string Description { get; set; } /// ///Color of the resource /// [ApiMember(Description="Color of the resource")] public virtual string Color { get; set; } /// ///Image of the resource /// [ApiMember(Description="Image of the resource")] public virtual Uri ImageUrl { get; set; } public virtual ResponseStatus ResponseStatus { get; set; } } } namespace BokaMera.API.ServiceModel.Enums { public enum CollidingBookingOptions { AddWithoutCancelingCollidingBookings = 1, AddAndCancelCollidingBookings = 2, } } namespace BokaMera.API.ServiceModel.Interfaces { public partial interface ICompany { Guid? CompanyId { get; set; } } }