(* Options:
Date: 2025-04-09 18:28:57
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: UpdateHomepageMenu.*
//ExcludeTypes: 
//InitializeCollections: True
//AddNamespaces: 
*)

namespace BokaMera.API.ServiceModel.Dtos

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 HomepageMenuQueryResponse() = 
        ///<summary>
        ///The company id
        ///</summary>
        [<ApiMember(Description="The company id")>]
        member val CompanyId:Guid = new Guid() with get,set

        ///<summary>
        ///The text for home menu item
        ///</summary>
        [<ApiMember(Description="The text for home menu item")>]
        member val HomeText:String = null with get,set

        ///<summary>
        ///If the home menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the home menu item should be hidden")>]
        member val HomeHidden:Boolean = new Boolean() with get,set

        ///<summary>
        ///The text for services menu item
        ///</summary>
        [<ApiMember(Description="The text for services menu item")>]
        member val ServicesText:String = null with get,set

        ///<summary>
        ///If the services menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the services menu item should be hidden")>]
        member val ServicesHidden:Boolean = new Boolean() with get,set

        ///<summary>
        ///The text for book time menu item
        ///</summary>
        [<ApiMember(Description="The text for book time menu item")>]
        member val BookTimeText:String = null with get,set

        ///<summary>
        ///If the book time menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the book time menu item should be hidden")>]
        member val BookTimeHidden:Boolean = new Boolean() with get,set

        ///<summary>
        ///The text for about us menu item
        ///</summary>
        [<ApiMember(Description="The text for about us menu item")>]
        member val AboutUsText:String = null with get,set

        ///<summary>
        ///If the about us menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the about us menu item should be hidden")>]
        member val AboutUsHidden:Boolean = new Boolean() with get,set

        ///<summary>
        ///The text for contact us menu item
        ///</summary>
        [<ApiMember(Description="The text for contact us menu item")>]
        member val ContactUsText:String = null with get,set

        ///<summary>
        ///If the contact us menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the contact us menu item should be hidden")>]
        member val ContactUsHidden:Boolean = new Boolean() with get,set

        ///<summary>
        ///The text for my bookings menu item
        ///</summary>
        [<ApiMember(Description="The text for my bookings menu item")>]
        member val MyBookingsText:String = null with get,set

        ///<summary>
        ///If the my bookings menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the my bookings menu item should be hidden")>]
        member val MyBookingsHidden:Boolean = new Boolean() with get,set

        ///<summary>
        ///The text for calender menu item
        ///</summary>
        [<ApiMember(Description="The text for calender menu item")>]
        member val CalendarText:String = null with get,set

        ///<summary>
        ///If the calendar menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the calendar menu item should be hidden")>]
        member val CalendarHidden:Boolean = new Boolean() with get,set

        ///<summary>
        ///The text for news menu item
        ///</summary>
        [<ApiMember(Description="The text for news menu item")>]
        member val NewsText:String = null with get,set

        ///<summary>
        ///If the news menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the news menu item should be hidden")>]
        member val NewsHidden:Boolean = new Boolean() with get,set

        ///<summary>
        ///The text for address menu item
        ///</summary>
        [<ApiMember(Description="The text for address menu item")>]
        member val AddressText:String = null with get,set

        ///<summary>
        ///If the address menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the address menu item should be hidden")>]
        member val AddressHidden:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///The text for gallery menu item
        ///</summary>
        [<ApiMember(Description="The text for gallery menu item")>]
        member val GalleryText:String = null with get,set

        ///<summary>
        ///If the gallery menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the gallery menu item should be hidden")>]
        member val GalleryHidden:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        member val ResponseStatus:ResponseStatus = null with get,set

    [<Route("/homepage/menu", "PUT")>]
    [<ValidateRequest(Validator="IsAuthenticated")>]
    [<AllowNullLiteral>]
    type UpdateHomepageMenu() = 
        interface IReturn<HomepageMenuQueryResponse>
        ///<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.")>]
        member val CompanyId:Nullable<Guid> = new Nullable<Guid>() with get,set

        ///<summary>
        ///The text for home menu item
        ///</summary>
        [<ApiMember(Description="The text for home menu item")>]
        member val HomeText:String = null with get,set

        ///<summary>
        ///If the home menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the home menu item should be hidden")>]
        member val HomeHidden:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///The text for services menu item
        ///</summary>
        [<ApiMember(Description="The text for services menu item")>]
        member val ServicesText:String = null with get,set

        ///<summary>
        ///If the services menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the services menu item should be hidden")>]
        member val ServicesHidden:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///The text for book time menu item
        ///</summary>
        [<ApiMember(Description="The text for book time menu item")>]
        member val BookTimeText:String = null with get,set

        ///<summary>
        ///If the book time menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the book time menu item should be hidden")>]
        member val BookTimeHidden:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///The text for about us menu item
        ///</summary>
        [<ApiMember(Description="The text for about us menu item")>]
        member val AboutUsText:String = null with get,set

        ///<summary>
        ///If the about us menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the about us menu item should be hidden")>]
        member val AboutUsHidden:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///The text for contact us menu item
        ///</summary>
        [<ApiMember(Description="The text for contact us menu item")>]
        member val ContactUsText:String = null with get,set

        ///<summary>
        ///If the contact us menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the contact us menu item should be hidden")>]
        member val ContactUsHidden:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///The text for my bookings menu item
        ///</summary>
        [<ApiMember(Description="The text for my bookings menu item")>]
        member val MyBookingsText:String = null with get,set

        ///<summary>
        ///If the my bookings menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the my bookings menu item should be hidden")>]
        member val MyBookingsHidden:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///The text for calendar menu item
        ///</summary>
        [<ApiMember(Description="The text for calendar menu item")>]
        member val CalendarText:String = null with get,set

        ///<summary>
        ///If the calendar menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the calendar menu item should be hidden")>]
        member val CalendarHidden:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///The text for news menu item
        ///</summary>
        [<ApiMember(Description="The text for news menu item")>]
        member val NewsText:String = null with get,set

        ///<summary>
        ///If the news menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the news menu item should be hidden")>]
        member val NewsHidden:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///The text for address menu item
        ///</summary>
        [<ApiMember(Description="The text for address menu item")>]
        member val AddressText:String = null with get,set

        ///<summary>
        ///If the address menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the address menu item should be hidden")>]
        member val AddressHidden:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///The text for gallery menu item
        ///</summary>
        [<ApiMember(Description="The text for gallery menu item")>]
        member val GalleryText:String = null with get,set

        ///<summary>
        ///If the gallery menu item should be hidden
        ///</summary>
        [<ApiMember(Description="If the gallery menu item should be hidden")>]
        member val GalleryHidden:Nullable<Boolean> = new Nullable<Boolean>() with get,set