(* Options:
Date: 2025-04-12 09:53:47
Version: 8.23
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://api.bokamera.se

//GlobalNamespace: 
//MakeDataContractsExtensible: False
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion: 
//ExportValueTypes: False
IncludeTypes: BookingPrintoutQuery.*
//ExcludeTypes: 
//InitializeCollections: True
//AddNamespaces: 
*)

namespace BokaMera.API.ServiceModel.Db

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
open System.Globalization
open ServiceStack.Data
open System.IO
open System.Net
open System.Net.Http.Headers

    [<AllowNullLiteral>]
    type ICompany = 
        abstract CompanyId:Nullable<Guid> with get,set

    [<AllowNullLiteral>]
    type BaseModel() = 
        class end

    [<AllowNullLiteral>]
    type BookingPrintout() = 
        inherit BaseModel()
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        member val Id:Int32 = new Int32() with get,set
        [<Required>]
        member val Name:String = null with get,set

        member val HeaderLeftCell:String = null with get,set
        member val HeaderMiddleCell:String = null with get,set
        member val HeaderRightCell:String = null with get,set
        [<Required>]
        member val BodyCell:String = null with get,set

        member val FooterLeftCell:String = null with get,set
        member val FooterMiddleCell:String = null with get,set
        member val FooterRightCell:String = null with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type BookingPrintoutQueryResponse() = 
        ///<summary>
        ///Report id
        ///</summary>
        [<ApiMember(Description="Report id")>]
        member val Id:Int32 = new Int32() with get,set

        ///<summary>
        ///Report Name
        ///</summary>
        [<ApiMember(Description="Report Name")>]
        member val Name:String = null with get,set

        ///<summary>
        ///Report header left cell content
        ///</summary>
        [<ApiMember(Description="Report header left cell content", IsRequired=true)>]
        member val HeaderLeftCell:String = null with get,set

        ///<summary>
        ///Report header middle cell content
        ///</summary>
        [<ApiMember(Description="Report header middle cell content", IsRequired=true)>]
        member val HeaderMiddleCell:String = null with get,set

        ///<summary>
        ///Report header right cell content
        ///</summary>
        [<ApiMember(Description="Report header right cell content", IsRequired=true)>]
        member val HeaderRightCell:String = null with get,set

        ///<summary>
        ///Report body cell content
        ///</summary>
        [<ApiMember(Description="Report body cell content", IsRequired=true)>]
        member val BodyCell:String = null with get,set

        ///<summary>
        ///Report footer left cell content
        ///</summary>
        [<ApiMember(Description="Report footer left cell content", IsRequired=true)>]
        member val FooterLeftCell:String = null with get,set

        ///<summary>
        ///Report footer middle cell content
        ///</summary>
        [<ApiMember(Description="Report footer middle cell content", IsRequired=true)>]
        member val FooterMiddleCell:String = null with get,set

        ///<summary>
        ///Report footer right cell content
        ///</summary>
        [<ApiMember(Description="Report footer right cell content", IsRequired=true)>]
        member val FooterRightCell:String = null with get,set

    [<Route("/reports/booking/printout", "Get")>]
    [<ValidateRequest(Validator="IsAuthenticated")>]
    [<AllowNullLiteral>]
    type BookingPrintoutQuery() = 
        inherit QueryDb<BookingPrintout, BookingPrintoutQueryResponse>()
        interface IReturn<QueryResponse<BookingPrintoutQueryResponse>>
        ///<summary>
        ///Enter the company you want to see add a token for, if blank and you are an admin, your company id will be used
        ///</summary>
        [<ApiMember(Description="Enter the company you want to see add a token for, if blank and you are an admin, your company id will be used", ParameterType="query")>]
        member val CompanyId:Nullable<Guid> = new Nullable<Guid>() with get,set

        ///<summary>
        ///Report id
        ///</summary>
        [<ApiMember(Description="Report id", ParameterType="query")>]
        member val Id:Nullable<Int32> = new Nullable<Int32>() with get,set