exports/ProxyCmdletDefinitions.ps1


# ----------------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.9.4, generator: @autorest/powershell@3.0.504)
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# ----------------------------------------------------------------------------------

<#
.Synopsis
All the appointments of this business.
Read-only.
Nullable.
.Description
All the appointments of this business.
Read-only.
Nullable.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingBusinessAppointment -BookingBusinessId $bookingBusinessId
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingBusinessAppointment -BookingBusinessId $bookingBusinessId -BookingAppointmentId $bookingAppointmentId
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabookingbusinessappointment
#>

function Get-MgBetaBookingBusinessAppointment {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingAppointment
    ${BookingAppointmentId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='List', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessAppointment_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessAppointment_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessAppointment_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
The set of appointments of this business in a specified date range.
Read-only.
Nullable.
.Description
The set of appointments of this business in a specified date range.
Read-only.
Nullable.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingBusinessCalendarView -BookingBusinessId $bookingBusinessId -Start "2018-04-30T00:00:00Z" -End "2018-05-10T00:00:00Z"
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabookingbusinesscalendarview
#>

function Get-MgBetaBookingBusinessCalendarView {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingAppointment
    ${BookingAppointmentId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='List', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # The end date and time of the time range, represented in ISO 8601 format.
    # For example, 2019-11-08T20:00:00-08:00
    ${End},

    [Parameter(Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # The start date and time of the time range, represented in ISO 8601 format.
    # For example, 2019-11-08T19:00:00-08:00
    ${Start},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessCalendarView_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessCalendarView_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessCalendarView_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
All the customers of this business.
Read-only.
Nullable.
.Description
All the customers of this business.
Read-only.
Nullable.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingBusinessCustomer -BookingBusinessId $bookingBusinessId -BookingCustomerId $bookingCustomerId
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingBusinessCustomer -BookingBusinessId $bookingBusinessId
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomer
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabookingbusinesscustomer
#>

function Get-MgBetaBookingBusinessCustomer {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomer])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='List', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingCustomer
    ${BookingCustomerId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessCustomer_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessCustomer_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessCustomer_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
All the custom questions of this business.
Read-only.
Nullable.
.Description
All the custom questions of this business.
Read-only.
Nullable.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingBusinessCustomQuestion -BookingBusinessId $bookingBusinessId -BookingCustomQuestionId $bookingCustomQuestionId
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingBusinessCustomQuestion -BookingBusinessId $bookingBusinessId
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomQuestion
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabookingbusinesscustomquestion
#>

function Get-MgBetaBookingBusinessCustomQuestion {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomQuestion])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='List', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingCustomQuestion
    ${BookingCustomQuestionId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessCustomQuestion_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessCustomQuestion_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessCustomQuestion_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
All the services offered by this business.
Read-only.
Nullable.
.Description
All the services offered by this business.
Read-only.
Nullable.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingBusinessService -BookingBusinessId $bookingBusinessId -BookingServiceId $bookingServiceId
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingBusinessService -BookingBusinessId $bookingBusinessId
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingService
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabookingbusinessservice
#>

function Get-MgBetaBookingBusinessService {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingService])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='List', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingService
    ${BookingServiceId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessService_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessService_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessService_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Get the availability information of staff members of a Microsoft Bookings calendar.
.Description
Get the availability information of staff members of a Microsoft Bookings calendar.
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IPathsHqldv0BookingbusinessesBookingbusinessIdMicrosoftGraphGetstaffavailabilityPostRequestbodyContentApplicationJsonSchema
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphStaffAvailabilityItem
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IPathsHqldv0BookingbusinessesBookingbusinessIdMicrosoftGraphGetstaffavailabilityPostRequestbodyContentApplicationJsonSchema>: .
  [(Any) <Object>]: This indicates any property can be added to this object.
  [EndDateTime <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
    [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
  [StaffIds <String[]>]:
  [StartDateTime <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
 
ENDDATETIME <IMicrosoftGraphDateTimeZone>: dateTimeTimeZone
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
  [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
STARTDATETIME <IMicrosoftGraphDateTimeZone>: dateTimeTimeZone
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
  [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabookingbusinessstaffavailability
#>

function Get-MgBetaBookingBusinessStaffAvailability {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphStaffAvailabilityItem])]
[CmdletBinding(DefaultParameterSetName='GetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='GetExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='GetViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Get', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IPathsHqldv0BookingbusinessesBookingbusinessIdMicrosoftGraphGetstaffavailabilityPostRequestbodyContentApplicationJsonSchema]
    # .
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='GetExpanded')]
    [Parameter(ParameterSetName='GetViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='GetExpanded')]
    [Parameter(ParameterSetName='GetViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDateTimeZone]
    # dateTimeTimeZone
    # To construct, see NOTES section for ENDDATETIME properties and create a hash table.
    ${EndDateTime},

    [Parameter(ParameterSetName='GetExpanded')]
    [Parameter(ParameterSetName='GetViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String[]]
    # .
    ${StaffIds},

    [Parameter(ParameterSetName='GetExpanded')]
    [Parameter(ParameterSetName='GetViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDateTimeZone]
    # dateTimeTimeZone
    # To construct, see NOTES section for STARTDATETIME properties and create a hash table.
    ${StartDateTime},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessStaffAvailability_Get';
            GetExpanded = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessStaffAvailability_GetExpanded';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessStaffAvailability_GetViaIdentity';
            GetViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessStaffAvailability_GetViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
All the staff members that provide services in this business.
Read-only.
Nullable.
.Description
All the staff members that provide services in this business.
Read-only.
Nullable.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingBusinessStaffMember -BookingBusinessId $bookingBusinessId -BookingStaffMemberId $bookingStaffMemberId
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingBusinessStaffMember -BookingBusinessId $bookingBusinessId
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingStaffMember
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabookingbusinessstaffmember
#>

function Get-MgBetaBookingBusinessStaffMember {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingStaffMember])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='List', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingStaffMember
    ${BookingStaffMemberId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessStaffMember_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessStaffMember_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusinessStaffMember_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Get the properties and relationships of a bookingBusiness object.
.Description
Get the properties and relationships of a bookingBusiness object.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingBusiness -BookingBusinessId $bookingBusinessId
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingBusiness
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingBusiness -Query "Adventure"
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingBusiness
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabookingbusiness
#>

function Get-MgBetaBookingBusiness {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingBusiness])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusiness_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusiness_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingBusiness_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Get the properties of a bookingCurrency object that is available to a Microsoft Bookings business.
Use the **id** property, which is the currency code, to specify the currency.
.Description
Get the properties of a bookingCurrency object that is available to a Microsoft Bookings business.
Use the **id** property, which is the currency code, to specify the currency.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingCurrency
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Get-MgBetaBookingCurrency -BookingCurrencyId $bookingCurrencyId
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCurrency
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabookingcurrency
#>

function Get-MgBetaBookingCurrency {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCurrency])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingCurrency
    ${BookingCurrencyId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingCurrency_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingCurrency_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBookingCurrency_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Localized names for the plan configuration.
.Description
Localized names for the plan configuration.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfigurationLocalization
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabusinessscenarioplannerplanconfigurationlocalization
#>

function Get-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfigurationLocalization])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='List', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of plannerPlanConfigurationLocalization
    ${PlannerPlanConfigurationLocalizationId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Read the properties and relationships of a plannerPlanConfiguration object.
.Description
Read the properties and relationships of a plannerPlanConfiguration object.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfiguration
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabusinessscenarioplannerplanconfiguration
#>

function Get-MgBetaBusinessScenarioPlannerPlanConfiguration {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfiguration])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlannerPlanConfiguration_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlannerPlanConfiguration_GetViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Get information about the plannerPlan mapped to a given target.
If a **plannerPlan** doesn't exist for the specified target at the time of the request, a new plan will be created for the businessScenario.
.Description
Get information about the plannerPlan mapped to a given target.
If a **plannerPlan** doesn't exist for the specified target at the time of the request, a new plan will be created for the businessScenario.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IPaths1Tvx8HxSolutionsBusinessscenariosBusinessscenarioIdPlannerMicrosoftGraphGetplanPostRequestbodyContentApplicationJsonSchema
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioPlanReference
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IPaths1Tvx8HxSolutionsBusinessscenariosBusinessscenarioIdPlannerMicrosoftGraphGetplanPostRequestbodyContentApplicationJsonSchema>: .
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Target <IMicrosoftGraphBusinessScenarioTaskTargetBase>]: businessScenarioTaskTargetBase
    [(Any) <Object>]: This indicates any property can be added to this object.
    [TaskTargetKind <String>]: plannerTaskTargetKind
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
TARGET <IMicrosoftGraphBusinessScenarioTaskTargetBase>: businessScenarioTaskTargetBase
  [(Any) <Object>]: This indicates any property can be added to this object.
  [TaskTargetKind <String>]: plannerTaskTargetKind
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabusinessscenarioplannerplan
#>

function Get-MgBetaBusinessScenarioPlannerPlan {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioPlanReference])]
[CmdletBinding(DefaultParameterSetName='GetExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='GetExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='GetViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Get', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IPaths1Tvx8HxSolutionsBusinessscenariosBusinessscenarioIdPlannerMicrosoftGraphGetplanPostRequestbodyContentApplicationJsonSchema]
    # .
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='GetExpanded')]
    [Parameter(ParameterSetName='GetViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='GetExpanded')]
    [Parameter(ParameterSetName='GetViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioTaskTargetBase]
    # businessScenarioTaskTargetBase
    # To construct, see NOTES section for TARGET properties and create a hash table.
    ${Target},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlannerPlan_Get';
            GetExpanded = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlannerPlan_GetExpanded';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlannerPlan_GetViaIdentity';
            GetViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlannerPlan_GetViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Read the properties and relationships of a plannerTaskConfiguration object.
.Description
Read the properties and relationships of a plannerTaskConfiguration object.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerTaskConfiguration
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabusinessscenarioplannertaskconfiguration
#>

function Get-MgBetaBusinessScenarioPlannerTaskConfiguration {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerTaskConfiguration])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlannerTaskConfiguration_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlannerTaskConfiguration_GetViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
The Planner tasks for the scenario.
.Description
The Planner tasks for the scenario.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioTask
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabusinessscenarioplannertask
#>

function Get-MgBetaBusinessScenarioPlannerTask {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioTask])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Parameter(ParameterSetName='List', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenarioTask
    ${BusinessScenarioTaskId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlannerTask_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlannerTask_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlannerTask_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Read the properties and relationships of a businessScenarioPlanner object.
.Description
Read the properties and relationships of a businessScenarioPlanner object.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioPlanner
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabusinessscenarioplanner
#>

function Get-MgBetaBusinessScenarioPlanner {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioPlanner])]
[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlanner_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenarioPlanner_GetViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Get businessScenarios from solutions
.Description
Get businessScenarios from solutions
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenario
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/get-mgbetabusinessscenario
#>

function Get-MgBetaBusinessScenario {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenario])]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='Get', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Alias('Expand')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Expand related entities
    ${ExpandProperty},

    [Parameter()]
    [Alias('Select')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Select properties to be returned
    ${Property},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Filter items by property values
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String]
    # Search items by search phrases
    ${Search},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Skip the first n items
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [Alias('OrderBy')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.String[]]
    # Order items by property values
    ${Sort},

    [Parameter(ParameterSetName='List')]
    [Alias('Limit')]
    [Microsoft.Graph.Beta.PowerShell.Category('Query')]
    [System.Int32]
    # Show only the first n items
    ${Top},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Int32]
    # Sets the page size of results.
    ${PageSize},

    [Parameter(ParameterSetName='List')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # List all pages.
    ${All},

    [Parameter(ParameterSetName='List')]
    [Alias('CV')]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.String]
    # Specifies a count of the total number of items in a collection.
    # By default, this variable will be set in the global scope.
    ${CountVariable}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Get = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenario_Get';
            GetViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenario_GetViaIdentity';
            List = 'Microsoft.Graph.Beta.Bookings.private\Get-MgBetaBusinessScenario_List';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create a new bookingAppointment for the specified bookingBusiness.
.Description
Create a new bookingAppointment for the specified bookingBusiness.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
$params = @{
    "@odata.type" = "#microsoft.graph.bookingAppointment"
    CustomerEmailAddress = "jordanm@contoso.com"
    CustomerLocation = @{
        "@odata.type" = "#microsoft.graph.location"
        Address = @{
            "@odata.type" = "#microsoft.graph.physicalAddress"
            City = "Buffalo"
            CountryOrRegion = "USA"
            PostalCode = "98052"
            PostOfficeBox = $null
            State = "NY"
            Street = "123 First Avenue"
            "Type@odata.type" = "#microsoft.graph.physicalAddressType"
            Type = $null
        }
        Coordinates = $null
        DisplayName = "Customer"
        LocationEmailAddress = $null
        "LocationType@odata.type" = "#microsoft.graph.locationType"
        LocationType = $null
        LocationUri = $null
        UniqueId = $null
        "UniqueIdType@odata.type" = "#microsoft.graph.locationUniqueIdType"
        UniqueIdType = $null
    }
    CustomerName = "Jordan Miller"
    CustomerNotes = "Please be on time."
    CustomerPhone = "213-555-0199"
    CustomerTimeZone = "America/Chicago"
    SmsNotificationsEnabled = $true
    End = @{
        "@odata.type" = "#microsoft.graph.dateTimeTimeZone"
        DateTime = "2018-05-01T12:30:00.0000000+00:00"
        TimeZone = "UTC"
    }
    InvoiceAmount = 10
    InvoiceDate = @{
        "@odata.type" = "#microsoft.graph.dateTimeTimeZone"
        DateTime = "2018-05-01T12:30:00.0000000+00:00"
        TimeZone = "UTC"
    }
    InvoiceId = "1001"
    "InvoiceStatus@odata.type" = "#microsoft.graph.bookingInvoiceStatus"
    InvoiceStatus = "open"
    InvoiceUrl = "theInvoiceUrl"
    IsLocationOnline = $true
    OptOutOfCustomerEmail = $false
    AnonymousJoinWebUrl = $null
    PostBuffer = "PT10M"
    PreBuffer = "PT5M"
    Price = 10
    "PriceType@odata.type" = "#microsoft.graph.bookingPriceType"
    PriceType = "fixedPrice"
    "Reminders@odata.type" = "#Collection(microsoft.graph.bookingReminder)"
    Reminders = @(
        @{
            "@odata.type" = "#microsoft.graph.bookingReminder"
            Message = "This service is tomorrow"
            Offset = "P1D"
            "Recipients@odata.type" = "#microsoft.graph.bookingReminderRecipients"
            Recipients = "allAttendees"
        }
        @{
            "@odata.type" = "#microsoft.graph.bookingReminder"
            Message = "Please be available to enjoy your lunch service."
            Offset = "PT1H"
            "Recipients@odata.type" = "#microsoft.graph.bookingReminderRecipients"
            Recipients = "customer"
        }
        @{
            "@odata.type" = "#microsoft.graph.bookingReminder"
            Message = "Please check traffic for next cater."
            Offset = "PT2H"
            "Recipients@odata.type" = "#microsoft.graph.bookingReminderRecipients"
            Recipients = "staff"
        }
    )
    ServiceId = "57da6774-a087-4d69-b0e6-6fb82c339976"
    ServiceLocation = @{
        "@odata.type" = "#microsoft.graph.location"
        Address = @{
            "@odata.type" = "#microsoft.graph.physicalAddress"
            City = "Buffalo"
            CountryOrRegion = "USA"
            PostalCode = "98052"
            PostOfficeBox = $null
            State = "NY"
            Street = "123 First Avenue"
            "Type@odata.type" = "#microsoft.graph.physicalAddressType"
            Type = $null
        }
        Coordinates = $null
        DisplayName = "Customer location"
        LocationEmailAddress = $null
        "LocationType@odata.type" = "#microsoft.graph.locationType"
        LocationType = $null
        LocationUri = $null
        UniqueId = $null
        "UniqueIdType@odata.type" = "#microsoft.graph.locationUniqueIdType"
        UniqueIdType = $null
    }
    ServiceName = "Catered bento"
    ServiceNotes = "Customer requires punctual service."
    Start = @{
        "@odata.type" = "#microsoft.graph.dateTimeTimeZone"
        DateTime = "2018-05-01T12:00:00.0000000+00:00"
        TimeZone = "UTC"
    }
    MaximumAttendeesCount = 5
    FilledAttendeesCount = 1
    Customers = @(
        @{
            "@odata.type" = "#microsoft.graph.bookingCustomerInformation"
            CustomerId = "7ed53fa5-9ef2-4f2f-975b-27447440bc09"
            Name = "Jordan Miller"
            EmailAddress = "jordanm@contoso.com"
            Phone = "213-555-0199"
            Notes = $null
            Location = @{
                "@odata.type" = "#microsoft.graph.location"
                DisplayName = "Customer"
                LocationEmailAddress = $null
                LocationUri = ""
                LocationType = $null
                UniqueId = $null
                UniqueIdType = $null
                Address = @{
                    "@odata.type" = "#microsoft.graph.physicalAddress"
                    Type = "home"
                    PostOfficeBox = ""
                    Street = ""
                    City = ""
                    State = ""
                    CountryOrRegion = ""
                    PostalCode = ""
                }
            }
            TimeZone = "America/Chicago"
            CustomQuestionAnswers = @(
            )
        }
    )
}
New-MgBetaBookingBusinessAppointment -BookingBusinessId $bookingBusinessId -BodyParameter $params
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphBookingAppointment>: Represents a booked appointment of a service by a customer in a business.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
  [AnonymousJoinWebUrl <String>]: The URL of the meeting to join anonymously.
  [CustomerEmailAddress <String>]: The SMTP address of the bookingCustomer who is booking the appointment.
  [CustomerId <String>]: The ID of the bookingCustomer for this appointment. If no ID is specified when an appointment is created, then a new bookingCustomer object is created. Once set, you should consider the customerId immutable.
  [CustomerLocation <IMicrosoftGraphLocation>]: location
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
      [(Any) <Object>]: This indicates any property can be added to this object.
      [City <String>]: The city.
      [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
      [PostOfficeBox <String>]: The post office box number.
      [PostalCode <String>]: The postal code.
      [State <String>]: The state.
      [Street <String>]: The street.
      [Type <String>]: physicalAddressType
    [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
      [Altitude <Double?>]: The altitude of the location.
      [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
      [Latitude <Double?>]: The latitude of the location.
      [Longitude <Double?>]: The longitude of the location.
    [DisplayName <String>]: The name associated with the location.
    [LocationEmailAddress <String>]: Optional email address of the location.
    [LocationType <String>]: locationType
    [LocationUri <String>]: Optional URI representing the location.
    [UniqueId <String>]: For internal use only.
    [UniqueIdType <String>]: locationUniqueIdType
  [CustomerName <String>]: The customer's name.
  [CustomerNotes <String>]: Notes from the customer associated with this appointment. You can get the value only when reading this bookingAppointment by its ID. You can set this property only when initially creating an appointment with a new customer. After that point, the value is computed from the customer represented by customerId.
  [CustomerPhone <String>]: The customer's phone number.
  [CustomerTimeZone <String>]: The time zone of the customer. For a list of possible values, see dateTimeTimeZone.
  [Customers <IMicrosoftGraphBookingCustomerInformationBase[]>]: A collection of the customer properties for an appointment. An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment. Optional.
  [End <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
    [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
  [InvoiceAmount <Double?>]: The billed amount on the invoice.
  [InvoiceDate <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
  [InvoiceId <String>]: The ID of the invoice.
  [InvoiceStatus <String>]: bookingInvoiceStatus
  [InvoiceUrl <String>]: The URL of the invoice in Microsoft Bookings.
  [IsLocationOnline <Boolean?>]: True indicates that the appointment will be held online. Default value is false.
  [JoinWebUrl <String>]: The URL of the online meeting for the appointment.
  [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in an appointment. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
  [OnlineMeetingUrl <String>]:
  [OptOutOfCustomerEmail <Boolean?>]: True indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this appointment.
  [PostBuffer <TimeSpan?>]: The amount of time to reserve after the appointment ends, for cleaning up, as an example. The value is expressed in ISO8601 format.
  [PreBuffer <TimeSpan?>]: The amount of time to reserve before the appointment begins, for preparation, as an example. The value is expressed in ISO8601 format.
  [Price <Double?>]: The regular price for an appointment for the specified bookingService.
  [PriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
  [Reminders <IMicrosoftGraphBookingReminder[]>]: The collection of customer reminders sent for this appointment. The value of this property is available only when reading this bookingAppointment by its ID.
    [Message <String>]: The message in the reminder.
    [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
    [Recipients <String>]: bookingReminderRecipients
  [SelfServiceAppointmentId <String>]: An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the scheduling page, as opposed to by a staff member on the behalf of the customer.
  [ServiceId <String>]: The ID of the bookingService associated with this appointment.
  [ServiceLocation <IMicrosoftGraphLocation>]: location
  [ServiceName <String>]: The name of the bookingService associated with this appointment.This property is optional when creating a new appointment. If not specified, it is computed from the service associated with the appointment by the serviceId property.
  [ServiceNotes <String>]: Notes from a bookingStaffMember. The value of this property is available only when reading this bookingAppointment by its ID.
  [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications will be sent to the customers for the appointment. Default value is false.
  [StaffMemberIds <String[]>]: The ID of each bookingStaffMember who is scheduled in this appointment.
  [Start <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
 
CUSTOMERLOCATION <IMicrosoftGraphLocation>: location
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
    [(Any) <Object>]: This indicates any property can be added to this object.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
    [Altitude <Double?>]: The altitude of the location.
    [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
    [Latitude <Double?>]: The latitude of the location.
    [Longitude <Double?>]: The longitude of the location.
  [DisplayName <String>]: The name associated with the location.
  [LocationEmailAddress <String>]: Optional email address of the location.
  [LocationType <String>]: locationType
  [LocationUri <String>]: Optional URI representing the location.
  [UniqueId <String>]: For internal use only.
  [UniqueIdType <String>]: locationUniqueIdType
 
END <IMicrosoftGraphDateTimeZone>: dateTimeTimeZone
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
  [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
INVOICEDATE <IMicrosoftGraphDateTimeZone>: dateTimeTimeZone
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
  [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
 
REMINDERS <IMicrosoftGraphBookingReminder[]>: The collection of customer reminders sent for this appointment. The value of this property is available only when reading this bookingAppointment by its ID.
  [Message <String>]: The message in the reminder.
  [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
  [Recipients <String>]: bookingReminderRecipients
 
SERVICELOCATION <IMicrosoftGraphLocation>: location
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
    [(Any) <Object>]: This indicates any property can be added to this object.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
    [Altitude <Double?>]: The altitude of the location.
    [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
    [Latitude <Double?>]: The latitude of the location.
    [Longitude <Double?>]: The longitude of the location.
  [DisplayName <String>]: The name associated with the location.
  [LocationEmailAddress <String>]: Optional email address of the location.
  [LocationType <String>]: locationType
  [LocationUri <String>]: Optional URI representing the location.
  [UniqueId <String>]: For internal use only.
  [UniqueIdType <String>]: locationUniqueIdType
 
START <IMicrosoftGraphDateTimeZone>: dateTimeTimeZone
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
  [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/new-mgbetabookingbusinessappointment
#>

function New-MgBetaBookingBusinessAppointment {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment]
    # Represents a booked appointment of a service by a customer in a business.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Additional information that is sent to the customer when an appointment is confirmed.
    ${AdditionalInformation},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL of the meeting to join anonymously.
    ${AnonymousJoinWebUrl},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The SMTP address of the bookingCustomer who is booking the appointment.
    ${CustomerEmailAddress},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The ID of the bookingCustomer for this appointment.
    # If no ID is specified when an appointment is created, then a new bookingCustomer object is created.
    # Once set, you should consider the customerId immutable.
    ${CustomerId},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphLocation]
    # location
    # To construct, see NOTES section for CUSTOMERLOCATION properties and create a hash table.
    ${CustomerLocation},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The customer's name.
    ${CustomerName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Notes from the customer associated with this appointment.
    # You can get the value only when reading this bookingAppointment by its ID.
    # You can set this property only when initially creating an appointment with a new customer.
    # After that point, the value is computed from the customer represented by customerId.
    ${CustomerNotes},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The customer's phone number.
    ${CustomerPhone},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The time zone of the customer.
    # For a list of possible values, see dateTimeTimeZone.
    ${CustomerTimeZone},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomerInformationBase[]]
    # A collection of the customer properties for an appointment.
    # An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment.
    # Optional.
    ${Customers},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDateTimeZone]
    # dateTimeTimeZone
    # To construct, see NOTES section for END properties and create a hash table.
    ${End},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Double]
    # The billed amount on the invoice.
    ${InvoiceAmount},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDateTimeZone]
    # dateTimeTimeZone
    # To construct, see NOTES section for INVOICEDATE properties and create a hash table.
    ${InvoiceDate},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The ID of the invoice.
    ${InvoiceId},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # bookingInvoiceStatus
    ${InvoiceStatus},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL of the invoice in Microsoft Bookings.
    ${InvoiceUrl},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates that the appointment will be held online.
    # Default value is false.
    ${IsLocationOnline},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL of the online meeting for the appointment.
    ${JoinWebUrl},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # The maximum number of customers allowed in an appointment.
    # If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment.
    # To create a customer, use the Create bookingCustomer operation.
    ${MaximumAttendeesCount},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${OnlineMeetingUrl},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this appointment.
    ${OptOutOfCustomerEmail},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.TimeSpan]
    # The amount of time to reserve after the appointment ends, for cleaning up, as an example.
    # The value is expressed in ISO8601 format.
    ${PostBuffer},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.TimeSpan]
    # The amount of time to reserve before the appointment begins, for preparation, as an example.
    # The value is expressed in ISO8601 format.
    ${PreBuffer},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Double]
    # The regular price for an appointment for the specified bookingService.
    ${Price},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [ArgumentCompleter([Microsoft.Graph.Beta.PowerShell.Support.BookingPriceType])]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Support.BookingPriceType]
    # Represents the type of pricing of a booking service.
    ${PriceType},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingReminder[]]
    # The collection of customer reminders sent for this appointment.
    # The value of this property is available only when reading this bookingAppointment by its ID.
    # To construct, see NOTES section for REMINDERS properties and create a hash table.
    ${Reminders},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the scheduling page, as opposed to by a staff member on the behalf of the customer.
    ${SelfServiceAppointmentId},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The ID of the bookingService associated with this appointment.
    ${ServiceId},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphLocation]
    # location
    # To construct, see NOTES section for SERVICELOCATION properties and create a hash table.
    ${ServiceLocation},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The name of the bookingService associated with this appointment.This property is optional when creating a new appointment.
    # If not specified, it is computed from the service associated with the appointment by the serviceId property.
    ${ServiceName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Notes from a bookingStaffMember.
    # The value of this property is available only when reading this bookingAppointment by its ID.
    ${ServiceNotes},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates SMS notifications will be sent to the customers for the appointment.
    # Default value is false.
    ${SmsNotificationsEnabled},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String[]]
    # The ID of each bookingStaffMember who is scheduled in this appointment.
    ${StaffMemberIds},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDateTimeZone]
    # dateTimeTimeZone
    # To construct, see NOTES section for START properties and create a hash table.
    ${Start},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessAppointment_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessAppointment_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessAppointment_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessAppointment_CreateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create new navigation property to calendarView for bookingBusinesses
.Description
Create new navigation property to calendarView for bookingBusinesses
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphBookingAppointment>: Represents a booked appointment of a service by a customer in a business.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
  [AnonymousJoinWebUrl <String>]: The URL of the meeting to join anonymously.
  [CustomerEmailAddress <String>]: The SMTP address of the bookingCustomer who is booking the appointment.
  [CustomerId <String>]: The ID of the bookingCustomer for this appointment. If no ID is specified when an appointment is created, then a new bookingCustomer object is created. Once set, you should consider the customerId immutable.
  [CustomerLocation <IMicrosoftGraphLocation>]: location
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
      [(Any) <Object>]: This indicates any property can be added to this object.
      [City <String>]: The city.
      [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
      [PostOfficeBox <String>]: The post office box number.
      [PostalCode <String>]: The postal code.
      [State <String>]: The state.
      [Street <String>]: The street.
      [Type <String>]: physicalAddressType
    [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
      [Altitude <Double?>]: The altitude of the location.
      [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
      [Latitude <Double?>]: The latitude of the location.
      [Longitude <Double?>]: The longitude of the location.
    [DisplayName <String>]: The name associated with the location.
    [LocationEmailAddress <String>]: Optional email address of the location.
    [LocationType <String>]: locationType
    [LocationUri <String>]: Optional URI representing the location.
    [UniqueId <String>]: For internal use only.
    [UniqueIdType <String>]: locationUniqueIdType
  [CustomerName <String>]: The customer's name.
  [CustomerNotes <String>]: Notes from the customer associated with this appointment. You can get the value only when reading this bookingAppointment by its ID. You can set this property only when initially creating an appointment with a new customer. After that point, the value is computed from the customer represented by customerId.
  [CustomerPhone <String>]: The customer's phone number.
  [CustomerTimeZone <String>]: The time zone of the customer. For a list of possible values, see dateTimeTimeZone.
  [Customers <IMicrosoftGraphBookingCustomerInformationBase[]>]: A collection of the customer properties for an appointment. An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment. Optional.
  [End <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
    [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
  [InvoiceAmount <Double?>]: The billed amount on the invoice.
  [InvoiceDate <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
  [InvoiceId <String>]: The ID of the invoice.
  [InvoiceStatus <String>]: bookingInvoiceStatus
  [InvoiceUrl <String>]: The URL of the invoice in Microsoft Bookings.
  [IsLocationOnline <Boolean?>]: True indicates that the appointment will be held online. Default value is false.
  [JoinWebUrl <String>]: The URL of the online meeting for the appointment.
  [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in an appointment. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
  [OnlineMeetingUrl <String>]:
  [OptOutOfCustomerEmail <Boolean?>]: True indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this appointment.
  [PostBuffer <TimeSpan?>]: The amount of time to reserve after the appointment ends, for cleaning up, as an example. The value is expressed in ISO8601 format.
  [PreBuffer <TimeSpan?>]: The amount of time to reserve before the appointment begins, for preparation, as an example. The value is expressed in ISO8601 format.
  [Price <Double?>]: The regular price for an appointment for the specified bookingService.
  [PriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
  [Reminders <IMicrosoftGraphBookingReminder[]>]: The collection of customer reminders sent for this appointment. The value of this property is available only when reading this bookingAppointment by its ID.
    [Message <String>]: The message in the reminder.
    [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
    [Recipients <String>]: bookingReminderRecipients
  [SelfServiceAppointmentId <String>]: An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the scheduling page, as opposed to by a staff member on the behalf of the customer.
  [ServiceId <String>]: The ID of the bookingService associated with this appointment.
  [ServiceLocation <IMicrosoftGraphLocation>]: location
  [ServiceName <String>]: The name of the bookingService associated with this appointment.This property is optional when creating a new appointment. If not specified, it is computed from the service associated with the appointment by the serviceId property.
  [ServiceNotes <String>]: Notes from a bookingStaffMember. The value of this property is available only when reading this bookingAppointment by its ID.
  [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications will be sent to the customers for the appointment. Default value is false.
  [StaffMemberIds <String[]>]: The ID of each bookingStaffMember who is scheduled in this appointment.
  [Start <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
 
CUSTOMERLOCATION <IMicrosoftGraphLocation>: location
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
    [(Any) <Object>]: This indicates any property can be added to this object.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
    [Altitude <Double?>]: The altitude of the location.
    [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
    [Latitude <Double?>]: The latitude of the location.
    [Longitude <Double?>]: The longitude of the location.
  [DisplayName <String>]: The name associated with the location.
  [LocationEmailAddress <String>]: Optional email address of the location.
  [LocationType <String>]: locationType
  [LocationUri <String>]: Optional URI representing the location.
  [UniqueId <String>]: For internal use only.
  [UniqueIdType <String>]: locationUniqueIdType
 
END <IMicrosoftGraphDateTimeZone>: dateTimeTimeZone
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
  [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
INVOICEDATE <IMicrosoftGraphDateTimeZone>: dateTimeTimeZone
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
  [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
 
REMINDERS <IMicrosoftGraphBookingReminder[]>: The collection of customer reminders sent for this appointment. The value of this property is available only when reading this bookingAppointment by its ID.
  [Message <String>]: The message in the reminder.
  [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
  [Recipients <String>]: bookingReminderRecipients
 
SERVICELOCATION <IMicrosoftGraphLocation>: location
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
    [(Any) <Object>]: This indicates any property can be added to this object.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
    [Altitude <Double?>]: The altitude of the location.
    [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
    [Latitude <Double?>]: The latitude of the location.
    [Longitude <Double?>]: The longitude of the location.
  [DisplayName <String>]: The name associated with the location.
  [LocationEmailAddress <String>]: Optional email address of the location.
  [LocationType <String>]: locationType
  [LocationUri <String>]: Optional URI representing the location.
  [UniqueId <String>]: For internal use only.
  [UniqueIdType <String>]: locationUniqueIdType
 
START <IMicrosoftGraphDateTimeZone>: dateTimeTimeZone
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
  [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/new-mgbetabookingbusinesscalendarview
#>

function New-MgBetaBookingBusinessCalendarView {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment]
    # Represents a booked appointment of a service by a customer in a business.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Additional information that is sent to the customer when an appointment is confirmed.
    ${AdditionalInformation},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL of the meeting to join anonymously.
    ${AnonymousJoinWebUrl},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The SMTP address of the bookingCustomer who is booking the appointment.
    ${CustomerEmailAddress},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The ID of the bookingCustomer for this appointment.
    # If no ID is specified when an appointment is created, then a new bookingCustomer object is created.
    # Once set, you should consider the customerId immutable.
    ${CustomerId},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphLocation]
    # location
    # To construct, see NOTES section for CUSTOMERLOCATION properties and create a hash table.
    ${CustomerLocation},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The customer's name.
    ${CustomerName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Notes from the customer associated with this appointment.
    # You can get the value only when reading this bookingAppointment by its ID.
    # You can set this property only when initially creating an appointment with a new customer.
    # After that point, the value is computed from the customer represented by customerId.
    ${CustomerNotes},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The customer's phone number.
    ${CustomerPhone},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The time zone of the customer.
    # For a list of possible values, see dateTimeTimeZone.
    ${CustomerTimeZone},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomerInformationBase[]]
    # A collection of the customer properties for an appointment.
    # An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment.
    # Optional.
    ${Customers},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDateTimeZone]
    # dateTimeTimeZone
    # To construct, see NOTES section for END properties and create a hash table.
    ${End},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Double]
    # The billed amount on the invoice.
    ${InvoiceAmount},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDateTimeZone]
    # dateTimeTimeZone
    # To construct, see NOTES section for INVOICEDATE properties and create a hash table.
    ${InvoiceDate},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The ID of the invoice.
    ${InvoiceId},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # bookingInvoiceStatus
    ${InvoiceStatus},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL of the invoice in Microsoft Bookings.
    ${InvoiceUrl},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates that the appointment will be held online.
    # Default value is false.
    ${IsLocationOnline},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL of the online meeting for the appointment.
    ${JoinWebUrl},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # The maximum number of customers allowed in an appointment.
    # If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment.
    # To create a customer, use the Create bookingCustomer operation.
    ${MaximumAttendeesCount},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${OnlineMeetingUrl},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this appointment.
    ${OptOutOfCustomerEmail},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.TimeSpan]
    # The amount of time to reserve after the appointment ends, for cleaning up, as an example.
    # The value is expressed in ISO8601 format.
    ${PostBuffer},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.TimeSpan]
    # The amount of time to reserve before the appointment begins, for preparation, as an example.
    # The value is expressed in ISO8601 format.
    ${PreBuffer},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Double]
    # The regular price for an appointment for the specified bookingService.
    ${Price},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [ArgumentCompleter([Microsoft.Graph.Beta.PowerShell.Support.BookingPriceType])]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Support.BookingPriceType]
    # Represents the type of pricing of a booking service.
    ${PriceType},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingReminder[]]
    # The collection of customer reminders sent for this appointment.
    # The value of this property is available only when reading this bookingAppointment by its ID.
    # To construct, see NOTES section for REMINDERS properties and create a hash table.
    ${Reminders},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the scheduling page, as opposed to by a staff member on the behalf of the customer.
    ${SelfServiceAppointmentId},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The ID of the bookingService associated with this appointment.
    ${ServiceId},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphLocation]
    # location
    # To construct, see NOTES section for SERVICELOCATION properties and create a hash table.
    ${ServiceLocation},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The name of the bookingService associated with this appointment.This property is optional when creating a new appointment.
    # If not specified, it is computed from the service associated with the appointment by the serviceId property.
    ${ServiceName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Notes from a bookingStaffMember.
    # The value of this property is available only when reading this bookingAppointment by its ID.
    ${ServiceNotes},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates SMS notifications will be sent to the customers for the appointment.
    # Default value is false.
    ${SmsNotificationsEnabled},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String[]]
    # The ID of each bookingStaffMember who is scheduled in this appointment.
    ${StaffMemberIds},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDateTimeZone]
    # dateTimeTimeZone
    # To construct, see NOTES section for START properties and create a hash table.
    ${Start},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessCalendarView_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessCalendarView_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessCalendarView_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessCalendarView_CreateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create a new bookingCustomer object.
.Description
Create a new bookingCustomer object.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
$params = @{
    DisplayName = "Joni Sherman"
    EmailAddress = "jonis@relecloud.com"
    Addresses = @(
        @{
            PostOfficeBox = ""
            Street = "4567 Main Street"
            City = "Buffalo"
            State = "NY"
            CountryOrRegion = "USA"
            PostalCode = "98052"
            Type = "home"
        }
        @{
            PostOfficeBox = ""
            Street = "4570 Main Street"
            City = "Buffalo"
            State = "NY"
            CountryOrRegion = "USA"
            PostalCode = "98054"
            Type = "business"
        }
    )
    Phones = @(
        @{
            Number = "206-555-0100"
            Type = "home"
        }
        @{
            Number = "206-555-0200"
            Type = "business"
        }
    )
}
New-MgBetaBookingBusinessCustomer -BookingBusinessId $bookingBusinessId -BodyParameter $params
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomer
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomer
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
ADDRESSES <IMicrosoftGraphPhysicalAddress[]>: Addresses associated with the customer, including home, business and other addresses.
  [City <String>]: The city.
  [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
  [PostOfficeBox <String>]: The post office box number.
  [PostalCode <String>]: The postal code.
  [State <String>]: The state.
  [Street <String>]: The street.
  [Type <String>]: physicalAddressType
 
BODYPARAMETER <IMicrosoftGraphBookingCustomer>: Represents a customer of the business.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [EmailAddress <String>]: The email address of the person.
  [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Addresses <IMicrosoftGraphPhysicalAddress[]>]: Addresses associated with the customer, including home, business and other addresses.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Phones <IMicrosoftGraphPhone[]>]: Phone numbers associated with the customer, including home, business and mobile numbers.
    [Number <String>]: The phone number.
    [Type <String>]: phoneType
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
PHONES <IMicrosoftGraphPhone[]>: Phone numbers associated with the customer, including home, business and mobile numbers.
  [Number <String>]: The phone number.
  [Type <String>]: phoneType
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/new-mgbetabookingbusinesscustomer
#>

function New-MgBetaBookingBusinessCustomer {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomer])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomer]
    # Represents a customer of the business.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPhysicalAddress[]]
    # Addresses associated with the customer, including home, business and other addresses.
    # To construct, see NOTES section for ADDRESSES properties and create a hash table.
    ${Addresses},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # A name for the derived entity, which interfaces with customers.
    ${DisplayName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The email address of the person.
    ${EmailAddress},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPhone[]]
    # Phone numbers associated with the customer, including home, business and mobile numbers.
    # To construct, see NOTES section for PHONES properties and create a hash table.
    ${Phones},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessCustomer_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessCustomer_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessCustomer_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessCustomer_CreateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create new navigation property to customQuestions for bookingBusinesses
.Description
Create new navigation property to customQuestions for bookingBusinesses
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomQuestion
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomQuestion
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphBookingCustomQuestion>: Represents a custom question of the business.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AnswerInputType <String>]: answerInputType
  [AnswerOptions <String[]>]: List of possible answer values.
  [DisplayName <String>]: Display name of this entity.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/new-mgbetabookingbusinesscustomquestion
#>

function New-MgBetaBookingBusinessCustomQuestion {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomQuestion])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomQuestion]
    # Represents a custom question of the business.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # answerInputType
    ${AnswerInputType},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String[]]
    # List of possible answer values.
    ${AnswerOptions},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Display name of this entity.
    ${DisplayName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessCustomQuestion_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessCustomQuestion_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessCustomQuestion_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessCustomQuestion_CreateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create a new bookingService for the specified bookingBusiness.
.Description
Create a new bookingService for the specified bookingBusiness.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
$params = @{
    "@odata.type" = "#microsoft.graph.bookingService"
    DefaultDuration = "PT1H30M"
    DefaultLocation = @{
        "@odata.type" = "#microsoft.graph.location"
        Address = @{
            "@odata.type" = "#microsoft.graph.physicalAddress"
            City = "Buffalo"
            CountryOrRegion = "USA"
            PostalCode = "98052"
            PostOfficeBox = $null
            State = "NY"
            Street = "4567 First Street"
            "Type@odata.type" = "#microsoft.graph.physicalAddressType"
            Type = $null
        }
        Coordinates = $null
        DisplayName = "Contoso Lunch Delivery"
        LocationEmailAddress = $null
        "LocationType@odata.type" = "#microsoft.graph.locationType"
        LocationType = $null
        LocationUri = $null
        UniqueId = $null
        "UniqueIdType@odata.type" = "#microsoft.graph.locationUniqueIdType"
        UniqueIdType = $null
    }
    DefaultPrice = 10
    "DefaultPriceType@odata.type" = "#microsoft.graph.bookingPriceType"
    DefaultPriceType = "fixedPrice"
    "DefaultReminders@odata.type" = "#Collection(microsoft.graph.bookingReminder)"
    DefaultReminders = @(
        @{
            "@odata.type" = "#microsoft.graph.bookingReminder"
            Message = "Please be reminded that this service is tomorrow."
            Offset = "P1D"
            "Recipients@odata.type" = "#microsoft.graph.bookingReminderRecipients"
            Recipients = "allAttendees"
        }
    )
    Description = "Individual bento box lunch delivery"
    DisplayName = "Bento"
    IsLocationOnline = $true
    SmsNotificationsEnabled = $true
    LanguageTag = "en-US"
    IsHiddenFromCustomers = $false
    Notes = "Home-cooked special"
    PostBuffer = "PT10M"
    PreBuffer = "PT5M"
    SchedulingPolicy = @{
        "@odata.type" = "#microsoft.graph.bookingSchedulingPolicy"
        AllowStaffSelection = $true
        MaximumAdvance = "P10D"
        MinimumLeadTime = "PT10H"
        SendConfirmationsToOwner = $true
        TimeSlotInterval = "PT1H"
    }
    "StaffMemberIds@odata.type" = "#Collection(String)"
    StaffMemberIds = @(
        "d90d1e8c-5cfe-48cf-a2d5-966267375b6a"
        "2f5f8794-0b29-45b5-b56a-2eb5ff7aa880"
    )
    IsAnonymousJoinEnabled = $false
}
New-MgBetaBookingBusinessService -BookingBusinessId $bookingBusinessId -BodyParameter $params
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingService
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingService
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphBookingService>: Represents a particular service offered by a booking business.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
  [CustomQuestions <IMicrosoftGraphBookingQuestionAssignment[]>]: Contains the set of custom questions associated with a particular service.
    [IsRequired <Boolean?>]: Indicates whether it is mandatory to answer the custom question.
    [QuestionId <String>]: If it is mandatory to answer the custom question.
  [DefaultDuration <TimeSpan?>]: The default length of the service, represented in numbers of days, hours, minutes, and seconds. For example, P11D23H59M59.999999999999S.
  [DefaultLocation <IMicrosoftGraphLocation>]: location
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
      [(Any) <Object>]: This indicates any property can be added to this object.
      [City <String>]: The city.
      [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
      [PostOfficeBox <String>]: The post office box number.
      [PostalCode <String>]: The postal code.
      [State <String>]: The state.
      [Street <String>]: The street.
      [Type <String>]: physicalAddressType
    [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
      [Altitude <Double?>]: The altitude of the location.
      [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
      [Latitude <Double?>]: The latitude of the location.
      [Longitude <Double?>]: The longitude of the location.
    [DisplayName <String>]: The name associated with the location.
    [LocationEmailAddress <String>]: Optional email address of the location.
    [LocationType <String>]: locationType
    [LocationUri <String>]: Optional URI representing the location.
    [UniqueId <String>]: For internal use only.
    [UniqueIdType <String>]: locationUniqueIdType
  [DefaultPrice <Double?>]: The default monetary price for the service.
  [DefaultPriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
  [DefaultReminders <IMicrosoftGraphBookingReminder[]>]: The default set of reminders for an appointment of this service. The value of this property is available only when reading this bookingService by its ID.
    [Message <String>]: The message in the reminder.
    [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
    [Recipients <String>]: bookingReminderRecipients
  [Description <String>]: A text description for the service.
  [IsAnonymousJoinEnabled <Boolean?>]: True if an anonymousJoinWebUrl(webrtcUrl) will be generated for the appointment booked for this service.
  [IsHiddenFromCustomers <Boolean?>]: True means this service is not available to customers for booking.
  [IsLocationOnline <Boolean?>]: True indicates that the appointments for the service will be held online. Default value is false.
  [LanguageTag <String>]: The language of the self service booking page.
  [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in a service. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
  [Notes <String>]: Additional information about this service.
  [PostBuffer <TimeSpan?>]: The time to buffer after an appointment for this service ends, and before the next customer appointment can be booked.
  [PreBuffer <TimeSpan?>]: The time to buffer before an appointment for this service can start.
  [SchedulingPolicy <IMicrosoftGraphBookingSchedulingPolicy>]: This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AllowStaffSelection <Boolean?>]: True if to allow customers to choose a specific person for the booking.
    [MaximumAdvance <TimeSpan?>]: Maximum number of days in advance that a booking can be made. It follows the ISO 8601 format.
    [MinimumLeadTime <TimeSpan?>]: The minimum amount of time before which bookings and cancellations must be made. It follows the ISO 8601 format.
    [SendConfirmationsToOwner <Boolean?>]: True to notify the business via email when a booking is created or changed. Use the email address specified in the email property of the bookingBusiness entity for the business.
    [TimeSlotInterval <TimeSpan?>]: Duration of each time slot, denoted in ISO 8601 format.
  [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications can be sent to the customers for the appointment of the service. Default value is false.
  [StaffMemberIds <String[]>]: Represents those staff members who provide this service.
 
CUSTOMQUESTIONS <IMicrosoftGraphBookingQuestionAssignment[]>: Contains the set of custom questions associated with a particular service.
  [IsRequired <Boolean?>]: Indicates whether it is mandatory to answer the custom question.
  [QuestionId <String>]: If it is mandatory to answer the custom question.
 
DEFAULTLOCATION <IMicrosoftGraphLocation>: location
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
    [(Any) <Object>]: This indicates any property can be added to this object.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
    [Altitude <Double?>]: The altitude of the location.
    [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
    [Latitude <Double?>]: The latitude of the location.
    [Longitude <Double?>]: The longitude of the location.
  [DisplayName <String>]: The name associated with the location.
  [LocationEmailAddress <String>]: Optional email address of the location.
  [LocationType <String>]: locationType
  [LocationUri <String>]: Optional URI representing the location.
  [UniqueId <String>]: For internal use only.
  [UniqueIdType <String>]: locationUniqueIdType
 
DEFAULTREMINDERS <IMicrosoftGraphBookingReminder[]>: The default set of reminders for an appointment of this service. The value of this property is available only when reading this bookingService by its ID.
  [Message <String>]: The message in the reminder.
  [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
  [Recipients <String>]: bookingReminderRecipients
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
SCHEDULINGPOLICY <IMicrosoftGraphBookingSchedulingPolicy>: This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AllowStaffSelection <Boolean?>]: True if to allow customers to choose a specific person for the booking.
  [MaximumAdvance <TimeSpan?>]: Maximum number of days in advance that a booking can be made. It follows the ISO 8601 format.
  [MinimumLeadTime <TimeSpan?>]: The minimum amount of time before which bookings and cancellations must be made. It follows the ISO 8601 format.
  [SendConfirmationsToOwner <Boolean?>]: True to notify the business via email when a booking is created or changed. Use the email address specified in the email property of the bookingBusiness entity for the business.
  [TimeSlotInterval <TimeSpan?>]: Duration of each time slot, denoted in ISO 8601 format.
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/new-mgbetabookingbusinessservice
#>

function New-MgBetaBookingBusinessService {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingService])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingService]
    # Represents a particular service offered by a booking business.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Additional information that is sent to the customer when an appointment is confirmed.
    ${AdditionalInformation},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingQuestionAssignment[]]
    # Contains the set of custom questions associated with a particular service.
    # To construct, see NOTES section for CUSTOMQUESTIONS properties and create a hash table.
    ${CustomQuestions},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.TimeSpan]
    # The default length of the service, represented in numbers of days, hours, minutes, and seconds.
    # For example, P11D23H59M59.999999999999S.
    ${DefaultDuration},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphLocation]
    # location
    # To construct, see NOTES section for DEFAULTLOCATION properties and create a hash table.
    ${DefaultLocation},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Double]
    # The default monetary price for the service.
    ${DefaultPrice},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [ArgumentCompleter([Microsoft.Graph.Beta.PowerShell.Support.BookingPriceType])]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Support.BookingPriceType]
    # Represents the type of pricing of a booking service.
    ${DefaultPriceType},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingReminder[]]
    # The default set of reminders for an appointment of this service.
    # The value of this property is available only when reading this bookingService by its ID.
    # To construct, see NOTES section for DEFAULTREMINDERS properties and create a hash table.
    ${DefaultReminders},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # A text description for the service.
    ${Description},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # A name for the derived entity, which interfaces with customers.
    ${DisplayName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True if an anonymousJoinWebUrl(webrtcUrl) will be generated for the appointment booked for this service.
    ${IsAnonymousJoinEnabled},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True means this service is not available to customers for booking.
    ${IsHiddenFromCustomers},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates that the appointments for the service will be held online.
    # Default value is false.
    ${IsLocationOnline},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The language of the self service booking page.
    ${LanguageTag},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # The maximum number of customers allowed in a service.
    # If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment.
    # To create a customer, use the Create bookingCustomer operation.
    ${MaximumAttendeesCount},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Additional information about this service.
    ${Notes},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.TimeSpan]
    # The time to buffer after an appointment for this service ends, and before the next customer appointment can be booked.
    ${PostBuffer},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.TimeSpan]
    # The time to buffer before an appointment for this service can start.
    ${PreBuffer},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingSchedulingPolicy]
    # This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
    # To construct, see NOTES section for SCHEDULINGPOLICY properties and create a hash table.
    ${SchedulingPolicy},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates SMS notifications can be sent to the customers for the appointment of the service.
    # Default value is false.
    ${SmsNotificationsEnabled},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String[]]
    # Represents those staff members who provide this service.
    ${StaffMemberIds},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessService_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessService_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessService_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessService_CreateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create a new staff member in the specified bookingBusiness.
.Description
Create a new staff member in the specified bookingBusiness.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
$params = @{
    "@odata.type" = "#microsoft.graph.bookingStaffMember"
    ColorIndex = 1
    DisplayName = "Dana Swope"
    EmailAddress = "danas@contoso.com"
    "Role@odata.type" = "#microsoft.graph.bookingStaffRole"
    Role = "externalGuest"
    TimeZone = "America/Chicago"
    UseBusinessHours = $true
    "WorkingHours@odata.type" = "#Collection(microsoft.graph.bookingWorkHours)"
    WorkingHours = @(
        @{
            "@odata.type" = "#microsoft.graph.bookingWorkHours"
            "Day@odata.type" = "#microsoft.graph.dayOfWeek"
            Day = "monday"
            "TimeSlots@odata.type" = "#Collection(microsoft.graph.bookingWorkTimeSlot)"
            TimeSlots = @(
                @{
                    "@odata.type" = "#microsoft.graph.bookingWorkTimeSlot"
                    End = "17:00:00.0000000"
                    Start = "08:00:00.0000000"
                }
            )
        }
        @{
            "@odata.type" = "#microsoft.graph.bookingWorkHours"
            "Day@odata.type" = "#microsoft.graph.dayOfWeek"
            Day = "tuesday"
            "TimeSlots@odata.type" = "#Collection(microsoft.graph.bookingWorkTimeSlot)"
            TimeSlots = @(
                @{
                    "@odata.type" = "#microsoft.graph.bookingWorkTimeSlot"
                    End = "17:00:00.0000000"
                    Start = "08:00:00.0000000"
                }
            )
        }
        @{
            "@odata.type" = "#microsoft.graph.bookingWorkHours"
            "Day@odata.type" = "#microsoft.graph.dayOfWeek"
            Day = "wednesday"
            "TimeSlots@odata.type" = "#Collection(microsoft.graph.bookingWorkTimeSlot)"
            TimeSlots = @(
                @{
                    "@odata.type" = "#microsoft.graph.bookingWorkTimeSlot"
                    End = "17:00:00.0000000"
                    Start = "08:00:00.0000000"
                }
            )
        }
        @{
            "@odata.type" = "#microsoft.graph.bookingWorkHours"
            "Day@odata.type" = "#microsoft.graph.dayOfWeek"
            Day = "thursday"
            "TimeSlots@odata.type" = "#Collection(microsoft.graph.bookingWorkTimeSlot)"
            TimeSlots = @(
                @{
                    "@odata.type" = "#microsoft.graph.bookingWorkTimeSlot"
                    End = "17:00:00.0000000"
                    Start = "08:00:00.0000000"
                }
            )
        }
        @{
            "@odata.type" = "#microsoft.graph.bookingWorkHours"
            "Day@odata.type" = "#microsoft.graph.dayOfWeek"
            Day = "friday"
            "TimeSlots@odata.type" = "#Collection(microsoft.graph.bookingWorkTimeSlot)"
            TimeSlots = @(
                @{
                    "@odata.type" = "#microsoft.graph.bookingWorkTimeSlot"
                    End = "17:00:00.0000000"
                    Start = "08:00:00.0000000"
                }
            )
        }
    )
    IsEmailNotificationEnabled = $false
}
New-MgBetaBookingBusinessStaffMember -BookingBusinessId $bookingBusinessId -BodyParameter $params
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingStaffMember
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingStaffMember
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphBookingStaffMember>: Represents a staff member who provides services in a business.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [EmailAddress <String>]: The email address of the person.
  [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AvailabilityIsAffectedByPersonalCalendar <Boolean?>]: True means that if the staff member is a Microsoft 365 user, the Bookings API would verify the staff member's availability in their personal calendar in Microsoft 365, before making a booking.
  [ColorIndex <Int32?>]: Identifies a color to represent the staff member. The color corresponds to the color palette in the Staff details page in the Bookings app.
  [IsEmailNotificationEnabled <Boolean?>]: True indicates that a staff member will be notified via email when a booking assigned to them is created or changed.
  [MembershipStatus <String>]: bookingStaffMembershipStatus
  [Role <String>]: bookingStaffRole
  [TimeZone <String>]: The time zone of the staff member. For a list of possible values, see dateTimeTimeZone.
  [UseBusinessHours <Boolean?>]: True means the staff member's availability is as specified in the businessHours property of the business. False means the availability is determined by the staff member's workingHours property setting.
  [WorkingHours <IMicrosoftGraphBookingWorkHours[]>]: The range of hours each day of the week that the staff member is available for booking. By default, they are initialized to be the same as the businessHours property of the business.
    [Day <String>]: dayOfWeek
    [TimeSlots <IMicrosoftGraphBookingWorkTimeSlot[]>]: A list of start/end times during a day.
      [End <String>]: The time of the day when work stops. For example, 17:00:00.0000000.
      [Start <String>]: The time of the day when work starts. For example, 08:00:00.0000000.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
WORKINGHOURS <IMicrosoftGraphBookingWorkHours[]>: The range of hours each day of the week that the staff member is available for booking. By default, they are initialized to be the same as the businessHours property of the business.
  [Day <String>]: dayOfWeek
  [TimeSlots <IMicrosoftGraphBookingWorkTimeSlot[]>]: A list of start/end times during a day.
    [End <String>]: The time of the day when work stops. For example, 17:00:00.0000000.
    [Start <String>]: The time of the day when work starts. For example, 08:00:00.0000000.
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/new-mgbetabookingbusinessstaffmember
#>

function New-MgBetaBookingBusinessStaffMember {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingStaffMember])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingStaffMember]
    # Represents a staff member who provides services in a business.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True means that if the staff member is a Microsoft 365 user, the Bookings API would verify the staff member's availability in their personal calendar in Microsoft 365, before making a booking.
    ${AvailabilityIsAffectedByPersonalCalendar},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # Identifies a color to represent the staff member.
    # The color corresponds to the color palette in the Staff details page in the Bookings app.
    ${ColorIndex},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # A name for the derived entity, which interfaces with customers.
    ${DisplayName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The email address of the person.
    ${EmailAddress},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates that a staff member will be notified via email when a booking assigned to them is created or changed.
    ${IsEmailNotificationEnabled},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # bookingStaffMembershipStatus
    ${MembershipStatus},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # bookingStaffRole
    ${Role},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The time zone of the staff member.
    # For a list of possible values, see dateTimeTimeZone.
    ${TimeZone},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True means the staff member's availability is as specified in the businessHours property of the business.
    # False means the availability is determined by the staff member's workingHours property setting.
    ${UseBusinessHours},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingWorkHours[]]
    # The range of hours each day of the week that the staff member is available for booking.
    # By default, they are initialized to be the same as the businessHours property of the business.
    # To construct, see NOTES section for WORKINGHOURS properties and create a hash table.
    ${WorkingHours},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessStaffMember_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessStaffMember_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessStaffMember_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusinessStaffMember_CreateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create a new Microsoft Bookings business in a tenant.
This is the first step in setting up a Bookings business where you must specify the business display name.
You can include other information such as business address, web site address, and scheduling policy, or set that information later by updating the **bookingBusiness**.
.Description
Create a new Microsoft Bookings business in a tenant.
This is the first step in setting up a Bookings business where you must specify the business display name.
You can include other information such as business address, web site address, and scheduling policy, or set that information later by updating the **bookingBusiness**.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
$params = @{
    DisplayName = "Fourth Coffee"
    Address = @{
        PostOfficeBox = "P.O. Box 123"
        Street = "4567 Main Street"
        City = "Buffalo"
        State = "NY"
        CountryOrRegion = "USA"
        PostalCode = "98052"
    }
    Phone = "206-555-0100"
    Email = "manager@fourthcoffee.com"
    WebSiteUrl = "https://www.fourthcoffee.com"
    DefaultCurrencyIso = "USD"
}
New-MgBetaBookingBusiness -BodyParameter $params
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingBusiness
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingBusiness
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
ADDRESS <IMicrosoftGraphPhysicalAddress>: physicalAddress
  [(Any) <Object>]: This indicates any property can be added to this object.
  [City <String>]: The city.
  [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
  [PostOfficeBox <String>]: The post office box number.
  [PostalCode <String>]: The postal code.
  [State <String>]: The state.
  [Street <String>]: The street.
  [Type <String>]: physicalAddressType
 
APPOINTMENTS <IMicrosoftGraphBookingAppointment[]>: All the appointments of this business. Read-only. Nullable.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
  [AnonymousJoinWebUrl <String>]: The URL of the meeting to join anonymously.
  [CustomerEmailAddress <String>]: The SMTP address of the bookingCustomer who is booking the appointment.
  [CustomerId <String>]: The ID of the bookingCustomer for this appointment. If no ID is specified when an appointment is created, then a new bookingCustomer object is created. Once set, you should consider the customerId immutable.
  [CustomerLocation <IMicrosoftGraphLocation>]: location
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
      [(Any) <Object>]: This indicates any property can be added to this object.
      [City <String>]: The city.
      [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
      [PostOfficeBox <String>]: The post office box number.
      [PostalCode <String>]: The postal code.
      [State <String>]: The state.
      [Street <String>]: The street.
      [Type <String>]: physicalAddressType
    [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
      [Altitude <Double?>]: The altitude of the location.
      [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
      [Latitude <Double?>]: The latitude of the location.
      [Longitude <Double?>]: The longitude of the location.
    [DisplayName <String>]: The name associated with the location.
    [LocationEmailAddress <String>]: Optional email address of the location.
    [LocationType <String>]: locationType
    [LocationUri <String>]: Optional URI representing the location.
    [UniqueId <String>]: For internal use only.
    [UniqueIdType <String>]: locationUniqueIdType
  [CustomerName <String>]: The customer's name.
  [CustomerNotes <String>]: Notes from the customer associated with this appointment. You can get the value only when reading this bookingAppointment by its ID. You can set this property only when initially creating an appointment with a new customer. After that point, the value is computed from the customer represented by customerId.
  [CustomerPhone <String>]: The customer's phone number.
  [CustomerTimeZone <String>]: The time zone of the customer. For a list of possible values, see dateTimeTimeZone.
  [Customers <IMicrosoftGraphBookingCustomerInformationBase[]>]: A collection of the customer properties for an appointment. An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment. Optional.
  [End <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
    [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
  [InvoiceAmount <Double?>]: The billed amount on the invoice.
  [InvoiceDate <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
  [InvoiceId <String>]: The ID of the invoice.
  [InvoiceStatus <String>]: bookingInvoiceStatus
  [InvoiceUrl <String>]: The URL of the invoice in Microsoft Bookings.
  [IsLocationOnline <Boolean?>]: True indicates that the appointment will be held online. Default value is false.
  [JoinWebUrl <String>]: The URL of the online meeting for the appointment.
  [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in an appointment. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
  [OnlineMeetingUrl <String>]:
  [OptOutOfCustomerEmail <Boolean?>]: True indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this appointment.
  [PostBuffer <TimeSpan?>]: The amount of time to reserve after the appointment ends, for cleaning up, as an example. The value is expressed in ISO8601 format.
  [PreBuffer <TimeSpan?>]: The amount of time to reserve before the appointment begins, for preparation, as an example. The value is expressed in ISO8601 format.
  [Price <Double?>]: The regular price for an appointment for the specified bookingService.
  [PriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
  [Reminders <IMicrosoftGraphBookingReminder[]>]: The collection of customer reminders sent for this appointment. The value of this property is available only when reading this bookingAppointment by its ID.
    [Message <String>]: The message in the reminder.
    [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
    [Recipients <String>]: bookingReminderRecipients
  [SelfServiceAppointmentId <String>]: An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the scheduling page, as opposed to by a staff member on the behalf of the customer.
  [ServiceId <String>]: The ID of the bookingService associated with this appointment.
  [ServiceLocation <IMicrosoftGraphLocation>]: location
  [ServiceName <String>]: The name of the bookingService associated with this appointment.This property is optional when creating a new appointment. If not specified, it is computed from the service associated with the appointment by the serviceId property.
  [ServiceNotes <String>]: Notes from a bookingStaffMember. The value of this property is available only when reading this bookingAppointment by its ID.
  [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications will be sent to the customers for the appointment. Default value is false.
  [StaffMemberIds <String[]>]: The ID of each bookingStaffMember who is scheduled in this appointment.
  [Start <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
 
BODYPARAMETER <IMicrosoftGraphBookingBusiness>: Represents a Microsot Bookings Business.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
    [(Any) <Object>]: This indicates any property can be added to this object.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Appointments <IMicrosoftGraphBookingAppointment[]>]: All the appointments of this business. Read-only. Nullable.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
    [AnonymousJoinWebUrl <String>]: The URL of the meeting to join anonymously.
    [CustomerEmailAddress <String>]: The SMTP address of the bookingCustomer who is booking the appointment.
    [CustomerId <String>]: The ID of the bookingCustomer for this appointment. If no ID is specified when an appointment is created, then a new bookingCustomer object is created. Once set, you should consider the customerId immutable.
    [CustomerLocation <IMicrosoftGraphLocation>]: location
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
      [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
        [Altitude <Double?>]: The altitude of the location.
        [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
        [Latitude <Double?>]: The latitude of the location.
        [Longitude <Double?>]: The longitude of the location.
      [DisplayName <String>]: The name associated with the location.
      [LocationEmailAddress <String>]: Optional email address of the location.
      [LocationType <String>]: locationType
      [LocationUri <String>]: Optional URI representing the location.
      [UniqueId <String>]: For internal use only.
      [UniqueIdType <String>]: locationUniqueIdType
    [CustomerName <String>]: The customer's name.
    [CustomerNotes <String>]: Notes from the customer associated with this appointment. You can get the value only when reading this bookingAppointment by its ID. You can set this property only when initially creating an appointment with a new customer. After that point, the value is computed from the customer represented by customerId.
    [CustomerPhone <String>]: The customer's phone number.
    [CustomerTimeZone <String>]: The time zone of the customer. For a list of possible values, see dateTimeTimeZone.
    [Customers <IMicrosoftGraphBookingCustomerInformationBase[]>]: A collection of the customer properties for an appointment. An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment. Optional.
    [End <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
      [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
    [InvoiceAmount <Double?>]: The billed amount on the invoice.
    [InvoiceDate <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
    [InvoiceId <String>]: The ID of the invoice.
    [InvoiceStatus <String>]: bookingInvoiceStatus
    [InvoiceUrl <String>]: The URL of the invoice in Microsoft Bookings.
    [IsLocationOnline <Boolean?>]: True indicates that the appointment will be held online. Default value is false.
    [JoinWebUrl <String>]: The URL of the online meeting for the appointment.
    [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in an appointment. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
    [OnlineMeetingUrl <String>]:
    [OptOutOfCustomerEmail <Boolean?>]: True indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this appointment.
    [PostBuffer <TimeSpan?>]: The amount of time to reserve after the appointment ends, for cleaning up, as an example. The value is expressed in ISO8601 format.
    [PreBuffer <TimeSpan?>]: The amount of time to reserve before the appointment begins, for preparation, as an example. The value is expressed in ISO8601 format.
    [Price <Double?>]: The regular price for an appointment for the specified bookingService.
    [PriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
    [Reminders <IMicrosoftGraphBookingReminder[]>]: The collection of customer reminders sent for this appointment. The value of this property is available only when reading this bookingAppointment by its ID.
      [Message <String>]: The message in the reminder.
      [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
      [Recipients <String>]: bookingReminderRecipients
    [SelfServiceAppointmentId <String>]: An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the scheduling page, as opposed to by a staff member on the behalf of the customer.
    [ServiceId <String>]: The ID of the bookingService associated with this appointment.
    [ServiceLocation <IMicrosoftGraphLocation>]: location
    [ServiceName <String>]: The name of the bookingService associated with this appointment.This property is optional when creating a new appointment. If not specified, it is computed from the service associated with the appointment by the serviceId property.
    [ServiceNotes <String>]: Notes from a bookingStaffMember. The value of this property is available only when reading this bookingAppointment by its ID.
    [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications will be sent to the customers for the appointment. Default value is false.
    [StaffMemberIds <String[]>]: The ID of each bookingStaffMember who is scheduled in this appointment.
    [Start <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
  [BusinessHours <IMicrosoftGraphBookingWorkHours[]>]: The hours of operation for the business.
    [Day <String>]: dayOfWeek
    [TimeSlots <IMicrosoftGraphBookingWorkTimeSlot[]>]: A list of start/end times during a day.
      [End <String>]: The time of the day when work stops. For example, 17:00:00.0000000.
      [Start <String>]: The time of the day when work starts. For example, 08:00:00.0000000.
  [BusinessType <String>]: The type of business.
  [CalendarView <IMicrosoftGraphBookingAppointment[]>]: The set of appointments of this business in a specified date range. Read-only. Nullable.
  [CustomQuestions <IMicrosoftGraphBookingCustomQuestion[]>]: All the custom questions of this business. Read-only. Nullable.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AnswerInputType <String>]: answerInputType
    [AnswerOptions <String[]>]: List of possible answer values.
    [DisplayName <String>]: Display name of this entity.
  [Customers <IMicrosoftGraphBookingCustomer[]>]: All the customers of this business. Read-only. Nullable.
    [EmailAddress <String>]: The email address of the person.
    [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [Addresses <IMicrosoftGraphPhysicalAddress[]>]: Addresses associated with the customer, including home, business and other addresses.
    [Phones <IMicrosoftGraphPhone[]>]: Phone numbers associated with the customer, including home, business and mobile numbers.
      [Number <String>]: The phone number.
      [Type <String>]: phoneType
  [DefaultCurrencyIso <String>]: The code for the currency that the business operates in on Microsoft Bookings.
  [Email <String>]: The email address for the business.
  [LanguageTag <String>]: The language of the self service booking page
  [Phone <String>]: The telephone number for the business. The phone property, together with address and webSiteUrl, appear in the footer of a business scheduling page.
  [SchedulingPolicy <IMicrosoftGraphBookingSchedulingPolicy>]: This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AllowStaffSelection <Boolean?>]: True if to allow customers to choose a specific person for the booking.
    [MaximumAdvance <TimeSpan?>]: Maximum number of days in advance that a booking can be made. It follows the ISO 8601 format.
    [MinimumLeadTime <TimeSpan?>]: The minimum amount of time before which bookings and cancellations must be made. It follows the ISO 8601 format.
    [SendConfirmationsToOwner <Boolean?>]: True to notify the business via email when a booking is created or changed. Use the email address specified in the email property of the bookingBusiness entity for the business.
    [TimeSlotInterval <TimeSpan?>]: Duration of each time slot, denoted in ISO 8601 format.
  [Services <IMicrosoftGraphBookingService[]>]: All the services offered by this business. Read-only. Nullable.
    [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
    [CustomQuestions <IMicrosoftGraphBookingQuestionAssignment[]>]: Contains the set of custom questions associated with a particular service.
      [IsRequired <Boolean?>]: Indicates whether it is mandatory to answer the custom question.
      [QuestionId <String>]: If it is mandatory to answer the custom question.
    [DefaultDuration <TimeSpan?>]: The default length of the service, represented in numbers of days, hours, minutes, and seconds. For example, P11D23H59M59.999999999999S.
    [DefaultLocation <IMicrosoftGraphLocation>]: location
    [DefaultPrice <Double?>]: The default monetary price for the service.
    [DefaultPriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
    [DefaultReminders <IMicrosoftGraphBookingReminder[]>]: The default set of reminders for an appointment of this service. The value of this property is available only when reading this bookingService by its ID.
    [Description <String>]: A text description for the service.
    [IsAnonymousJoinEnabled <Boolean?>]: True if an anonymousJoinWebUrl(webrtcUrl) will be generated for the appointment booked for this service.
    [IsHiddenFromCustomers <Boolean?>]: True means this service is not available to customers for booking.
    [IsLocationOnline <Boolean?>]: True indicates that the appointments for the service will be held online. Default value is false.
    [LanguageTag <String>]: The language of the self service booking page.
    [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in a service. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
    [Notes <String>]: Additional information about this service.
    [PostBuffer <TimeSpan?>]: The time to buffer after an appointment for this service ends, and before the next customer appointment can be booked.
    [PreBuffer <TimeSpan?>]: The time to buffer before an appointment for this service can start.
    [SchedulingPolicy <IMicrosoftGraphBookingSchedulingPolicy>]: This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
    [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications can be sent to the customers for the appointment of the service. Default value is false.
    [StaffMemberIds <String[]>]: Represents those staff members who provide this service.
  [StaffMembers <IMicrosoftGraphBookingStaffMember[]>]: All the staff members that provide services in this business. Read-only. Nullable.
    [EmailAddress <String>]: The email address of the person.
    [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AvailabilityIsAffectedByPersonalCalendar <Boolean?>]: True means that if the staff member is a Microsoft 365 user, the Bookings API would verify the staff member's availability in their personal calendar in Microsoft 365, before making a booking.
    [ColorIndex <Int32?>]: Identifies a color to represent the staff member. The color corresponds to the color palette in the Staff details page in the Bookings app.
    [IsEmailNotificationEnabled <Boolean?>]: True indicates that a staff member will be notified via email when a booking assigned to them is created or changed.
    [MembershipStatus <String>]: bookingStaffMembershipStatus
    [Role <String>]: bookingStaffRole
    [TimeZone <String>]: The time zone of the staff member. For a list of possible values, see dateTimeTimeZone.
    [UseBusinessHours <Boolean?>]: True means the staff member's availability is as specified in the businessHours property of the business. False means the availability is determined by the staff member's workingHours property setting.
    [WorkingHours <IMicrosoftGraphBookingWorkHours[]>]: The range of hours each day of the week that the staff member is available for booking. By default, they are initialized to be the same as the businessHours property of the business.
  [WebSiteUrl <String>]: The URL of the business web site. The webSiteUrl property, together with address, phone, appear in the footer of a business scheduling page.
 
BUSINESSHOURS <IMicrosoftGraphBookingWorkHours[]>: The hours of operation for the business.
  [Day <String>]: dayOfWeek
  [TimeSlots <IMicrosoftGraphBookingWorkTimeSlot[]>]: A list of start/end times during a day.
    [End <String>]: The time of the day when work stops. For example, 17:00:00.0000000.
    [Start <String>]: The time of the day when work starts. For example, 08:00:00.0000000.
 
CALENDARVIEW <IMicrosoftGraphBookingAppointment[]>: The set of appointments of this business in a specified date range. Read-only. Nullable.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
  [AnonymousJoinWebUrl <String>]: The URL of the meeting to join anonymously.
  [CustomerEmailAddress <String>]: The SMTP address of the bookingCustomer who is booking the appointment.
  [CustomerId <String>]: The ID of the bookingCustomer for this appointment. If no ID is specified when an appointment is created, then a new bookingCustomer object is created. Once set, you should consider the customerId immutable.
  [CustomerLocation <IMicrosoftGraphLocation>]: location
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
      [(Any) <Object>]: This indicates any property can be added to this object.
      [City <String>]: The city.
      [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
      [PostOfficeBox <String>]: The post office box number.
      [PostalCode <String>]: The postal code.
      [State <String>]: The state.
      [Street <String>]: The street.
      [Type <String>]: physicalAddressType
    [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
      [Altitude <Double?>]: The altitude of the location.
      [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
      [Latitude <Double?>]: The latitude of the location.
      [Longitude <Double?>]: The longitude of the location.
    [DisplayName <String>]: The name associated with the location.
    [LocationEmailAddress <String>]: Optional email address of the location.
    [LocationType <String>]: locationType
    [LocationUri <String>]: Optional URI representing the location.
    [UniqueId <String>]: For internal use only.
    [UniqueIdType <String>]: locationUniqueIdType
  [CustomerName <String>]: The customer's name.
  [CustomerNotes <String>]: Notes from the customer associated with this appointment. You can get the value only when reading this bookingAppointment by its ID. You can set this property only when initially creating an appointment with a new customer. After that point, the value is computed from the customer represented by customerId.
  [CustomerPhone <String>]: The customer's phone number.
  [CustomerTimeZone <String>]: The time zone of the customer. For a list of possible values, see dateTimeTimeZone.
  [Customers <IMicrosoftGraphBookingCustomerInformationBase[]>]: A collection of the customer properties for an appointment. An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment. Optional.
  [End <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
    [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
  [InvoiceAmount <Double?>]: The billed amount on the invoice.
  [InvoiceDate <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
  [InvoiceId <String>]: The ID of the invoice.
  [InvoiceStatus <String>]: bookingInvoiceStatus
  [InvoiceUrl <String>]: The URL of the invoice in Microsoft Bookings.
  [IsLocationOnline <Boolean?>]: True indicates that the appointment will be held online. Default value is false.
  [JoinWebUrl <String>]: The URL of the online meeting for the appointment.
  [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in an appointment. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
  [OnlineMeetingUrl <String>]:
  [OptOutOfCustomerEmail <Boolean?>]: True indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this appointment.
  [PostBuffer <TimeSpan?>]: The amount of time to reserve after the appointment ends, for cleaning up, as an example. The value is expressed in ISO8601 format.
  [PreBuffer <TimeSpan?>]: The amount of time to reserve before the appointment begins, for preparation, as an example. The value is expressed in ISO8601 format.
  [Price <Double?>]: The regular price for an appointment for the specified bookingService.
  [PriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
  [Reminders <IMicrosoftGraphBookingReminder[]>]: The collection of customer reminders sent for this appointment. The value of this property is available only when reading this bookingAppointment by its ID.
    [Message <String>]: The message in the reminder.
    [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
    [Recipients <String>]: bookingReminderRecipients
  [SelfServiceAppointmentId <String>]: An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the scheduling page, as opposed to by a staff member on the behalf of the customer.
  [ServiceId <String>]: The ID of the bookingService associated with this appointment.
  [ServiceLocation <IMicrosoftGraphLocation>]: location
  [ServiceName <String>]: The name of the bookingService associated with this appointment.This property is optional when creating a new appointment. If not specified, it is computed from the service associated with the appointment by the serviceId property.
  [ServiceNotes <String>]: Notes from a bookingStaffMember. The value of this property is available only when reading this bookingAppointment by its ID.
  [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications will be sent to the customers for the appointment. Default value is false.
  [StaffMemberIds <String[]>]: The ID of each bookingStaffMember who is scheduled in this appointment.
  [Start <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
 
CUSTOMERS <IMicrosoftGraphBookingCustomer[]>: All the customers of this business. Read-only. Nullable.
  [EmailAddress <String>]: The email address of the person.
  [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Addresses <IMicrosoftGraphPhysicalAddress[]>]: Addresses associated with the customer, including home, business and other addresses.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Phones <IMicrosoftGraphPhone[]>]: Phone numbers associated with the customer, including home, business and mobile numbers.
    [Number <String>]: The phone number.
    [Type <String>]: phoneType
 
CUSTOMQUESTIONS <IMicrosoftGraphBookingCustomQuestion[]>: All the custom questions of this business. Read-only. Nullable.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AnswerInputType <String>]: answerInputType
  [AnswerOptions <String[]>]: List of possible answer values.
  [DisplayName <String>]: Display name of this entity.
 
SCHEDULINGPOLICY <IMicrosoftGraphBookingSchedulingPolicy>: This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AllowStaffSelection <Boolean?>]: True if to allow customers to choose a specific person for the booking.
  [MaximumAdvance <TimeSpan?>]: Maximum number of days in advance that a booking can be made. It follows the ISO 8601 format.
  [MinimumLeadTime <TimeSpan?>]: The minimum amount of time before which bookings and cancellations must be made. It follows the ISO 8601 format.
  [SendConfirmationsToOwner <Boolean?>]: True to notify the business via email when a booking is created or changed. Use the email address specified in the email property of the bookingBusiness entity for the business.
  [TimeSlotInterval <TimeSpan?>]: Duration of each time slot, denoted in ISO 8601 format.
 
SERVICES <IMicrosoftGraphBookingService[]>: All the services offered by this business. Read-only. Nullable.
  [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
  [CustomQuestions <IMicrosoftGraphBookingQuestionAssignment[]>]: Contains the set of custom questions associated with a particular service.
    [IsRequired <Boolean?>]: Indicates whether it is mandatory to answer the custom question.
    [QuestionId <String>]: If it is mandatory to answer the custom question.
  [DefaultDuration <TimeSpan?>]: The default length of the service, represented in numbers of days, hours, minutes, and seconds. For example, P11D23H59M59.999999999999S.
  [DefaultLocation <IMicrosoftGraphLocation>]: location
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
      [(Any) <Object>]: This indicates any property can be added to this object.
      [City <String>]: The city.
      [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
      [PostOfficeBox <String>]: The post office box number.
      [PostalCode <String>]: The postal code.
      [State <String>]: The state.
      [Street <String>]: The street.
      [Type <String>]: physicalAddressType
    [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
      [Altitude <Double?>]: The altitude of the location.
      [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
      [Latitude <Double?>]: The latitude of the location.
      [Longitude <Double?>]: The longitude of the location.
    [DisplayName <String>]: The name associated with the location.
    [LocationEmailAddress <String>]: Optional email address of the location.
    [LocationType <String>]: locationType
    [LocationUri <String>]: Optional URI representing the location.
    [UniqueId <String>]: For internal use only.
    [UniqueIdType <String>]: locationUniqueIdType
  [DefaultPrice <Double?>]: The default monetary price for the service.
  [DefaultPriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
  [DefaultReminders <IMicrosoftGraphBookingReminder[]>]: The default set of reminders for an appointment of this service. The value of this property is available only when reading this bookingService by its ID.
    [Message <String>]: The message in the reminder.
    [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
    [Recipients <String>]: bookingReminderRecipients
  [Description <String>]: A text description for the service.
  [IsAnonymousJoinEnabled <Boolean?>]: True if an anonymousJoinWebUrl(webrtcUrl) will be generated for the appointment booked for this service.
  [IsHiddenFromCustomers <Boolean?>]: True means this service is not available to customers for booking.
  [IsLocationOnline <Boolean?>]: True indicates that the appointments for the service will be held online. Default value is false.
  [LanguageTag <String>]: The language of the self service booking page.
  [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in a service. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
  [Notes <String>]: Additional information about this service.
  [PostBuffer <TimeSpan?>]: The time to buffer after an appointment for this service ends, and before the next customer appointment can be booked.
  [PreBuffer <TimeSpan?>]: The time to buffer before an appointment for this service can start.
  [SchedulingPolicy <IMicrosoftGraphBookingSchedulingPolicy>]: This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AllowStaffSelection <Boolean?>]: True if to allow customers to choose a specific person for the booking.
    [MaximumAdvance <TimeSpan?>]: Maximum number of days in advance that a booking can be made. It follows the ISO 8601 format.
    [MinimumLeadTime <TimeSpan?>]: The minimum amount of time before which bookings and cancellations must be made. It follows the ISO 8601 format.
    [SendConfirmationsToOwner <Boolean?>]: True to notify the business via email when a booking is created or changed. Use the email address specified in the email property of the bookingBusiness entity for the business.
    [TimeSlotInterval <TimeSpan?>]: Duration of each time slot, denoted in ISO 8601 format.
  [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications can be sent to the customers for the appointment of the service. Default value is false.
  [StaffMemberIds <String[]>]: Represents those staff members who provide this service.
 
STAFFMEMBERS <IMicrosoftGraphBookingStaffMember[]>: All the staff members that provide services in this business. Read-only. Nullable.
  [EmailAddress <String>]: The email address of the person.
  [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AvailabilityIsAffectedByPersonalCalendar <Boolean?>]: True means that if the staff member is a Microsoft 365 user, the Bookings API would verify the staff member's availability in their personal calendar in Microsoft 365, before making a booking.
  [ColorIndex <Int32?>]: Identifies a color to represent the staff member. The color corresponds to the color palette in the Staff details page in the Bookings app.
  [IsEmailNotificationEnabled <Boolean?>]: True indicates that a staff member will be notified via email when a booking assigned to them is created or changed.
  [MembershipStatus <String>]: bookingStaffMembershipStatus
  [Role <String>]: bookingStaffRole
  [TimeZone <String>]: The time zone of the staff member. For a list of possible values, see dateTimeTimeZone.
  [UseBusinessHours <Boolean?>]: True means the staff member's availability is as specified in the businessHours property of the business. False means the availability is determined by the staff member's workingHours property setting.
  [WorkingHours <IMicrosoftGraphBookingWorkHours[]>]: The range of hours each day of the week that the staff member is available for booking. By default, they are initialized to be the same as the businessHours property of the business.
    [Day <String>]: dayOfWeek
    [TimeSlots <IMicrosoftGraphBookingWorkTimeSlot[]>]: A list of start/end times during a day.
      [End <String>]: The time of the day when work stops. For example, 17:00:00.0000000.
      [Start <String>]: The time of the day when work starts. For example, 08:00:00.0000000.
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/new-mgbetabookingbusiness
#>

function New-MgBetaBookingBusiness {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingBusiness])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingBusiness]
    # Represents a Microsot Bookings Business.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPhysicalAddress]
    # physicalAddress
    # To construct, see NOTES section for ADDRESS properties and create a hash table.
    ${Address},

    [Parameter(ParameterSetName='CreateExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment[]]
    # All the appointments of this business.
    # Read-only.
    # Nullable.
    # To construct, see NOTES section for APPOINTMENTS properties and create a hash table.
    ${Appointments},

    [Parameter(ParameterSetName='CreateExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingWorkHours[]]
    # The hours of operation for the business.
    # To construct, see NOTES section for BUSINESSHOURS properties and create a hash table.
    ${BusinessHours},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The type of business.
    ${BusinessType},

    [Parameter(ParameterSetName='CreateExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment[]]
    # The set of appointments of this business in a specified date range.
    # Read-only.
    # Nullable.
    # To construct, see NOTES section for CALENDARVIEW properties and create a hash table.
    ${CalendarView},

    [Parameter(ParameterSetName='CreateExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomQuestion[]]
    # All the custom questions of this business.
    # Read-only.
    # Nullable.
    # To construct, see NOTES section for CUSTOMQUESTIONS properties and create a hash table.
    ${CustomQuestions},

    [Parameter(ParameterSetName='CreateExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomer[]]
    # All the customers of this business.
    # Read-only.
    # Nullable.
    # To construct, see NOTES section for CUSTOMERS properties and create a hash table.
    ${Customers},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The code for the currency that the business operates in on Microsoft Bookings.
    ${DefaultCurrencyIso},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # A name for the derived entity, which interfaces with customers.
    ${DisplayName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The email address for the business.
    ${Email},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The language of the self service booking page
    ${LanguageTag},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The telephone number for the business.
    # The phone property, together with address and webSiteUrl, appear in the footer of a business scheduling page.
    ${Phone},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingSchedulingPolicy]
    # This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
    # To construct, see NOTES section for SCHEDULINGPOLICY properties and create a hash table.
    ${SchedulingPolicy},

    [Parameter(ParameterSetName='CreateExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingService[]]
    # All the services offered by this business.
    # Read-only.
    # Nullable.
    # To construct, see NOTES section for SERVICES properties and create a hash table.
    ${Services},

    [Parameter(ParameterSetName='CreateExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingStaffMember[]]
    # All the staff members that provide services in this business.
    # Read-only.
    # Nullable.
    # To construct, see NOTES section for STAFFMEMBERS properties and create a hash table.
    ${StaffMembers},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL of the business web site.
    # The webSiteUrl property, together with address, phone, appear in the footer of a business scheduling page.
    ${WebSiteUrl},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusiness_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingBusiness_CreateExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Add new entity to bookingCurrencies
.Description
Add new entity to bookingCurrencies
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCurrency
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCurrency
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphBookingCurrency>: bookingCurrency
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Symbol <String>]: The currency symbol. For example, the currency symbol for the US dollar and for the Australian dollar is $.
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/new-mgbetabookingcurrency
#>

function New-MgBetaBookingCurrency {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCurrency])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCurrency]
    # bookingCurrency
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The currency symbol.
    # For example, the currency symbol for the US dollar and for the Australian dollar is $.
    ${Symbol},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingCurrency_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBookingCurrency_CreateExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create a new plannerPlanConfigurationLocalization object.
.Description
Create a new plannerPlanConfigurationLocalization object.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfigurationLocalization
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfigurationLocalization
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPlannerPlanConfigurationLocalization>: plannerPlanConfigurationLocalization
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketLocalization[]>]: Localized names for configured buckets in the plan configuration.
    [ExternalBucketId <String>]: Application-specified identifier of the bucket.
    [Name <String>]: Name of the bucket.
  [LanguageTag <String>]: The language code associated with the localized names in this object.
  [PlanTitle <String>]: Localized title of the plan.
 
BUCKETS <IMicrosoftGraphPlannerPlanConfigurationBucketLocalization[]>: Localized names for configured buckets in the plan configuration.
  [ExternalBucketId <String>]: Application-specified identifier of the bucket.
  [Name <String>]: Name of the bucket.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/new-mgbetabusinessscenarioplannerplanconfigurationlocalization
#>

function New-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfigurationLocalization])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfigurationLocalization]
    # plannerPlanConfigurationLocalization
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfigurationBucketLocalization[]]
    # Localized names for configured buckets in the plan configuration.
    # To construct, see NOTES section for BUCKETS properties and create a hash table.
    ${Buckets},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The language code associated with the localized names in this object.
    ${LanguageTag},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Localized title of the plan.
    ${PlanTitle},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization_CreateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create a new businessScenarioTask object.
.Description
Create a new businessScenarioTask object.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioTask
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioTask
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
ASSIGNEDTOTASKBOARDFORMAT <IMicrosoftGraphPlannerAssignedToTaskBoardTaskFormat>: plannerAssignedToTaskBoardTaskFormat
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [OrderHintsByAssignee <IMicrosoftGraphPlannerOrderHintsByAssignee>]: plannerOrderHintsByAssignee
    [(Any) <Object>]: This indicates any property can be added to this object.
  [UnassignedOrderHint <String>]: Hint value used to order the task on the AssignedTo view of the Task Board when the task is not assigned to anyone, or if the orderHintsByAssignee dictionary does not provide an order hint for the user the task is assigned to. The format is defined as outlined here.
 
BODYPARAMETER <IMicrosoftGraphBusinessScenarioTask>: businessScenarioTask
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ActiveChecklistItemCount <Int32?>]: Number of checklist items with value set to false, representing incomplete items.
  [AppliedCategories <IMicrosoftGraphPlannerAppliedCategories>]: plannerAppliedCategories
    [(Any) <Object>]: This indicates any property can be added to this object.
  [AssignedToTaskBoardFormat <IMicrosoftGraphPlannerAssignedToTaskBoardTaskFormat>]: plannerAssignedToTaskBoardTaskFormat
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [OrderHintsByAssignee <IMicrosoftGraphPlannerOrderHintsByAssignee>]: plannerOrderHintsByAssignee
      [(Any) <Object>]: This indicates any property can be added to this object.
    [UnassignedOrderHint <String>]: Hint value used to order the task on the AssignedTo view of the Task Board when the task is not assigned to anyone, or if the orderHintsByAssignee dictionary does not provide an order hint for the user the task is assigned to. The format is defined as outlined here.
  [AssigneePriority <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
  [Assignments <IMicrosoftGraphPlannerAssignments>]: plannerAssignments
    [(Any) <Object>]: This indicates any property can be added to this object.
  [BucketId <String>]: Bucket ID to which the task belongs. The bucket needs to be in the plan that the task is in. It is 28 characters long and case-sensitive. Format validation is done on the service.
  [BucketTaskBoardFormat <IMicrosoftGraphPlannerBucketTaskBoardTaskFormat>]: plannerBucketTaskBoardTaskFormat
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [OrderHint <String>]: Hint used to order tasks in the bucket view of the task board. For details about the supported format, see Using order hints in Planner.
  [ChecklistItemCount <Int32?>]: Number of checklist items that are present on the task.
  [CompletedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Application <IMicrosoftGraphIdentity>]: identity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
    [Device <IMicrosoftGraphIdentity>]: identity
    [User <IMicrosoftGraphIdentity>]: identity
  [CompletedDateTime <DateTime?>]: Read-only. Date and time at which the 'percentComplete' of the task is set to '100'. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
  [ConversationThreadId <String>]: Thread ID of the conversation on the task. This is the ID of the conversation thread object created in the group.
  [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
  [CreatedDateTime <DateTime?>]: Read-only. Date and time at which the task is created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
  [CreationSource <IMicrosoftGraphPlannerTaskCreation>]: plannerTaskCreation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [CreationSourceKind <String>]: plannerCreationSourceKind
    [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
      [(Any) <Object>]: This indicates any property can be added to this object.
      [CreationSourceKind <String>]: plannerCreationSourceKind
      [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
      [LastModifiedDateTime <DateTime?>]: The date and time when this task was last modified by the publication process. Read-only.
      [PublicationId <String>]: The identifier of the publication. Read-only.
      [PublishedToPlanId <String>]: The identifier of the plannerPlan this task was originally placed in. Read-only.
      [PublishingTeamId <String>]: The identifier of the team that initiated the publication process. Read-only.
      [PublishingTeamName <String>]: The display name of the team that initiated the publication process. This display name is for reference only, and might not represent the most up-to-date name of the team. Read-only.
  [Details <IMicrosoftGraphPlannerTaskDetails>]: plannerTaskDetails
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [Checklist <IMicrosoftGraphPlannerChecklistItems>]: plannerChecklistItems
      [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: Description of the task.
    [Notes <IMicrosoftGraphItemBody>]: itemBody
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Content <String>]: The content of the item.
      [ContentType <String>]: bodyType
    [PreviewType <String>]: plannerPreviewType
    [References <IMicrosoftGraphPlannerExternalReferences>]: plannerExternalReferences
      [(Any) <Object>]: This indicates any property can be added to this object.
  [DueDateTime <DateTime?>]: Date and time at which the task is due. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
  [HasDescription <Boolean?>]: Read-only. Value is true if the details object of the task has a non-empty description and false otherwise.
  [OrderHint <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
  [PercentComplete <Int32?>]: Percentage of task completion. When set to 100, the task is considered completed.
  [PlanId <String>]: Plan ID to which the task belongs.
  [PreviewType <String>]: plannerPreviewType
  [Priority <Int32?>]: Priority of the task. Valid range of values is between 0 and 10 (inclusive), with increasing value being lower priority (0 has the highest priority and 10 has the lowest priority). Currently, Planner interprets values 0 and 1 as 'urgent', 2 and 3 and 4 as 'important', 5, 6, and 7 as 'medium', and 8, 9, and 10 as 'low'. Currently, Planner sets the value 1 for 'urgent', 3 for 'important', 5 for 'medium', and 9 for 'low'.
  [ProgressTaskBoardFormat <IMicrosoftGraphPlannerProgressTaskBoardTaskFormat>]: plannerProgressTaskBoardTaskFormat
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [OrderHint <String>]: Hint value used to order the task on the progress view of the task board. For details about the supported format, see Using order hints in Planner.
  [Recurrence <IMicrosoftGraphPlannerTaskRecurrence>]: plannerTaskRecurrence
    [(Any) <Object>]: This indicates any property can be added to this object.
    [NextInSeriesTaskId <String>]:
    [OccurrenceId <Int32?>]:
    [PreviousInSeriesTaskId <String>]:
    [RecurrenceStartDateTime <DateTime?>]:
    [Schedule <IMicrosoftGraphPlannerRecurrenceSchedule>]: plannerRecurrenceSchedule
      [(Any) <Object>]: This indicates any property can be added to this object.
      [NextOccurrenceDateTime <DateTime?>]:
      [Pattern <IMicrosoftGraphRecurrencePattern>]: recurrencePattern
        [(Any) <Object>]: This indicates any property can be added to this object.
        [DayOfMonth <Int32?>]: The day of the month on which the event occurs. Required if type is absoluteMonthly or absoluteYearly.
        [DaysOfWeek <String[]>]: A collection of the days of the week on which the event occurs. The possible values are: sunday, monday, tuesday, wednesday, thursday, friday, saturday. If type is relativeMonthly or relativeYearly, and daysOfWeek specifies more than one day, the event falls on the first day that satisfies the pattern. Required if type is weekly, relativeMonthly, or relativeYearly.
        [FirstDayOfWeek <String>]: dayOfWeek
        [Index <String>]: weekIndex
        [Interval <Int32?>]: The number of units between occurrences, where units can be in days, weeks, months, or years, depending on the type. Required.
        [Month <Int32?>]: The month in which the event occurs. This is a number from 1 to 12.
        [Type <String>]: recurrencePatternType
      [PatternStartDateTime <DateTime?>]:
    [SeriesId <String>]:
  [ReferenceCount <Int32?>]: Number of external references that exist on the task.
  [StartDateTime <DateTime?>]: Date and time at which the task starts. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
  [Title <String>]: Title of the task.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [BusinessScenarioProperties <IMicrosoftGraphBusinessScenarioProperties>]: businessScenarioProperties
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ExternalBucketId <String>]: The identifier for the bucketDefinition configured in the plannerPlanConfiguration for the scenario. The task will be placed in the corresponding plannerBucket in the target plan. Required.
    [ExternalContextId <String>]: The identifier for the context of the task. Context is an application controlled value, and tasks can be queried by their externalContextId. Optional.
    [ExternalObjectId <String>]: Application-specific identifier for the task. Every task for the same scenario must have a unique identifier specified for this property. Required.
    [ExternalObjectVersion <String>]: Application-specific version of the task. Optional.
    [WebUrl <String>]: The URL to the application-specific experience for this task. Optional.
  [Target <IMicrosoftGraphBusinessScenarioTaskTargetBase>]: businessScenarioTaskTargetBase
    [(Any) <Object>]: This indicates any property can be added to this object.
    [TaskTargetKind <String>]: plannerTaskTargetKind
 
BUCKETTASKBOARDFORMAT <IMicrosoftGraphPlannerBucketTaskBoardTaskFormat>: plannerBucketTaskBoardTaskFormat
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [OrderHint <String>]: Hint used to order tasks in the bucket view of the task board. For details about the supported format, see Using order hints in Planner.
 
BUSINESSSCENARIOPROPERTIES <IMicrosoftGraphBusinessScenarioProperties>: businessScenarioProperties
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ExternalBucketId <String>]: The identifier for the bucketDefinition configured in the plannerPlanConfiguration for the scenario. The task will be placed in the corresponding plannerBucket in the target plan. Required.
  [ExternalContextId <String>]: The identifier for the context of the task. Context is an application controlled value, and tasks can be queried by their externalContextId. Optional.
  [ExternalObjectId <String>]: Application-specific identifier for the task. Every task for the same scenario must have a unique identifier specified for this property. Required.
  [ExternalObjectVersion <String>]: Application-specific version of the task. Optional.
  [WebUrl <String>]: The URL to the application-specific experience for this task. Optional.
 
COMPLETEDBY <IMicrosoftGraphIdentitySet>: identitySet
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Application <IMicrosoftGraphIdentity>]: identity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
    [Id <String>]: Unique identifier for the identity.
  [Device <IMicrosoftGraphIdentity>]: identity
  [User <IMicrosoftGraphIdentity>]: identity
 
CREATEDBY <IMicrosoftGraphIdentitySet>: identitySet
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Application <IMicrosoftGraphIdentity>]: identity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
    [Id <String>]: Unique identifier for the identity.
  [Device <IMicrosoftGraphIdentity>]: identity
  [User <IMicrosoftGraphIdentity>]: identity
 
CREATIONSOURCE <IMicrosoftGraphPlannerTaskCreation>: plannerTaskCreation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [CreationSourceKind <String>]: plannerCreationSourceKind
  [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
    [(Any) <Object>]: This indicates any property can be added to this object.
    [CreationSourceKind <String>]: plannerCreationSourceKind
    [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
    [LastModifiedDateTime <DateTime?>]: The date and time when this task was last modified by the publication process. Read-only.
    [PublicationId <String>]: The identifier of the publication. Read-only.
    [PublishedToPlanId <String>]: The identifier of the plannerPlan this task was originally placed in. Read-only.
    [PublishingTeamId <String>]: The identifier of the team that initiated the publication process. Read-only.
    [PublishingTeamName <String>]: The display name of the team that initiated the publication process. This display name is for reference only, and might not represent the most up-to-date name of the team. Read-only.
 
DETAILS <IMicrosoftGraphPlannerTaskDetails>: plannerTaskDetails
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Checklist <IMicrosoftGraphPlannerChecklistItems>]: plannerChecklistItems
    [(Any) <Object>]: This indicates any property can be added to this object.
  [Description <String>]: Description of the task.
  [Notes <IMicrosoftGraphItemBody>]: itemBody
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Content <String>]: The content of the item.
    [ContentType <String>]: bodyType
  [PreviewType <String>]: plannerPreviewType
  [References <IMicrosoftGraphPlannerExternalReferences>]: plannerExternalReferences
    [(Any) <Object>]: This indicates any property can be added to this object.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
PROGRESSTASKBOARDFORMAT <IMicrosoftGraphPlannerProgressTaskBoardTaskFormat>: plannerProgressTaskBoardTaskFormat
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [OrderHint <String>]: Hint value used to order the task on the progress view of the task board. For details about the supported format, see Using order hints in Planner.
 
RECURRENCE <IMicrosoftGraphPlannerTaskRecurrence>: plannerTaskRecurrence
  [(Any) <Object>]: This indicates any property can be added to this object.
  [NextInSeriesTaskId <String>]:
  [OccurrenceId <Int32?>]:
  [PreviousInSeriesTaskId <String>]:
  [RecurrenceStartDateTime <DateTime?>]:
  [Schedule <IMicrosoftGraphPlannerRecurrenceSchedule>]: plannerRecurrenceSchedule
    [(Any) <Object>]: This indicates any property can be added to this object.
    [NextOccurrenceDateTime <DateTime?>]:
    [Pattern <IMicrosoftGraphRecurrencePattern>]: recurrencePattern
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DayOfMonth <Int32?>]: The day of the month on which the event occurs. Required if type is absoluteMonthly or absoluteYearly.
      [DaysOfWeek <String[]>]: A collection of the days of the week on which the event occurs. The possible values are: sunday, monday, tuesday, wednesday, thursday, friday, saturday. If type is relativeMonthly or relativeYearly, and daysOfWeek specifies more than one day, the event falls on the first day that satisfies the pattern. Required if type is weekly, relativeMonthly, or relativeYearly.
      [FirstDayOfWeek <String>]: dayOfWeek
      [Index <String>]: weekIndex
      [Interval <Int32?>]: The number of units between occurrences, where units can be in days, weeks, months, or years, depending on the type. Required.
      [Month <Int32?>]: The month in which the event occurs. This is a number from 1 to 12.
      [Type <String>]: recurrencePatternType
    [PatternStartDateTime <DateTime?>]:
  [SeriesId <String>]:
 
TARGET <IMicrosoftGraphBusinessScenarioTaskTargetBase>: businessScenarioTaskTargetBase
  [(Any) <Object>]: This indicates any property can be added to this object.
  [TaskTargetKind <String>]: plannerTaskTargetKind
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/new-mgbetabusinessscenarioplannertask
#>

function New-MgBetaBusinessScenarioPlannerTask {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioTask])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory)]
    [Parameter(ParameterSetName='CreateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CreateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioTask]
    # businessScenarioTask
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # Number of checklist items with value set to false, representing incomplete items.
    ${ActiveChecklistItemCount},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.Info(PossibleTypes=([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerAppliedCategories]))]
    [System.Collections.Hashtable]
    # plannerAppliedCategories
    ${AppliedCategories},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerAssignedToTaskBoardTaskFormat]
    # plannerAssignedToTaskBoardTaskFormat
    # To construct, see NOTES section for ASSIGNEDTOTASKBOARDFORMAT properties and create a hash table.
    ${AssignedToTaskBoardFormat},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Hint used to order items of this type in a list view.
    # The format is defined as outlined here.
    ${AssigneePriority},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.Info(PossibleTypes=([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerAssignments]))]
    [System.Collections.Hashtable]
    # plannerAssignments
    ${Assignments},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Bucket ID to which the task belongs.
    # The bucket needs to be in the plan that the task is in.
    # It is 28 characters long and case-sensitive.
    # Format validation is done on the service.
    ${BucketId},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerBucketTaskBoardTaskFormat]
    # plannerBucketTaskBoardTaskFormat
    # To construct, see NOTES section for BUCKETTASKBOARDFORMAT properties and create a hash table.
    ${BucketTaskBoardFormat},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioProperties]
    # businessScenarioProperties
    # To construct, see NOTES section for BUSINESSSCENARIOPROPERTIES properties and create a hash table.
    ${BusinessScenarioProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # Number of checklist items that are present on the task.
    ${ChecklistItemCount},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphIdentitySet]
    # identitySet
    # To construct, see NOTES section for COMPLETEDBY properties and create a hash table.
    ${CompletedBy},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # Read-only.
    # Date and time at which the 'percentComplete' of the task is set to '100'.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    ${CompletedDateTime},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Thread ID of the conversation on the task.
    # This is the ID of the conversation thread object created in the group.
    ${ConversationThreadId},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphIdentitySet]
    # identitySet
    # To construct, see NOTES section for CREATEDBY properties and create a hash table.
    ${CreatedBy},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # Read-only.
    # Date and time at which the task is created.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    ${CreatedDateTime},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerTaskCreation]
    # plannerTaskCreation
    # To construct, see NOTES section for CREATIONSOURCE properties and create a hash table.
    ${CreationSource},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerTaskDetails]
    # plannerTaskDetails
    # To construct, see NOTES section for DETAILS properties and create a hash table.
    ${Details},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # Date and time at which the task is due.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    ${DueDateTime},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Read-only.
    # Value is true if the details object of the task has a non-empty description and false otherwise.
    ${HasDescription},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Hint used to order items of this type in a list view.
    # The format is defined as outlined here.
    ${OrderHint},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # Percentage of task completion.
    # When set to 100, the task is considered completed.
    ${PercentComplete},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Plan ID to which the task belongs.
    ${PlanId},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # plannerPreviewType
    ${PreviewType},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # Priority of the task.
    # Valid range of values is between 0 and 10 (inclusive), with increasing value being lower priority (0 has the highest priority and 10 has the lowest priority).
    # Currently, Planner interprets values 0 and 1 as 'urgent', 2 and 3 and 4 as 'important', 5, 6, and 7 as 'medium', and 8, 9, and 10 as 'low'.
    # Currently, Planner sets the value 1 for 'urgent', 3 for 'important', 5 for 'medium', and 9 for 'low'.
    ${Priority},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerProgressTaskBoardTaskFormat]
    # plannerProgressTaskBoardTaskFormat
    # To construct, see NOTES section for PROGRESSTASKBOARDFORMAT properties and create a hash table.
    ${ProgressTaskBoardFormat},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerTaskRecurrence]
    # plannerTaskRecurrence
    # To construct, see NOTES section for RECURRENCE properties and create a hash table.
    ${Recurrence},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # Number of external references that exist on the task.
    ${ReferenceCount},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # Date and time at which the task starts.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    ${StartDateTime},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioTaskTargetBase]
    # businessScenarioTaskTargetBase
    # To construct, see NOTES section for TARGET properties and create a hash table.
    ${Target},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Parameter(ParameterSetName='CreateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Title of the task.
    ${Title},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBusinessScenarioPlannerTask_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBusinessScenarioPlannerTask_CreateExpanded';
            CreateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBusinessScenarioPlannerTask_CreateViaIdentity';
            CreateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBusinessScenarioPlannerTask_CreateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Create a new businessScenario object.
.Description
Create a new businessScenario object.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenario
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenario
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphBusinessScenario>: businessScenario
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Application <IMicrosoftGraphIdentity>]: identity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
    [Device <IMicrosoftGraphIdentity>]: identity
    [User <IMicrosoftGraphIdentity>]: identity
  [CreatedDateTime <DateTime?>]: The date and time when the scenario was created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
  [DisplayName <String>]: Display name of the scenario.
  [LastModifiedBy <IMicrosoftGraphIdentitySet>]: identitySet
  [LastModifiedDateTime <DateTime?>]: The date and time when the scenario was last modified. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
  [OwnerAppIds <String[]>]: Identifiers of applications that are authorized to work with this scenario.
  [Planner <IMicrosoftGraphBusinessScenarioPlanner>]: businessScenarioPlanner
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [PlanConfiguration <IMicrosoftGraphPlannerPlanConfiguration>]: plannerPlanConfiguration
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketDefinition[]>]: List the buckets that should be created in the plan.
        [ExternalBucketId <String>]: Application-specified identifier of the bucket.
      [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
      [CreatedDateTime <DateTime?>]: The date and time when the plan configuration was created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
      [DefaultLanguage <String>]: The language code for the default language to be used for the names of the objects created for the plan.
      [LastModifiedBy <IMicrosoftGraphIdentitySet>]: identitySet
      [LastModifiedDateTime <DateTime?>]: The date and time when the plan configuration was last modified. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
      [Localizations <IMicrosoftGraphPlannerPlanConfigurationLocalization[]>]: Localized names for the plan configuration.
        [Id <String>]: The unique identifier for an entity. Read-only.
        [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketLocalization[]>]: Localized names for configured buckets in the plan configuration.
          [ExternalBucketId <String>]: Application-specified identifier of the bucket.
          [Name <String>]: Name of the bucket.
        [LanguageTag <String>]: The language code associated with the localized names in this object.
        [PlanTitle <String>]: Localized title of the plan.
    [TaskConfiguration <IMicrosoftGraphPlannerTaskConfiguration>]: plannerTaskConfiguration
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [EditPolicy <IMicrosoftGraphPlannerTaskPolicy>]: plannerTaskPolicy
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Rules <IMicrosoftGraphPlannerTaskRoleBasedRule[]>]: The rules that should be enforced on the tasks when they are being changed outside of the scenario, based on the role of the caller.
          [DefaultRule <String>]: Default rule that applies when a property or action-specific rule is not provided. Possible values are: Allow, Block
          [PropertyRule <IMicrosoftGraphPlannerTaskPropertyRule>]: plannerTaskPropertyRule
            [(Any) <Object>]: This indicates any property can be added to this object.
            [RuleKind <String>]: plannerRuleKind
            [AppliedCategories <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
              [(Any) <Object>]: This indicates any property can be added to this object.
              [DefaultRules <String[]>]: The default rules that apply if no override matches to the current data.
              [Overrides <IMicrosoftGraphPlannerRuleOverride[]>]: Overrides that specify different rules for specific data associated with the field.
                [Name <String>]: Name of the override. Allowed override values will be dependent on the property affected by the rule.
                [Rules <String[]>]: Overridden rules. These are used as rules for the override instead of the default rules.
            [Assignments <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
            [CheckLists <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
            [Delete <String[]>]: Rules and restrictions for deleting the task. Accepted values are allow and block.
            [DueDate <String[]>]: Rules and restrictions for changing the due date of the task. Accepted values are allow and block.
            [Move <String[]>]: Rules and restrictions for moving the task between buckets or plans. Accepted values are allow, moveBetweenPlans, moveBetweenBuckets, and block.
            [Notes <String[]>]: Rules and restrictions for changing the notes of the task. Accepted values are allow and block.
            [Order <String[]>]: Rules and restrictions for changing the order of the task. Accepted values are allow and block.
            [PercentComplete <String[]>]: Rules and restrictions for changing the completion percentage of the task. Accepted values are allow, setToComplete, setToNotStarted, setToInProgress, and block.
            [PreviewType <String[]>]: Rules and restrictions for changing the preview type of the task. Accepted values are allow and block.
            [Priority <String[]>]: Rules and restrictions for changing the priority of the task. Accepted values are allow and block.
            [References <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
            [StartDate <String[]>]: Rules and restrictions for changing the start date of the task. Accepted values are allow and block.
            [Title <String[]>]: Rules and restrictions for changing the title of the task. Accepted values are allow and block.
          [Role <IMicrosoftGraphPlannerTaskConfigurationRoleBase>]: plannerTaskConfigurationRoleBase
            [(Any) <Object>]: This indicates any property can be added to this object.
            [RoleKind <String>]: plannerUserRoleKind
    [Tasks <IMicrosoftGraphBusinessScenarioTask[]>]: The Planner tasks for the scenario.
      [ActiveChecklistItemCount <Int32?>]: Number of checklist items with value set to false, representing incomplete items.
      [AppliedCategories <IMicrosoftGraphPlannerAppliedCategories>]: plannerAppliedCategories
        [(Any) <Object>]: This indicates any property can be added to this object.
      [AssignedToTaskBoardFormat <IMicrosoftGraphPlannerAssignedToTaskBoardTaskFormat>]: plannerAssignedToTaskBoardTaskFormat
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: The unique identifier for an entity. Read-only.
        [OrderHintsByAssignee <IMicrosoftGraphPlannerOrderHintsByAssignee>]: plannerOrderHintsByAssignee
          [(Any) <Object>]: This indicates any property can be added to this object.
        [UnassignedOrderHint <String>]: Hint value used to order the task on the AssignedTo view of the Task Board when the task is not assigned to anyone, or if the orderHintsByAssignee dictionary does not provide an order hint for the user the task is assigned to. The format is defined as outlined here.
      [AssigneePriority <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
      [Assignments <IMicrosoftGraphPlannerAssignments>]: plannerAssignments
        [(Any) <Object>]: This indicates any property can be added to this object.
      [BucketId <String>]: Bucket ID to which the task belongs. The bucket needs to be in the plan that the task is in. It is 28 characters long and case-sensitive. Format validation is done on the service.
      [BucketTaskBoardFormat <IMicrosoftGraphPlannerBucketTaskBoardTaskFormat>]: plannerBucketTaskBoardTaskFormat
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: The unique identifier for an entity. Read-only.
        [OrderHint <String>]: Hint used to order tasks in the bucket view of the task board. For details about the supported format, see Using order hints in Planner.
      [ChecklistItemCount <Int32?>]: Number of checklist items that are present on the task.
      [CompletedBy <IMicrosoftGraphIdentitySet>]: identitySet
      [CompletedDateTime <DateTime?>]: Read-only. Date and time at which the 'percentComplete' of the task is set to '100'. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
      [ConversationThreadId <String>]: Thread ID of the conversation on the task. This is the ID of the conversation thread object created in the group.
      [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
      [CreatedDateTime <DateTime?>]: Read-only. Date and time at which the task is created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
      [CreationSource <IMicrosoftGraphPlannerTaskCreation>]: plannerTaskCreation
        [(Any) <Object>]: This indicates any property can be added to this object.
        [CreationSourceKind <String>]: plannerCreationSourceKind
        [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
          [(Any) <Object>]: This indicates any property can be added to this object.
          [CreationSourceKind <String>]: plannerCreationSourceKind
          [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
          [LastModifiedDateTime <DateTime?>]: The date and time when this task was last modified by the publication process. Read-only.
          [PublicationId <String>]: The identifier of the publication. Read-only.
          [PublishedToPlanId <String>]: The identifier of the plannerPlan this task was originally placed in. Read-only.
          [PublishingTeamId <String>]: The identifier of the team that initiated the publication process. Read-only.
          [PublishingTeamName <String>]: The display name of the team that initiated the publication process. This display name is for reference only, and might not represent the most up-to-date name of the team. Read-only.
      [Details <IMicrosoftGraphPlannerTaskDetails>]: plannerTaskDetails
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: The unique identifier for an entity. Read-only.
        [Checklist <IMicrosoftGraphPlannerChecklistItems>]: plannerChecklistItems
          [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]: Description of the task.
        [Notes <IMicrosoftGraphItemBody>]: itemBody
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Content <String>]: The content of the item.
          [ContentType <String>]: bodyType
        [PreviewType <String>]: plannerPreviewType
        [References <IMicrosoftGraphPlannerExternalReferences>]: plannerExternalReferences
          [(Any) <Object>]: This indicates any property can be added to this object.
      [DueDateTime <DateTime?>]: Date and time at which the task is due. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
      [HasDescription <Boolean?>]: Read-only. Value is true if the details object of the task has a non-empty description and false otherwise.
      [OrderHint <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
      [PercentComplete <Int32?>]: Percentage of task completion. When set to 100, the task is considered completed.
      [PlanId <String>]: Plan ID to which the task belongs.
      [PreviewType <String>]: plannerPreviewType
      [Priority <Int32?>]: Priority of the task. Valid range of values is between 0 and 10 (inclusive), with increasing value being lower priority (0 has the highest priority and 10 has the lowest priority). Currently, Planner interprets values 0 and 1 as 'urgent', 2 and 3 and 4 as 'important', 5, 6, and 7 as 'medium', and 8, 9, and 10 as 'low'. Currently, Planner sets the value 1 for 'urgent', 3 for 'important', 5 for 'medium', and 9 for 'low'.
      [ProgressTaskBoardFormat <IMicrosoftGraphPlannerProgressTaskBoardTaskFormat>]: plannerProgressTaskBoardTaskFormat
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: The unique identifier for an entity. Read-only.
        [OrderHint <String>]: Hint value used to order the task on the progress view of the task board. For details about the supported format, see Using order hints in Planner.
      [Recurrence <IMicrosoftGraphPlannerTaskRecurrence>]: plannerTaskRecurrence
        [(Any) <Object>]: This indicates any property can be added to this object.
        [NextInSeriesTaskId <String>]:
        [OccurrenceId <Int32?>]:
        [PreviousInSeriesTaskId <String>]:
        [RecurrenceStartDateTime <DateTime?>]:
        [Schedule <IMicrosoftGraphPlannerRecurrenceSchedule>]: plannerRecurrenceSchedule
          [(Any) <Object>]: This indicates any property can be added to this object.
          [NextOccurrenceDateTime <DateTime?>]:
          [Pattern <IMicrosoftGraphRecurrencePattern>]: recurrencePattern
            [(Any) <Object>]: This indicates any property can be added to this object.
            [DayOfMonth <Int32?>]: The day of the month on which the event occurs. Required if type is absoluteMonthly or absoluteYearly.
            [DaysOfWeek <String[]>]: A collection of the days of the week on which the event occurs. The possible values are: sunday, monday, tuesday, wednesday, thursday, friday, saturday. If type is relativeMonthly or relativeYearly, and daysOfWeek specifies more than one day, the event falls on the first day that satisfies the pattern. Required if type is weekly, relativeMonthly, or relativeYearly.
            [FirstDayOfWeek <String>]: dayOfWeek
            [Index <String>]: weekIndex
            [Interval <Int32?>]: The number of units between occurrences, where units can be in days, weeks, months, or years, depending on the type. Required.
            [Month <Int32?>]: The month in which the event occurs. This is a number from 1 to 12.
            [Type <String>]: recurrencePatternType
          [PatternStartDateTime <DateTime?>]:
        [SeriesId <String>]:
      [ReferenceCount <Int32?>]: Number of external references that exist on the task.
      [StartDateTime <DateTime?>]: Date and time at which the task starts. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
      [Title <String>]: Title of the task.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [BusinessScenarioProperties <IMicrosoftGraphBusinessScenarioProperties>]: businessScenarioProperties
        [(Any) <Object>]: This indicates any property can be added to this object.
        [ExternalBucketId <String>]: The identifier for the bucketDefinition configured in the plannerPlanConfiguration for the scenario. The task will be placed in the corresponding plannerBucket in the target plan. Required.
        [ExternalContextId <String>]: The identifier for the context of the task. Context is an application controlled value, and tasks can be queried by their externalContextId. Optional.
        [ExternalObjectId <String>]: Application-specific identifier for the task. Every task for the same scenario must have a unique identifier specified for this property. Required.
        [ExternalObjectVersion <String>]: Application-specific version of the task. Optional.
        [WebUrl <String>]: The URL to the application-specific experience for this task. Optional.
      [Target <IMicrosoftGraphBusinessScenarioTaskTargetBase>]: businessScenarioTaskTargetBase
        [(Any) <Object>]: This indicates any property can be added to this object.
        [TaskTargetKind <String>]: plannerTaskTargetKind
  [UniqueName <String>]: Unique name of the scenario. To avoid conflicts, the recommended value for the unique name is a reverse domain name format, owned by the author of the scenario. For example, a scenario authored by Contoso.com would have a unique name that starts with com.contoso.
 
CREATEDBY <IMicrosoftGraphIdentitySet>: identitySet
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Application <IMicrosoftGraphIdentity>]: identity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
    [Id <String>]: Unique identifier for the identity.
  [Device <IMicrosoftGraphIdentity>]: identity
  [User <IMicrosoftGraphIdentity>]: identity
 
LASTMODIFIEDBY <IMicrosoftGraphIdentitySet>: identitySet
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Application <IMicrosoftGraphIdentity>]: identity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
    [Id <String>]: Unique identifier for the identity.
  [Device <IMicrosoftGraphIdentity>]: identity
  [User <IMicrosoftGraphIdentity>]: identity
 
PLANNER <IMicrosoftGraphBusinessScenarioPlanner>: businessScenarioPlanner
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [PlanConfiguration <IMicrosoftGraphPlannerPlanConfiguration>]: plannerPlanConfiguration
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketDefinition[]>]: List the buckets that should be created in the plan.
      [ExternalBucketId <String>]: Application-specified identifier of the bucket.
    [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Application <IMicrosoftGraphIdentity>]: identity
        [(Any) <Object>]: This indicates any property can be added to this object.
        [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
        [Id <String>]: Unique identifier for the identity.
      [Device <IMicrosoftGraphIdentity>]: identity
      [User <IMicrosoftGraphIdentity>]: identity
    [CreatedDateTime <DateTime?>]: The date and time when the plan configuration was created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
    [DefaultLanguage <String>]: The language code for the default language to be used for the names of the objects created for the plan.
    [LastModifiedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [LastModifiedDateTime <DateTime?>]: The date and time when the plan configuration was last modified. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
    [Localizations <IMicrosoftGraphPlannerPlanConfigurationLocalization[]>]: Localized names for the plan configuration.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketLocalization[]>]: Localized names for configured buckets in the plan configuration.
        [ExternalBucketId <String>]: Application-specified identifier of the bucket.
        [Name <String>]: Name of the bucket.
      [LanguageTag <String>]: The language code associated with the localized names in this object.
      [PlanTitle <String>]: Localized title of the plan.
  [TaskConfiguration <IMicrosoftGraphPlannerTaskConfiguration>]: plannerTaskConfiguration
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [EditPolicy <IMicrosoftGraphPlannerTaskPolicy>]: plannerTaskPolicy
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Rules <IMicrosoftGraphPlannerTaskRoleBasedRule[]>]: The rules that should be enforced on the tasks when they are being changed outside of the scenario, based on the role of the caller.
        [DefaultRule <String>]: Default rule that applies when a property or action-specific rule is not provided. Possible values are: Allow, Block
        [PropertyRule <IMicrosoftGraphPlannerTaskPropertyRule>]: plannerTaskPropertyRule
          [(Any) <Object>]: This indicates any property can be added to this object.
          [RuleKind <String>]: plannerRuleKind
          [AppliedCategories <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
            [(Any) <Object>]: This indicates any property can be added to this object.
            [DefaultRules <String[]>]: The default rules that apply if no override matches to the current data.
            [Overrides <IMicrosoftGraphPlannerRuleOverride[]>]: Overrides that specify different rules for specific data associated with the field.
              [Name <String>]: Name of the override. Allowed override values will be dependent on the property affected by the rule.
              [Rules <String[]>]: Overridden rules. These are used as rules for the override instead of the default rules.
          [Assignments <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
          [CheckLists <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
          [Delete <String[]>]: Rules and restrictions for deleting the task. Accepted values are allow and block.
          [DueDate <String[]>]: Rules and restrictions for changing the due date of the task. Accepted values are allow and block.
          [Move <String[]>]: Rules and restrictions for moving the task between buckets or plans. Accepted values are allow, moveBetweenPlans, moveBetweenBuckets, and block.
          [Notes <String[]>]: Rules and restrictions for changing the notes of the task. Accepted values are allow and block.
          [Order <String[]>]: Rules and restrictions for changing the order of the task. Accepted values are allow and block.
          [PercentComplete <String[]>]: Rules and restrictions for changing the completion percentage of the task. Accepted values are allow, setToComplete, setToNotStarted, setToInProgress, and block.
          [PreviewType <String[]>]: Rules and restrictions for changing the preview type of the task. Accepted values are allow and block.
          [Priority <String[]>]: Rules and restrictions for changing the priority of the task. Accepted values are allow and block.
          [References <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
          [StartDate <String[]>]: Rules and restrictions for changing the start date of the task. Accepted values are allow and block.
          [Title <String[]>]: Rules and restrictions for changing the title of the task. Accepted values are allow and block.
        [Role <IMicrosoftGraphPlannerTaskConfigurationRoleBase>]: plannerTaskConfigurationRoleBase
          [(Any) <Object>]: This indicates any property can be added to this object.
          [RoleKind <String>]: plannerUserRoleKind
  [Tasks <IMicrosoftGraphBusinessScenarioTask[]>]: The Planner tasks for the scenario.
    [ActiveChecklistItemCount <Int32?>]: Number of checklist items with value set to false, representing incomplete items.
    [AppliedCategories <IMicrosoftGraphPlannerAppliedCategories>]: plannerAppliedCategories
      [(Any) <Object>]: This indicates any property can be added to this object.
    [AssignedToTaskBoardFormat <IMicrosoftGraphPlannerAssignedToTaskBoardTaskFormat>]: plannerAssignedToTaskBoardTaskFormat
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [OrderHintsByAssignee <IMicrosoftGraphPlannerOrderHintsByAssignee>]: plannerOrderHintsByAssignee
        [(Any) <Object>]: This indicates any property can be added to this object.
      [UnassignedOrderHint <String>]: Hint value used to order the task on the AssignedTo view of the Task Board when the task is not assigned to anyone, or if the orderHintsByAssignee dictionary does not provide an order hint for the user the task is assigned to. The format is defined as outlined here.
    [AssigneePriority <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
    [Assignments <IMicrosoftGraphPlannerAssignments>]: plannerAssignments
      [(Any) <Object>]: This indicates any property can be added to this object.
    [BucketId <String>]: Bucket ID to which the task belongs. The bucket needs to be in the plan that the task is in. It is 28 characters long and case-sensitive. Format validation is done on the service.
    [BucketTaskBoardFormat <IMicrosoftGraphPlannerBucketTaskBoardTaskFormat>]: plannerBucketTaskBoardTaskFormat
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [OrderHint <String>]: Hint used to order tasks in the bucket view of the task board. For details about the supported format, see Using order hints in Planner.
    [ChecklistItemCount <Int32?>]: Number of checklist items that are present on the task.
    [CompletedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [CompletedDateTime <DateTime?>]: Read-only. Date and time at which the 'percentComplete' of the task is set to '100'. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    [ConversationThreadId <String>]: Thread ID of the conversation on the task. This is the ID of the conversation thread object created in the group.
    [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [CreatedDateTime <DateTime?>]: Read-only. Date and time at which the task is created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    [CreationSource <IMicrosoftGraphPlannerTaskCreation>]: plannerTaskCreation
      [(Any) <Object>]: This indicates any property can be added to this object.
      [CreationSourceKind <String>]: plannerCreationSourceKind
      [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
        [(Any) <Object>]: This indicates any property can be added to this object.
        [CreationSourceKind <String>]: plannerCreationSourceKind
        [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
        [LastModifiedDateTime <DateTime?>]: The date and time when this task was last modified by the publication process. Read-only.
        [PublicationId <String>]: The identifier of the publication. Read-only.
        [PublishedToPlanId <String>]: The identifier of the plannerPlan this task was originally placed in. Read-only.
        [PublishingTeamId <String>]: The identifier of the team that initiated the publication process. Read-only.
        [PublishingTeamName <String>]: The display name of the team that initiated the publication process. This display name is for reference only, and might not represent the most up-to-date name of the team. Read-only.
    [Details <IMicrosoftGraphPlannerTaskDetails>]: plannerTaskDetails
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [Checklist <IMicrosoftGraphPlannerChecklistItems>]: plannerChecklistItems
        [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]: Description of the task.
      [Notes <IMicrosoftGraphItemBody>]: itemBody
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Content <String>]: The content of the item.
        [ContentType <String>]: bodyType
      [PreviewType <String>]: plannerPreviewType
      [References <IMicrosoftGraphPlannerExternalReferences>]: plannerExternalReferences
        [(Any) <Object>]: This indicates any property can be added to this object.
    [DueDateTime <DateTime?>]: Date and time at which the task is due. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    [HasDescription <Boolean?>]: Read-only. Value is true if the details object of the task has a non-empty description and false otherwise.
    [OrderHint <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
    [PercentComplete <Int32?>]: Percentage of task completion. When set to 100, the task is considered completed.
    [PlanId <String>]: Plan ID to which the task belongs.
    [PreviewType <String>]: plannerPreviewType
    [Priority <Int32?>]: Priority of the task. Valid range of values is between 0 and 10 (inclusive), with increasing value being lower priority (0 has the highest priority and 10 has the lowest priority). Currently, Planner interprets values 0 and 1 as 'urgent', 2 and 3 and 4 as 'important', 5, 6, and 7 as 'medium', and 8, 9, and 10 as 'low'. Currently, Planner sets the value 1 for 'urgent', 3 for 'important', 5 for 'medium', and 9 for 'low'.
    [ProgressTaskBoardFormat <IMicrosoftGraphPlannerProgressTaskBoardTaskFormat>]: plannerProgressTaskBoardTaskFormat
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [OrderHint <String>]: Hint value used to order the task on the progress view of the task board. For details about the supported format, see Using order hints in Planner.
    [Recurrence <IMicrosoftGraphPlannerTaskRecurrence>]: plannerTaskRecurrence
      [(Any) <Object>]: This indicates any property can be added to this object.
      [NextInSeriesTaskId <String>]:
      [OccurrenceId <Int32?>]:
      [PreviousInSeriesTaskId <String>]:
      [RecurrenceStartDateTime <DateTime?>]:
      [Schedule <IMicrosoftGraphPlannerRecurrenceSchedule>]: plannerRecurrenceSchedule
        [(Any) <Object>]: This indicates any property can be added to this object.
        [NextOccurrenceDateTime <DateTime?>]:
        [Pattern <IMicrosoftGraphRecurrencePattern>]: recurrencePattern
          [(Any) <Object>]: This indicates any property can be added to this object.
          [DayOfMonth <Int32?>]: The day of the month on which the event occurs. Required if type is absoluteMonthly or absoluteYearly.
          [DaysOfWeek <String[]>]: A collection of the days of the week on which the event occurs. The possible values are: sunday, monday, tuesday, wednesday, thursday, friday, saturday. If type is relativeMonthly or relativeYearly, and daysOfWeek specifies more than one day, the event falls on the first day that satisfies the pattern. Required if type is weekly, relativeMonthly, or relativeYearly.
          [FirstDayOfWeek <String>]: dayOfWeek
          [Index <String>]: weekIndex
          [Interval <Int32?>]: The number of units between occurrences, where units can be in days, weeks, months, or years, depending on the type. Required.
          [Month <Int32?>]: The month in which the event occurs. This is a number from 1 to 12.
          [Type <String>]: recurrencePatternType
        [PatternStartDateTime <DateTime?>]:
      [SeriesId <String>]:
    [ReferenceCount <Int32?>]: Number of external references that exist on the task.
    [StartDateTime <DateTime?>]: Date and time at which the task starts. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    [Title <String>]: Title of the task.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [BusinessScenarioProperties <IMicrosoftGraphBusinessScenarioProperties>]: businessScenarioProperties
      [(Any) <Object>]: This indicates any property can be added to this object.
      [ExternalBucketId <String>]: The identifier for the bucketDefinition configured in the plannerPlanConfiguration for the scenario. The task will be placed in the corresponding plannerBucket in the target plan. Required.
      [ExternalContextId <String>]: The identifier for the context of the task. Context is an application controlled value, and tasks can be queried by their externalContextId. Optional.
      [ExternalObjectId <String>]: Application-specific identifier for the task. Every task for the same scenario must have a unique identifier specified for this property. Required.
      [ExternalObjectVersion <String>]: Application-specific version of the task. Optional.
      [WebUrl <String>]: The URL to the application-specific experience for this task. Optional.
    [Target <IMicrosoftGraphBusinessScenarioTaskTargetBase>]: businessScenarioTaskTargetBase
      [(Any) <Object>]: This indicates any property can be added to this object.
      [TaskTargetKind <String>]: plannerTaskTargetKind
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/new-mgbetabusinessscenario
#>

function New-MgBetaBusinessScenario {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenario])]
[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Create', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenario]
    # businessScenario
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphIdentitySet]
    # identitySet
    # To construct, see NOTES section for CREATEDBY properties and create a hash table.
    ${CreatedBy},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The date and time when the scenario was created.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
    ${CreatedDateTime},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Display name of the scenario.
    ${DisplayName},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphIdentitySet]
    # identitySet
    # To construct, see NOTES section for LASTMODIFIEDBY properties and create a hash table.
    ${LastModifiedBy},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The date and time when the scenario was last modified.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
    ${LastModifiedDateTime},

    [Parameter(ParameterSetName='CreateExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String[]]
    # Identifiers of applications that are authorized to work with this scenario.
    ${OwnerAppIds},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioPlanner]
    # businessScenarioPlanner
    # To construct, see NOTES section for PLANNER properties and create a hash table.
    ${Planner},

    [Parameter(ParameterSetName='CreateExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Unique name of the scenario.
    # To avoid conflicts, the recommended value for the unique name is a reverse domain name format, owned by the author of the scenario.
    # For example, a scenario authored by Contoso.com would have a unique name that starts with com.contoso.
    ${UniqueName},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Create = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBusinessScenario_Create';
            CreateExpanded = 'Microsoft.Graph.Beta.Bookings.private\New-MgBetaBusinessScenario_CreateExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Make the scheduling page of this business available to external customers.
Set the **isPublished** property to true, and **publicUrl** property to the URL of the scheduling page.
.Description
Make the scheduling page of this business available to external customers.
Set the **isPublished** property to true, and **publicUrl** property to the URL of the scheduling page.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Publish-MgBetaBookingBusiness -BookingBusinessId $bookingBusinessId
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/publish-mgbetabookingbusiness
#>

function Publish-MgBetaBookingBusiness {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Publish', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Publish', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='PublishViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Publish = 'Microsoft.Graph.Beta.Bookings.private\Publish-MgBetaBookingBusiness_Publish';
            PublishViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Publish-MgBetaBookingBusiness_PublishViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property appointments for bookingBusinesses
.Description
Delete navigation property appointments for bookingBusinesses
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Remove-MgBetaBookingBusinessAppointment -BookingBusinessId $bookingBusinessId -BookingAppointmentId $bookingAppointmentId
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/remove-mgbetabookingbusinessappointment
#>

function Remove-MgBetaBookingBusinessAppointment {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingAppointment
    ${BookingAppointmentId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingBusinessAppointment_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingBusinessAppointment_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property calendarView for bookingBusinesses
.Description
Delete navigation property calendarView for bookingBusinesses
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/remove-mgbetabookingbusinesscalendarview
#>

function Remove-MgBetaBookingBusinessCalendarView {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingAppointment
    ${BookingAppointmentId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingBusinessCalendarView_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingBusinessCalendarView_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property customers for bookingBusinesses
.Description
Delete navigation property customers for bookingBusinesses
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Remove-MgBetaBookingBusinessCustomer -BookingBusinessId $bookingBusinessId -BookingCustomerId $bookingCustomerId
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/remove-mgbetabookingbusinesscustomer
#>

function Remove-MgBetaBookingBusinessCustomer {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingCustomer
    ${BookingCustomerId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingBusinessCustomer_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingBusinessCustomer_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property customQuestions for bookingBusinesses
.Description
Delete navigation property customQuestions for bookingBusinesses
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Remove-MgBetaBookingBusinessCustomQuestion -BookingBusinessId $bookingBusinessId -BookingCustomQuestionId $bookingCustomQuestionId
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/remove-mgbetabookingbusinesscustomquestion
#>

function Remove-MgBetaBookingBusinessCustomQuestion {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingCustomQuestion
    ${BookingCustomQuestionId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingBusinessCustomQuestion_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingBusinessCustomQuestion_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property services for bookingBusinesses
.Description
Delete navigation property services for bookingBusinesses
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Remove-MgBetaBookingBusinessService -BookingBusinessId $bookingBusinessId -BookingServiceId $bookingServiceId
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/remove-mgbetabookingbusinessservice
#>

function Remove-MgBetaBookingBusinessService {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingService
    ${BookingServiceId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingBusinessService_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingBusinessService_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property staffMembers for bookingBusinesses
.Description
Delete navigation property staffMembers for bookingBusinesses
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Remove-MgBetaBookingBusinessStaffMember -BookingBusinessId $bookingBusinessId -BookingStaffMemberId $bookingStaffMemberId
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/remove-mgbetabookingbusinessstaffmember
#>

function Remove-MgBetaBookingBusinessStaffMember {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingStaffMember
    ${BookingStaffMemberId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingBusinessStaffMember_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingBusinessStaffMember_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete a bookingBusiness object.
.Description
Delete a bookingBusiness object.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Remove-MgBetaBookingBusiness -BookingBusinessId $bookingBusinessId
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/remove-mgbetabookingbusiness
#>

function Remove-MgBetaBookingBusiness {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingBusiness_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingBusiness_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete entity from bookingCurrencies
.Description
Delete entity from bookingCurrencies
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/remove-mgbetabookingcurrency
#>

function Remove-MgBetaBookingCurrency {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingCurrency
    ${BookingCurrencyId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingCurrency_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBookingCurrency_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property localizations for solutions
.Description
Delete navigation property localizations for solutions
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/remove-mgbetabusinessscenarioplannerplanconfigurationlocalization
#>

function Remove-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of plannerPlanConfigurationLocalization
    ${PlannerPlanConfigurationLocalizationId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property planConfiguration for solutions
.Description
Delete navigation property planConfiguration for solutions
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/remove-mgbetabusinessscenarioplannerplanconfiguration
#>

function Remove-MgBetaBusinessScenarioPlannerPlanConfiguration {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBusinessScenarioPlannerPlanConfiguration_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBusinessScenarioPlannerPlanConfiguration_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property taskConfiguration for solutions
.Description
Delete navigation property taskConfiguration for solutions
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/remove-mgbetabusinessscenarioplannertaskconfiguration
#>

function Remove-MgBetaBusinessScenarioPlannerTaskConfiguration {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBusinessScenarioPlannerTaskConfiguration_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBusinessScenarioPlannerTaskConfiguration_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property tasks for solutions
.Description
Delete navigation property tasks for solutions
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/remove-mgbetabusinessscenarioplannertask
#>

function Remove-MgBetaBusinessScenarioPlannerTask {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenarioTask
    ${BusinessScenarioTaskId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBusinessScenarioPlannerTask_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBusinessScenarioPlannerTask_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property planner for solutions
.Description
Delete navigation property planner for solutions
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/remove-mgbetabusinessscenarioplanner
#>

function Remove-MgBetaBusinessScenarioPlanner {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBusinessScenarioPlanner_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBusinessScenarioPlanner_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Delete navigation property businessScenarios for solutions
.Description
Delete navigation property businessScenarios for solutions
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/remove-mgbetabusinessscenario
#>

function Remove-MgBetaBusinessScenario {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Delete', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Header')]
    [System.String]
    # ETag
    ${IfMatch},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Delete = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBusinessScenario_Delete';
            DeleteViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Remove-MgBetaBusinessScenario_DeleteViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Cancel the specified bookingAppointment in the specified bookingBusiness, and send a message to the involved customer and staff members.
.Description
Cancel the specified bookingAppointment in the specified bookingBusiness, and send a message to the involved customer and staff members.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IPaths1K88Cl0BookingbusinessesBookingbusinessIdAppointmentsBookingappointmentIdMicrosoftGraphCancelPostRequestbodyContentApplicationJsonSchema
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IPaths1K88Cl0BookingbusinessesBookingbusinessIdAppointmentsBookingappointmentIdMicrosoftGraphCancelPostRequestbodyContentApplicationJsonSchema>: .
  [(Any) <Object>]: This indicates any property can be added to this object.
  [CancellationMessage <String>]:
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/stop-mgbetabookingbusinessesappointment
#>

function Stop-MgBetaBookingBusinessesAppointment {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='CancelExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Cancel', Mandatory)]
    [Parameter(ParameterSetName='CancelExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingAppointment
    ${BookingAppointmentId},

    [Parameter(ParameterSetName='Cancel', Mandatory)]
    [Parameter(ParameterSetName='CancelExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='CancelViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CancelViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Cancel', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CancelViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IPaths1K88Cl0BookingbusinessesBookingbusinessIdAppointmentsBookingappointmentIdMicrosoftGraphCancelPostRequestbodyContentApplicationJsonSchema]
    # .
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CancelExpanded')]
    [Parameter(ParameterSetName='CancelViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CancelExpanded')]
    [Parameter(ParameterSetName='CancelViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${CancellationMessage},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Cancel = 'Microsoft.Graph.Beta.Bookings.private\Stop-MgBetaBookingBusinessesAppointment_Cancel';
            CancelExpanded = 'Microsoft.Graph.Beta.Bookings.private\Stop-MgBetaBookingBusinessesAppointment_CancelExpanded';
            CancelViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Stop-MgBetaBookingBusinessesAppointment_CancelViaIdentity';
            CancelViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Stop-MgBetaBookingBusinessesAppointment_CancelViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Cancel the specified bookingAppointment in the specified bookingBusiness, and send a message to the involved customer and staff members.
.Description
Cancel the specified bookingAppointment in the specified bookingBusiness, and send a message to the involved customer and staff members.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IPaths1Bomg32BookingbusinessesBookingbusinessIdCalendarviewBookingappointmentIdMicrosoftGraphCancelPostRequestbodyContentApplicationJsonSchema
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IPaths1Bomg32BookingbusinessesBookingbusinessIdCalendarviewBookingappointmentIdMicrosoftGraphCancelPostRequestbodyContentApplicationJsonSchema>: .
  [(Any) <Object>]: This indicates any property can be added to this object.
  [CancellationMessage <String>]:
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/stop-mgbetabookingbusinessescalendarview
#>

function Stop-MgBetaBookingBusinessesCalendarView {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='CancelExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Cancel', Mandatory)]
    [Parameter(ParameterSetName='CancelExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingAppointment
    ${BookingAppointmentId},

    [Parameter(ParameterSetName='Cancel', Mandatory)]
    [Parameter(ParameterSetName='CancelExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='CancelViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CancelViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Cancel', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='CancelViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IPaths1Bomg32BookingbusinessesBookingbusinessIdCalendarviewBookingappointmentIdMicrosoftGraphCancelPostRequestbodyContentApplicationJsonSchema]
    # .
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='CancelExpanded')]
    [Parameter(ParameterSetName='CancelViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='CancelExpanded')]
    [Parameter(ParameterSetName='CancelViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${CancellationMessage},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Cancel = 'Microsoft.Graph.Beta.Bookings.private\Stop-MgBetaBookingBusinessesCalendarView_Cancel';
            CancelExpanded = 'Microsoft.Graph.Beta.Bookings.private\Stop-MgBetaBookingBusinessesCalendarView_CancelExpanded';
            CancelViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Stop-MgBetaBookingBusinessesCalendarView_CancelViaIdentity';
            CancelViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Stop-MgBetaBookingBusinessesCalendarView_CancelViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Make the scheduling page of this business not available to external customers.
Set the **isPublished** property to false, and **publicUrl** property to null.
.Description
Make the scheduling page of this business not available to external customers.
Set the **isPublished** property to false, and **publicUrl** property to null.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
Unpublish-MgBetaBookingBusiness -BookingBusinessId $bookingBusinessId
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Outputs
System.Boolean
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/unpublish-mgbetabookingbusiness
#>

function Unpublish-MgBetaBookingBusiness {
[OutputType([System.Boolean])]
[CmdletBinding(DefaultParameterSetName='Unpublish', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Unpublish', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='UnpublishViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Returns true when the command succeeds
    ${PassThru},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Unpublish = 'Microsoft.Graph.Beta.Bookings.private\Unpublish-MgBetaBookingBusiness_Unpublish';
            UnpublishViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Unpublish-MgBetaBookingBusiness_UnpublishViaIdentity';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property appointments in bookingBusinesses
.Description
Update the navigation property appointments in bookingBusinesses
.Example
Import-Module Microsoft.Graph.Beta.Bookings
$params = @{
    "@odata.type" = "#microsoft.graph.bookingAppointment"
    End = @{
        "@odata.type" = "#microsoft.graph.dateTimeTimeZone"
        DateTime = "2018-05-06T12:30:00.0000000+00:00"
        TimeZone = "UTC"
    }
    InvoiceDate = @{
        "@odata.type" = "#microsoft.graph.dateTimeTimeZone"
        DateTime = "2018-05-06T12:30:00.0000000+00:00"
        TimeZone = "UTC"
    }
    Start = @{
        "@odata.type" = "#microsoft.graph.dateTimeTimeZone"
        DateTime = "2018-05-06T12:00:00.0000000+00:00"
        TimeZone = "UTC"
    }
}
Update-MgBetaBookingBusinessAppointment -BookingBusinessId $bookingBusinessId -BookingAppointmentId $bookingAppointmentId -BodyParameter $params
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphBookingAppointment>: Represents a booked appointment of a service by a customer in a business.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
  [AnonymousJoinWebUrl <String>]: The URL of the meeting to join anonymously.
  [CustomerEmailAddress <String>]: The SMTP address of the bookingCustomer who is booking the appointment.
  [CustomerId <String>]: The ID of the bookingCustomer for this appointment. If no ID is specified when an appointment is created, then a new bookingCustomer object is created. Once set, you should consider the customerId immutable.
  [CustomerLocation <IMicrosoftGraphLocation>]: location
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
      [(Any) <Object>]: This indicates any property can be added to this object.
      [City <String>]: The city.
      [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
      [PostOfficeBox <String>]: The post office box number.
      [PostalCode <String>]: The postal code.
      [State <String>]: The state.
      [Street <String>]: The street.
      [Type <String>]: physicalAddressType
    [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
      [Altitude <Double?>]: The altitude of the location.
      [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
      [Latitude <Double?>]: The latitude of the location.
      [Longitude <Double?>]: The longitude of the location.
    [DisplayName <String>]: The name associated with the location.
    [LocationEmailAddress <String>]: Optional email address of the location.
    [LocationType <String>]: locationType
    [LocationUri <String>]: Optional URI representing the location.
    [UniqueId <String>]: For internal use only.
    [UniqueIdType <String>]: locationUniqueIdType
  [CustomerName <String>]: The customer's name.
  [CustomerNotes <String>]: Notes from the customer associated with this appointment. You can get the value only when reading this bookingAppointment by its ID. You can set this property only when initially creating an appointment with a new customer. After that point, the value is computed from the customer represented by customerId.
  [CustomerPhone <String>]: The customer's phone number.
  [CustomerTimeZone <String>]: The time zone of the customer. For a list of possible values, see dateTimeTimeZone.
  [Customers <IMicrosoftGraphBookingCustomerInformationBase[]>]: A collection of the customer properties for an appointment. An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment. Optional.
  [End <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
    [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
  [InvoiceAmount <Double?>]: The billed amount on the invoice.
  [InvoiceDate <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
  [InvoiceId <String>]: The ID of the invoice.
  [InvoiceStatus <String>]: bookingInvoiceStatus
  [InvoiceUrl <String>]: The URL of the invoice in Microsoft Bookings.
  [IsLocationOnline <Boolean?>]: True indicates that the appointment will be held online. Default value is false.
  [JoinWebUrl <String>]: The URL of the online meeting for the appointment.
  [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in an appointment. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
  [OnlineMeetingUrl <String>]:
  [OptOutOfCustomerEmail <Boolean?>]: True indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this appointment.
  [PostBuffer <TimeSpan?>]: The amount of time to reserve after the appointment ends, for cleaning up, as an example. The value is expressed in ISO8601 format.
  [PreBuffer <TimeSpan?>]: The amount of time to reserve before the appointment begins, for preparation, as an example. The value is expressed in ISO8601 format.
  [Price <Double?>]: The regular price for an appointment for the specified bookingService.
  [PriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
  [Reminders <IMicrosoftGraphBookingReminder[]>]: The collection of customer reminders sent for this appointment. The value of this property is available only when reading this bookingAppointment by its ID.
    [Message <String>]: The message in the reminder.
    [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
    [Recipients <String>]: bookingReminderRecipients
  [SelfServiceAppointmentId <String>]: An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the scheduling page, as opposed to by a staff member on the behalf of the customer.
  [ServiceId <String>]: The ID of the bookingService associated with this appointment.
  [ServiceLocation <IMicrosoftGraphLocation>]: location
  [ServiceName <String>]: The name of the bookingService associated with this appointment.This property is optional when creating a new appointment. If not specified, it is computed from the service associated with the appointment by the serviceId property.
  [ServiceNotes <String>]: Notes from a bookingStaffMember. The value of this property is available only when reading this bookingAppointment by its ID.
  [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications will be sent to the customers for the appointment. Default value is false.
  [StaffMemberIds <String[]>]: The ID of each bookingStaffMember who is scheduled in this appointment.
  [Start <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
 
CUSTOMERLOCATION <IMicrosoftGraphLocation>: location
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
    [(Any) <Object>]: This indicates any property can be added to this object.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
    [Altitude <Double?>]: The altitude of the location.
    [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
    [Latitude <Double?>]: The latitude of the location.
    [Longitude <Double?>]: The longitude of the location.
  [DisplayName <String>]: The name associated with the location.
  [LocationEmailAddress <String>]: Optional email address of the location.
  [LocationType <String>]: locationType
  [LocationUri <String>]: Optional URI representing the location.
  [UniqueId <String>]: For internal use only.
  [UniqueIdType <String>]: locationUniqueIdType
 
END <IMicrosoftGraphDateTimeZone>: dateTimeTimeZone
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
  [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
INVOICEDATE <IMicrosoftGraphDateTimeZone>: dateTimeTimeZone
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
  [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
 
REMINDERS <IMicrosoftGraphBookingReminder[]>: The collection of customer reminders sent for this appointment. The value of this property is available only when reading this bookingAppointment by its ID.
  [Message <String>]: The message in the reminder.
  [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
  [Recipients <String>]: bookingReminderRecipients
 
SERVICELOCATION <IMicrosoftGraphLocation>: location
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
    [(Any) <Object>]: This indicates any property can be added to this object.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
    [Altitude <Double?>]: The altitude of the location.
    [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
    [Latitude <Double?>]: The latitude of the location.
    [Longitude <Double?>]: The longitude of the location.
  [DisplayName <String>]: The name associated with the location.
  [LocationEmailAddress <String>]: Optional email address of the location.
  [LocationType <String>]: locationType
  [LocationUri <String>]: Optional URI representing the location.
  [UniqueId <String>]: For internal use only.
  [UniqueIdType <String>]: locationUniqueIdType
 
START <IMicrosoftGraphDateTimeZone>: dateTimeTimeZone
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
  [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/update-mgbetabookingbusinessappointment
#>

function Update-MgBetaBookingBusinessAppointment {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingAppointment
    ${BookingAppointmentId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment]
    # Represents a booked appointment of a service by a customer in a business.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Additional information that is sent to the customer when an appointment is confirmed.
    ${AdditionalInformation},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL of the meeting to join anonymously.
    ${AnonymousJoinWebUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The SMTP address of the bookingCustomer who is booking the appointment.
    ${CustomerEmailAddress},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The ID of the bookingCustomer for this appointment.
    # If no ID is specified when an appointment is created, then a new bookingCustomer object is created.
    # Once set, you should consider the customerId immutable.
    ${CustomerId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphLocation]
    # location
    # To construct, see NOTES section for CUSTOMERLOCATION properties and create a hash table.
    ${CustomerLocation},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The customer's name.
    ${CustomerName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Notes from the customer associated with this appointment.
    # You can get the value only when reading this bookingAppointment by its ID.
    # You can set this property only when initially creating an appointment with a new customer.
    # After that point, the value is computed from the customer represented by customerId.
    ${CustomerNotes},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The customer's phone number.
    ${CustomerPhone},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The time zone of the customer.
    # For a list of possible values, see dateTimeTimeZone.
    ${CustomerTimeZone},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomerInformationBase[]]
    # A collection of the customer properties for an appointment.
    # An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment.
    # Optional.
    ${Customers},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDateTimeZone]
    # dateTimeTimeZone
    # To construct, see NOTES section for END properties and create a hash table.
    ${End},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Double]
    # The billed amount on the invoice.
    ${InvoiceAmount},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDateTimeZone]
    # dateTimeTimeZone
    # To construct, see NOTES section for INVOICEDATE properties and create a hash table.
    ${InvoiceDate},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The ID of the invoice.
    ${InvoiceId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # bookingInvoiceStatus
    ${InvoiceStatus},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL of the invoice in Microsoft Bookings.
    ${InvoiceUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates that the appointment will be held online.
    # Default value is false.
    ${IsLocationOnline},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL of the online meeting for the appointment.
    ${JoinWebUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # The maximum number of customers allowed in an appointment.
    # If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment.
    # To create a customer, use the Create bookingCustomer operation.
    ${MaximumAttendeesCount},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${OnlineMeetingUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this appointment.
    ${OptOutOfCustomerEmail},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.TimeSpan]
    # The amount of time to reserve after the appointment ends, for cleaning up, as an example.
    # The value is expressed in ISO8601 format.
    ${PostBuffer},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.TimeSpan]
    # The amount of time to reserve before the appointment begins, for preparation, as an example.
    # The value is expressed in ISO8601 format.
    ${PreBuffer},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Double]
    # The regular price for an appointment for the specified bookingService.
    ${Price},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [ArgumentCompleter([Microsoft.Graph.Beta.PowerShell.Support.BookingPriceType])]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Support.BookingPriceType]
    # Represents the type of pricing of a booking service.
    ${PriceType},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingReminder[]]
    # The collection of customer reminders sent for this appointment.
    # The value of this property is available only when reading this bookingAppointment by its ID.
    # To construct, see NOTES section for REMINDERS properties and create a hash table.
    ${Reminders},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the scheduling page, as opposed to by a staff member on the behalf of the customer.
    ${SelfServiceAppointmentId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The ID of the bookingService associated with this appointment.
    ${ServiceId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphLocation]
    # location
    # To construct, see NOTES section for SERVICELOCATION properties and create a hash table.
    ${ServiceLocation},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The name of the bookingService associated with this appointment.This property is optional when creating a new appointment.
    # If not specified, it is computed from the service associated with the appointment by the serviceId property.
    ${ServiceName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Notes from a bookingStaffMember.
    # The value of this property is available only when reading this bookingAppointment by its ID.
    ${ServiceNotes},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates SMS notifications will be sent to the customers for the appointment.
    # Default value is false.
    ${SmsNotificationsEnabled},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String[]]
    # The ID of each bookingStaffMember who is scheduled in this appointment.
    ${StaffMemberIds},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDateTimeZone]
    # dateTimeTimeZone
    # To construct, see NOTES section for START properties and create a hash table.
    ${Start},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessAppointment_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessAppointment_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessAppointment_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessAppointment_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property calendarView in bookingBusinesses
.Description
Update the navigation property calendarView in bookingBusinesses
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphBookingAppointment>: Represents a booked appointment of a service by a customer in a business.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
  [AnonymousJoinWebUrl <String>]: The URL of the meeting to join anonymously.
  [CustomerEmailAddress <String>]: The SMTP address of the bookingCustomer who is booking the appointment.
  [CustomerId <String>]: The ID of the bookingCustomer for this appointment. If no ID is specified when an appointment is created, then a new bookingCustomer object is created. Once set, you should consider the customerId immutable.
  [CustomerLocation <IMicrosoftGraphLocation>]: location
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
      [(Any) <Object>]: This indicates any property can be added to this object.
      [City <String>]: The city.
      [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
      [PostOfficeBox <String>]: The post office box number.
      [PostalCode <String>]: The postal code.
      [State <String>]: The state.
      [Street <String>]: The street.
      [Type <String>]: physicalAddressType
    [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
      [Altitude <Double?>]: The altitude of the location.
      [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
      [Latitude <Double?>]: The latitude of the location.
      [Longitude <Double?>]: The longitude of the location.
    [DisplayName <String>]: The name associated with the location.
    [LocationEmailAddress <String>]: Optional email address of the location.
    [LocationType <String>]: locationType
    [LocationUri <String>]: Optional URI representing the location.
    [UniqueId <String>]: For internal use only.
    [UniqueIdType <String>]: locationUniqueIdType
  [CustomerName <String>]: The customer's name.
  [CustomerNotes <String>]: Notes from the customer associated with this appointment. You can get the value only when reading this bookingAppointment by its ID. You can set this property only when initially creating an appointment with a new customer. After that point, the value is computed from the customer represented by customerId.
  [CustomerPhone <String>]: The customer's phone number.
  [CustomerTimeZone <String>]: The time zone of the customer. For a list of possible values, see dateTimeTimeZone.
  [Customers <IMicrosoftGraphBookingCustomerInformationBase[]>]: A collection of the customer properties for an appointment. An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment. Optional.
  [End <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
    [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
  [InvoiceAmount <Double?>]: The billed amount on the invoice.
  [InvoiceDate <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
  [InvoiceId <String>]: The ID of the invoice.
  [InvoiceStatus <String>]: bookingInvoiceStatus
  [InvoiceUrl <String>]: The URL of the invoice in Microsoft Bookings.
  [IsLocationOnline <Boolean?>]: True indicates that the appointment will be held online. Default value is false.
  [JoinWebUrl <String>]: The URL of the online meeting for the appointment.
  [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in an appointment. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
  [OnlineMeetingUrl <String>]:
  [OptOutOfCustomerEmail <Boolean?>]: True indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this appointment.
  [PostBuffer <TimeSpan?>]: The amount of time to reserve after the appointment ends, for cleaning up, as an example. The value is expressed in ISO8601 format.
  [PreBuffer <TimeSpan?>]: The amount of time to reserve before the appointment begins, for preparation, as an example. The value is expressed in ISO8601 format.
  [Price <Double?>]: The regular price for an appointment for the specified bookingService.
  [PriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
  [Reminders <IMicrosoftGraphBookingReminder[]>]: The collection of customer reminders sent for this appointment. The value of this property is available only when reading this bookingAppointment by its ID.
    [Message <String>]: The message in the reminder.
    [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
    [Recipients <String>]: bookingReminderRecipients
  [SelfServiceAppointmentId <String>]: An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the scheduling page, as opposed to by a staff member on the behalf of the customer.
  [ServiceId <String>]: The ID of the bookingService associated with this appointment.
  [ServiceLocation <IMicrosoftGraphLocation>]: location
  [ServiceName <String>]: The name of the bookingService associated with this appointment.This property is optional when creating a new appointment. If not specified, it is computed from the service associated with the appointment by the serviceId property.
  [ServiceNotes <String>]: Notes from a bookingStaffMember. The value of this property is available only when reading this bookingAppointment by its ID.
  [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications will be sent to the customers for the appointment. Default value is false.
  [StaffMemberIds <String[]>]: The ID of each bookingStaffMember who is scheduled in this appointment.
  [Start <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
 
CUSTOMERLOCATION <IMicrosoftGraphLocation>: location
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
    [(Any) <Object>]: This indicates any property can be added to this object.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
    [Altitude <Double?>]: The altitude of the location.
    [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
    [Latitude <Double?>]: The latitude of the location.
    [Longitude <Double?>]: The longitude of the location.
  [DisplayName <String>]: The name associated with the location.
  [LocationEmailAddress <String>]: Optional email address of the location.
  [LocationType <String>]: locationType
  [LocationUri <String>]: Optional URI representing the location.
  [UniqueId <String>]: For internal use only.
  [UniqueIdType <String>]: locationUniqueIdType
 
END <IMicrosoftGraphDateTimeZone>: dateTimeTimeZone
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
  [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
INVOICEDATE <IMicrosoftGraphDateTimeZone>: dateTimeTimeZone
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
  [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
 
REMINDERS <IMicrosoftGraphBookingReminder[]>: The collection of customer reminders sent for this appointment. The value of this property is available only when reading this bookingAppointment by its ID.
  [Message <String>]: The message in the reminder.
  [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
  [Recipients <String>]: bookingReminderRecipients
 
SERVICELOCATION <IMicrosoftGraphLocation>: location
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
    [(Any) <Object>]: This indicates any property can be added to this object.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
    [Altitude <Double?>]: The altitude of the location.
    [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
    [Latitude <Double?>]: The latitude of the location.
    [Longitude <Double?>]: The longitude of the location.
  [DisplayName <String>]: The name associated with the location.
  [LocationEmailAddress <String>]: Optional email address of the location.
  [LocationType <String>]: locationType
  [LocationUri <String>]: Optional URI representing the location.
  [UniqueId <String>]: For internal use only.
  [UniqueIdType <String>]: locationUniqueIdType
 
START <IMicrosoftGraphDateTimeZone>: dateTimeTimeZone
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
  [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/update-mgbetabookingbusinesscalendarview
#>

function Update-MgBetaBookingBusinessCalendarView {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingAppointment
    ${BookingAppointmentId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment]
    # Represents a booked appointment of a service by a customer in a business.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Additional information that is sent to the customer when an appointment is confirmed.
    ${AdditionalInformation},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL of the meeting to join anonymously.
    ${AnonymousJoinWebUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The SMTP address of the bookingCustomer who is booking the appointment.
    ${CustomerEmailAddress},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The ID of the bookingCustomer for this appointment.
    # If no ID is specified when an appointment is created, then a new bookingCustomer object is created.
    # Once set, you should consider the customerId immutable.
    ${CustomerId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphLocation]
    # location
    # To construct, see NOTES section for CUSTOMERLOCATION properties and create a hash table.
    ${CustomerLocation},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The customer's name.
    ${CustomerName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Notes from the customer associated with this appointment.
    # You can get the value only when reading this bookingAppointment by its ID.
    # You can set this property only when initially creating an appointment with a new customer.
    # After that point, the value is computed from the customer represented by customerId.
    ${CustomerNotes},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The customer's phone number.
    ${CustomerPhone},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The time zone of the customer.
    # For a list of possible values, see dateTimeTimeZone.
    ${CustomerTimeZone},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomerInformationBase[]]
    # A collection of the customer properties for an appointment.
    # An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment.
    # Optional.
    ${Customers},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDateTimeZone]
    # dateTimeTimeZone
    # To construct, see NOTES section for END properties and create a hash table.
    ${End},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Double]
    # The billed amount on the invoice.
    ${InvoiceAmount},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDateTimeZone]
    # dateTimeTimeZone
    # To construct, see NOTES section for INVOICEDATE properties and create a hash table.
    ${InvoiceDate},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The ID of the invoice.
    ${InvoiceId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # bookingInvoiceStatus
    ${InvoiceStatus},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL of the invoice in Microsoft Bookings.
    ${InvoiceUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates that the appointment will be held online.
    # Default value is false.
    ${IsLocationOnline},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL of the online meeting for the appointment.
    ${JoinWebUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # The maximum number of customers allowed in an appointment.
    # If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment.
    # To create a customer, use the Create bookingCustomer operation.
    ${MaximumAttendeesCount},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # .
    ${OnlineMeetingUrl},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this appointment.
    ${OptOutOfCustomerEmail},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.TimeSpan]
    # The amount of time to reserve after the appointment ends, for cleaning up, as an example.
    # The value is expressed in ISO8601 format.
    ${PostBuffer},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.TimeSpan]
    # The amount of time to reserve before the appointment begins, for preparation, as an example.
    # The value is expressed in ISO8601 format.
    ${PreBuffer},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Double]
    # The regular price for an appointment for the specified bookingService.
    ${Price},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [ArgumentCompleter([Microsoft.Graph.Beta.PowerShell.Support.BookingPriceType])]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Support.BookingPriceType]
    # Represents the type of pricing of a booking service.
    ${PriceType},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingReminder[]]
    # The collection of customer reminders sent for this appointment.
    # The value of this property is available only when reading this bookingAppointment by its ID.
    # To construct, see NOTES section for REMINDERS properties and create a hash table.
    ${Reminders},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the scheduling page, as opposed to by a staff member on the behalf of the customer.
    ${SelfServiceAppointmentId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The ID of the bookingService associated with this appointment.
    ${ServiceId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphLocation]
    # location
    # To construct, see NOTES section for SERVICELOCATION properties and create a hash table.
    ${ServiceLocation},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The name of the bookingService associated with this appointment.This property is optional when creating a new appointment.
    # If not specified, it is computed from the service associated with the appointment by the serviceId property.
    ${ServiceName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Notes from a bookingStaffMember.
    # The value of this property is available only when reading this bookingAppointment by its ID.
    ${ServiceNotes},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates SMS notifications will be sent to the customers for the appointment.
    # Default value is false.
    ${SmsNotificationsEnabled},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String[]]
    # The ID of each bookingStaffMember who is scheduled in this appointment.
    ${StaffMemberIds},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphDateTimeZone]
    # dateTimeTimeZone
    # To construct, see NOTES section for START properties and create a hash table.
    ${Start},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessCalendarView_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessCalendarView_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessCalendarView_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessCalendarView_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property customers in bookingBusinesses
.Description
Update the navigation property customers in bookingBusinesses
.Example
Import-Module Microsoft.Graph.Beta.Bookings
$params = @{
    DisplayName = "Adele"
    EmailAddress = "adele@relecloud.com"
}
Update-MgBetaBookingBusinessCustomer -BookingBusinessId $bookingBusinessId -BookingCustomerId $bookingCustomerId -BodyParameter $params
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomer
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomer
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
ADDRESSES <IMicrosoftGraphPhysicalAddress[]>: Addresses associated with the customer, including home, business and other addresses.
  [City <String>]: The city.
  [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
  [PostOfficeBox <String>]: The post office box number.
  [PostalCode <String>]: The postal code.
  [State <String>]: The state.
  [Street <String>]: The street.
  [Type <String>]: physicalAddressType
 
BODYPARAMETER <IMicrosoftGraphBookingCustomer>: Represents a customer of the business.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [EmailAddress <String>]: The email address of the person.
  [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Addresses <IMicrosoftGraphPhysicalAddress[]>]: Addresses associated with the customer, including home, business and other addresses.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Phones <IMicrosoftGraphPhone[]>]: Phone numbers associated with the customer, including home, business and mobile numbers.
    [Number <String>]: The phone number.
    [Type <String>]: phoneType
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
PHONES <IMicrosoftGraphPhone[]>: Phone numbers associated with the customer, including home, business and mobile numbers.
  [Number <String>]: The phone number.
  [Type <String>]: phoneType
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/update-mgbetabookingbusinesscustomer
#>

function Update-MgBetaBookingBusinessCustomer {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomer])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingCustomer
    ${BookingCustomerId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomer]
    # Represents a customer of the business.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPhysicalAddress[]]
    # Addresses associated with the customer, including home, business and other addresses.
    # To construct, see NOTES section for ADDRESSES properties and create a hash table.
    ${Addresses},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # A name for the derived entity, which interfaces with customers.
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The email address of the person.
    ${EmailAddress},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPhone[]]
    # Phone numbers associated with the customer, including home, business and mobile numbers.
    # To construct, see NOTES section for PHONES properties and create a hash table.
    ${Phones},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessCustomer_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessCustomer_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessCustomer_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessCustomer_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property customQuestions in bookingBusinesses
.Description
Update the navigation property customQuestions in bookingBusinesses
.Example
Import-Module Microsoft.Graph.Beta.Bookings
$params = @{
    "@odata.type" = "#microsoft.graph.bookingCustomQuestion"
    DisplayName = "What is your age?"
    AnswerInputType = "text"
    AnswerOptions = @(
    )
}
Update-MgBetaBookingBusinessCustomQuestion -BookingBusinessId $bookingBusinessId -BookingCustomQuestionId $bookingCustomQuestionId -BodyParameter $params
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomQuestion
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomQuestion
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphBookingCustomQuestion>: Represents a custom question of the business.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AnswerInputType <String>]: answerInputType
  [AnswerOptions <String[]>]: List of possible answer values.
  [DisplayName <String>]: Display name of this entity.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/update-mgbetabookingbusinesscustomquestion
#>

function Update-MgBetaBookingBusinessCustomQuestion {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomQuestion])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingCustomQuestion
    ${BookingCustomQuestionId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomQuestion]
    # Represents a custom question of the business.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # answerInputType
    ${AnswerInputType},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String[]]
    # List of possible answer values.
    ${AnswerOptions},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Display name of this entity.
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessCustomQuestion_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessCustomQuestion_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessCustomQuestion_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessCustomQuestion_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property services in bookingBusinesses
.Description
Update the navigation property services in bookingBusinesses
.Example
Import-Module Microsoft.Graph.Beta.Bookings
$params = @{
    "@odata.type" = "#microsoft.graph.bookingService"
    DefaultDuration = "PT30M"
}
Update-MgBetaBookingBusinessService -BookingBusinessId $bookingBusinessId -BookingServiceId $bookingServiceId -BodyParameter $params
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingService
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingService
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphBookingService>: Represents a particular service offered by a booking business.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
  [CustomQuestions <IMicrosoftGraphBookingQuestionAssignment[]>]: Contains the set of custom questions associated with a particular service.
    [IsRequired <Boolean?>]: Indicates whether it is mandatory to answer the custom question.
    [QuestionId <String>]: If it is mandatory to answer the custom question.
  [DefaultDuration <TimeSpan?>]: The default length of the service, represented in numbers of days, hours, minutes, and seconds. For example, P11D23H59M59.999999999999S.
  [DefaultLocation <IMicrosoftGraphLocation>]: location
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
      [(Any) <Object>]: This indicates any property can be added to this object.
      [City <String>]: The city.
      [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
      [PostOfficeBox <String>]: The post office box number.
      [PostalCode <String>]: The postal code.
      [State <String>]: The state.
      [Street <String>]: The street.
      [Type <String>]: physicalAddressType
    [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
      [Altitude <Double?>]: The altitude of the location.
      [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
      [Latitude <Double?>]: The latitude of the location.
      [Longitude <Double?>]: The longitude of the location.
    [DisplayName <String>]: The name associated with the location.
    [LocationEmailAddress <String>]: Optional email address of the location.
    [LocationType <String>]: locationType
    [LocationUri <String>]: Optional URI representing the location.
    [UniqueId <String>]: For internal use only.
    [UniqueIdType <String>]: locationUniqueIdType
  [DefaultPrice <Double?>]: The default monetary price for the service.
  [DefaultPriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
  [DefaultReminders <IMicrosoftGraphBookingReminder[]>]: The default set of reminders for an appointment of this service. The value of this property is available only when reading this bookingService by its ID.
    [Message <String>]: The message in the reminder.
    [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
    [Recipients <String>]: bookingReminderRecipients
  [Description <String>]: A text description for the service.
  [IsAnonymousJoinEnabled <Boolean?>]: True if an anonymousJoinWebUrl(webrtcUrl) will be generated for the appointment booked for this service.
  [IsHiddenFromCustomers <Boolean?>]: True means this service is not available to customers for booking.
  [IsLocationOnline <Boolean?>]: True indicates that the appointments for the service will be held online. Default value is false.
  [LanguageTag <String>]: The language of the self service booking page.
  [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in a service. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
  [Notes <String>]: Additional information about this service.
  [PostBuffer <TimeSpan?>]: The time to buffer after an appointment for this service ends, and before the next customer appointment can be booked.
  [PreBuffer <TimeSpan?>]: The time to buffer before an appointment for this service can start.
  [SchedulingPolicy <IMicrosoftGraphBookingSchedulingPolicy>]: This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AllowStaffSelection <Boolean?>]: True if to allow customers to choose a specific person for the booking.
    [MaximumAdvance <TimeSpan?>]: Maximum number of days in advance that a booking can be made. It follows the ISO 8601 format.
    [MinimumLeadTime <TimeSpan?>]: The minimum amount of time before which bookings and cancellations must be made. It follows the ISO 8601 format.
    [SendConfirmationsToOwner <Boolean?>]: True to notify the business via email when a booking is created or changed. Use the email address specified in the email property of the bookingBusiness entity for the business.
    [TimeSlotInterval <TimeSpan?>]: Duration of each time slot, denoted in ISO 8601 format.
  [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications can be sent to the customers for the appointment of the service. Default value is false.
  [StaffMemberIds <String[]>]: Represents those staff members who provide this service.
 
CUSTOMQUESTIONS <IMicrosoftGraphBookingQuestionAssignment[]>: Contains the set of custom questions associated with a particular service.
  [IsRequired <Boolean?>]: Indicates whether it is mandatory to answer the custom question.
  [QuestionId <String>]: If it is mandatory to answer the custom question.
 
DEFAULTLOCATION <IMicrosoftGraphLocation>: location
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
    [(Any) <Object>]: This indicates any property can be added to this object.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
    [Altitude <Double?>]: The altitude of the location.
    [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
    [Latitude <Double?>]: The latitude of the location.
    [Longitude <Double?>]: The longitude of the location.
  [DisplayName <String>]: The name associated with the location.
  [LocationEmailAddress <String>]: Optional email address of the location.
  [LocationType <String>]: locationType
  [LocationUri <String>]: Optional URI representing the location.
  [UniqueId <String>]: For internal use only.
  [UniqueIdType <String>]: locationUniqueIdType
 
DEFAULTREMINDERS <IMicrosoftGraphBookingReminder[]>: The default set of reminders for an appointment of this service. The value of this property is available only when reading this bookingService by its ID.
  [Message <String>]: The message in the reminder.
  [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
  [Recipients <String>]: bookingReminderRecipients
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
SCHEDULINGPOLICY <IMicrosoftGraphBookingSchedulingPolicy>: This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AllowStaffSelection <Boolean?>]: True if to allow customers to choose a specific person for the booking.
  [MaximumAdvance <TimeSpan?>]: Maximum number of days in advance that a booking can be made. It follows the ISO 8601 format.
  [MinimumLeadTime <TimeSpan?>]: The minimum amount of time before which bookings and cancellations must be made. It follows the ISO 8601 format.
  [SendConfirmationsToOwner <Boolean?>]: True to notify the business via email when a booking is created or changed. Use the email address specified in the email property of the bookingBusiness entity for the business.
  [TimeSlotInterval <TimeSpan?>]: Duration of each time slot, denoted in ISO 8601 format.
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/update-mgbetabookingbusinessservice
#>

function Update-MgBetaBookingBusinessService {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingService])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingService
    ${BookingServiceId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingService]
    # Represents a particular service offered by a booking business.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Additional information that is sent to the customer when an appointment is confirmed.
    ${AdditionalInformation},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingQuestionAssignment[]]
    # Contains the set of custom questions associated with a particular service.
    # To construct, see NOTES section for CUSTOMQUESTIONS properties and create a hash table.
    ${CustomQuestions},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.TimeSpan]
    # The default length of the service, represented in numbers of days, hours, minutes, and seconds.
    # For example, P11D23H59M59.999999999999S.
    ${DefaultDuration},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphLocation]
    # location
    # To construct, see NOTES section for DEFAULTLOCATION properties and create a hash table.
    ${DefaultLocation},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Double]
    # The default monetary price for the service.
    ${DefaultPrice},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [ArgumentCompleter([Microsoft.Graph.Beta.PowerShell.Support.BookingPriceType])]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Support.BookingPriceType]
    # Represents the type of pricing of a booking service.
    ${DefaultPriceType},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingReminder[]]
    # The default set of reminders for an appointment of this service.
    # The value of this property is available only when reading this bookingService by its ID.
    # To construct, see NOTES section for DEFAULTREMINDERS properties and create a hash table.
    ${DefaultReminders},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # A text description for the service.
    ${Description},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # A name for the derived entity, which interfaces with customers.
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True if an anonymousJoinWebUrl(webrtcUrl) will be generated for the appointment booked for this service.
    ${IsAnonymousJoinEnabled},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True means this service is not available to customers for booking.
    ${IsHiddenFromCustomers},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates that the appointments for the service will be held online.
    # Default value is false.
    ${IsLocationOnline},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The language of the self service booking page.
    ${LanguageTag},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # The maximum number of customers allowed in a service.
    # If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment.
    # To create a customer, use the Create bookingCustomer operation.
    ${MaximumAttendeesCount},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Additional information about this service.
    ${Notes},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.TimeSpan]
    # The time to buffer after an appointment for this service ends, and before the next customer appointment can be booked.
    ${PostBuffer},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.TimeSpan]
    # The time to buffer before an appointment for this service can start.
    ${PreBuffer},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingSchedulingPolicy]
    # This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
    # To construct, see NOTES section for SCHEDULINGPOLICY properties and create a hash table.
    ${SchedulingPolicy},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates SMS notifications can be sent to the customers for the appointment of the service.
    # Default value is false.
    ${SmsNotificationsEnabled},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String[]]
    # Represents those staff members who provide this service.
    ${StaffMemberIds},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessService_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessService_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessService_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessService_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property staffMembers in bookingBusinesses
.Description
Update the navigation property staffMembers in bookingBusinesses
.Example
Import-Module Microsoft.Graph.Beta.Bookings
$params = @{
    WorkingHours = @(
        @{
            "@odata.type" = "#microsoft.graph.bookingWorkHours"
            "Day@odata.type" = "#microsoft.graph.dayOfWeek"
            Day = "monday"
            "TimeSlots@odata.type" = "#Collection(microsoft.graph.bookingWorkTimeSlot)"
            TimeSlots = @(
            )
        }
        @{
            "@odata.type" = "#microsoft.graph.bookingWorkHours"
            "Day@odata.type" = "#microsoft.graph.dayOfWeek"
            Day = "tuesday"
            "TimeSlots@odata.type" = "#Collection(microsoft.graph.bookingWorkTimeSlot)"
            TimeSlots = @(
                @{
                    "@odata.type" = "#microsoft.graph.bookingWorkTimeSlot"
                    End = "17:00:00.0000000"
                    Start = "08:00:00.0000000"
                }
            )
        }
        @{
            "@odata.type" = "#microsoft.graph.bookingWorkHours"
            "Day@odata.type" = "#microsoft.graph.dayOfWeek"
            Day = "wednesday"
            "TimeSlots@odata.type" = "#Collection(microsoft.graph.bookingWorkTimeSlot)"
            TimeSlots = @(
                @{
                    "@odata.type" = "#microsoft.graph.bookingWorkTimeSlot"
                    End = "17:00:00.0000000"
                    Start = "08:00:00.0000000"
                }
            )
        }
        @{
            "@odata.type" = "#microsoft.graph.bookingWorkHours"
            "Day@odata.type" = "#microsoft.graph.dayOfWeek"
            Day = "thursday"
            "TimeSlots@odata.type" = "#Collection(microsoft.graph.bookingWorkTimeSlot)"
            TimeSlots = @(
                @{
                    "@odata.type" = "#microsoft.graph.bookingWorkTimeSlot"
                    End = "17:00:00.0000000"
                    Start = "08:00:00.0000000"
                }
            )
        }
        @{
            "@odata.type" = "#microsoft.graph.bookingWorkHours"
            "Day@odata.type" = "#microsoft.graph.dayOfWeek"
            Day = "friday"
            "TimeSlots@odata.type" = "#Collection(microsoft.graph.bookingWorkTimeSlot)"
            TimeSlots = @(
                @{
                    "@odata.type" = "#microsoft.graph.bookingWorkTimeSlot"
                    End = "17:00:00.0000000"
                    Start = "08:00:00.0000000"
                }
            )
        }
    )
}
Update-MgBetaBookingBusinessStaffMember -BookingBusinessId $bookingBusinessId -BookingStaffMemberId $bookingStaffMemberId -BodyParameter $params
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingStaffMember
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingStaffMember
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphBookingStaffMember>: Represents a staff member who provides services in a business.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [EmailAddress <String>]: The email address of the person.
  [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AvailabilityIsAffectedByPersonalCalendar <Boolean?>]: True means that if the staff member is a Microsoft 365 user, the Bookings API would verify the staff member's availability in their personal calendar in Microsoft 365, before making a booking.
  [ColorIndex <Int32?>]: Identifies a color to represent the staff member. The color corresponds to the color palette in the Staff details page in the Bookings app.
  [IsEmailNotificationEnabled <Boolean?>]: True indicates that a staff member will be notified via email when a booking assigned to them is created or changed.
  [MembershipStatus <String>]: bookingStaffMembershipStatus
  [Role <String>]: bookingStaffRole
  [TimeZone <String>]: The time zone of the staff member. For a list of possible values, see dateTimeTimeZone.
  [UseBusinessHours <Boolean?>]: True means the staff member's availability is as specified in the businessHours property of the business. False means the availability is determined by the staff member's workingHours property setting.
  [WorkingHours <IMicrosoftGraphBookingWorkHours[]>]: The range of hours each day of the week that the staff member is available for booking. By default, they are initialized to be the same as the businessHours property of the business.
    [Day <String>]: dayOfWeek
    [TimeSlots <IMicrosoftGraphBookingWorkTimeSlot[]>]: A list of start/end times during a day.
      [End <String>]: The time of the day when work stops. For example, 17:00:00.0000000.
      [Start <String>]: The time of the day when work starts. For example, 08:00:00.0000000.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
WORKINGHOURS <IMicrosoftGraphBookingWorkHours[]>: The range of hours each day of the week that the staff member is available for booking. By default, they are initialized to be the same as the businessHours property of the business.
  [Day <String>]: dayOfWeek
  [TimeSlots <IMicrosoftGraphBookingWorkTimeSlot[]>]: A list of start/end times during a day.
    [End <String>]: The time of the day when work stops. For example, 17:00:00.0000000.
    [Start <String>]: The time of the day when work starts. For example, 08:00:00.0000000.
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/update-mgbetabookingbusinessstaffmember
#>

function Update-MgBetaBookingBusinessStaffMember {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingStaffMember])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingStaffMember
    ${BookingStaffMemberId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingStaffMember]
    # Represents a staff member who provides services in a business.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True means that if the staff member is a Microsoft 365 user, the Bookings API would verify the staff member's availability in their personal calendar in Microsoft 365, before making a booking.
    ${AvailabilityIsAffectedByPersonalCalendar},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # Identifies a color to represent the staff member.
    # The color corresponds to the color palette in the Staff details page in the Bookings app.
    ${ColorIndex},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # A name for the derived entity, which interfaces with customers.
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The email address of the person.
    ${EmailAddress},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True indicates that a staff member will be notified via email when a booking assigned to them is created or changed.
    ${IsEmailNotificationEnabled},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # bookingStaffMembershipStatus
    ${MembershipStatus},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # bookingStaffRole
    ${Role},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The time zone of the staff member.
    # For a list of possible values, see dateTimeTimeZone.
    ${TimeZone},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # True means the staff member's availability is as specified in the businessHours property of the business.
    # False means the availability is determined by the staff member's workingHours property setting.
    ${UseBusinessHours},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingWorkHours[]]
    # The range of hours each day of the week that the staff member is available for booking.
    # By default, they are initialized to be the same as the businessHours property of the business.
    # To construct, see NOTES section for WORKINGHOURS properties and create a hash table.
    ${WorkingHours},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessStaffMember_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessStaffMember_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessStaffMember_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusinessStaffMember_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the properties of a bookingBusiness object.
.Description
Update the properties of a bookingBusiness object.
.Example
Import-Module Microsoft.Graph.Beta.Bookings
$params = @{
    Email = "admin@fabrikam.com"
    SchedulingPolicy = @{
        TimeSlotInterval = "PT60M"
        MinimumLeadTime = "P1D"
        MaximumAdvance = "P30D"
        SendConfirmationsToOwner = $true
        AllowStaffSelection = $true
    }
}
Update-MgBetaBookingBusiness -BookingBusinessId $bookingBusinessId -BodyParameter $params
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingBusiness
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingBusiness
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
ADDRESS <IMicrosoftGraphPhysicalAddress>: physicalAddress
  [(Any) <Object>]: This indicates any property can be added to this object.
  [City <String>]: The city.
  [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
  [PostOfficeBox <String>]: The post office box number.
  [PostalCode <String>]: The postal code.
  [State <String>]: The state.
  [Street <String>]: The street.
  [Type <String>]: physicalAddressType
 
APPOINTMENTS <IMicrosoftGraphBookingAppointment[]>: All the appointments of this business. Read-only. Nullable.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
  [AnonymousJoinWebUrl <String>]: The URL of the meeting to join anonymously.
  [CustomerEmailAddress <String>]: The SMTP address of the bookingCustomer who is booking the appointment.
  [CustomerId <String>]: The ID of the bookingCustomer for this appointment. If no ID is specified when an appointment is created, then a new bookingCustomer object is created. Once set, you should consider the customerId immutable.
  [CustomerLocation <IMicrosoftGraphLocation>]: location
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
      [(Any) <Object>]: This indicates any property can be added to this object.
      [City <String>]: The city.
      [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
      [PostOfficeBox <String>]: The post office box number.
      [PostalCode <String>]: The postal code.
      [State <String>]: The state.
      [Street <String>]: The street.
      [Type <String>]: physicalAddressType
    [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
      [Altitude <Double?>]: The altitude of the location.
      [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
      [Latitude <Double?>]: The latitude of the location.
      [Longitude <Double?>]: The longitude of the location.
    [DisplayName <String>]: The name associated with the location.
    [LocationEmailAddress <String>]: Optional email address of the location.
    [LocationType <String>]: locationType
    [LocationUri <String>]: Optional URI representing the location.
    [UniqueId <String>]: For internal use only.
    [UniqueIdType <String>]: locationUniqueIdType
  [CustomerName <String>]: The customer's name.
  [CustomerNotes <String>]: Notes from the customer associated with this appointment. You can get the value only when reading this bookingAppointment by its ID. You can set this property only when initially creating an appointment with a new customer. After that point, the value is computed from the customer represented by customerId.
  [CustomerPhone <String>]: The customer's phone number.
  [CustomerTimeZone <String>]: The time zone of the customer. For a list of possible values, see dateTimeTimeZone.
  [Customers <IMicrosoftGraphBookingCustomerInformationBase[]>]: A collection of the customer properties for an appointment. An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment. Optional.
  [End <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
    [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
  [InvoiceAmount <Double?>]: The billed amount on the invoice.
  [InvoiceDate <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
  [InvoiceId <String>]: The ID of the invoice.
  [InvoiceStatus <String>]: bookingInvoiceStatus
  [InvoiceUrl <String>]: The URL of the invoice in Microsoft Bookings.
  [IsLocationOnline <Boolean?>]: True indicates that the appointment will be held online. Default value is false.
  [JoinWebUrl <String>]: The URL of the online meeting for the appointment.
  [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in an appointment. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
  [OnlineMeetingUrl <String>]:
  [OptOutOfCustomerEmail <Boolean?>]: True indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this appointment.
  [PostBuffer <TimeSpan?>]: The amount of time to reserve after the appointment ends, for cleaning up, as an example. The value is expressed in ISO8601 format.
  [PreBuffer <TimeSpan?>]: The amount of time to reserve before the appointment begins, for preparation, as an example. The value is expressed in ISO8601 format.
  [Price <Double?>]: The regular price for an appointment for the specified bookingService.
  [PriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
  [Reminders <IMicrosoftGraphBookingReminder[]>]: The collection of customer reminders sent for this appointment. The value of this property is available only when reading this bookingAppointment by its ID.
    [Message <String>]: The message in the reminder.
    [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
    [Recipients <String>]: bookingReminderRecipients
  [SelfServiceAppointmentId <String>]: An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the scheduling page, as opposed to by a staff member on the behalf of the customer.
  [ServiceId <String>]: The ID of the bookingService associated with this appointment.
  [ServiceLocation <IMicrosoftGraphLocation>]: location
  [ServiceName <String>]: The name of the bookingService associated with this appointment.This property is optional when creating a new appointment. If not specified, it is computed from the service associated with the appointment by the serviceId property.
  [ServiceNotes <String>]: Notes from a bookingStaffMember. The value of this property is available only when reading this bookingAppointment by its ID.
  [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications will be sent to the customers for the appointment. Default value is false.
  [StaffMemberIds <String[]>]: The ID of each bookingStaffMember who is scheduled in this appointment.
  [Start <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
 
BODYPARAMETER <IMicrosoftGraphBookingBusiness>: Represents a Microsot Bookings Business.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
    [(Any) <Object>]: This indicates any property can be added to this object.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Appointments <IMicrosoftGraphBookingAppointment[]>]: All the appointments of this business. Read-only. Nullable.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
    [AnonymousJoinWebUrl <String>]: The URL of the meeting to join anonymously.
    [CustomerEmailAddress <String>]: The SMTP address of the bookingCustomer who is booking the appointment.
    [CustomerId <String>]: The ID of the bookingCustomer for this appointment. If no ID is specified when an appointment is created, then a new bookingCustomer object is created. Once set, you should consider the customerId immutable.
    [CustomerLocation <IMicrosoftGraphLocation>]: location
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
      [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
        [Altitude <Double?>]: The altitude of the location.
        [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
        [Latitude <Double?>]: The latitude of the location.
        [Longitude <Double?>]: The longitude of the location.
      [DisplayName <String>]: The name associated with the location.
      [LocationEmailAddress <String>]: Optional email address of the location.
      [LocationType <String>]: locationType
      [LocationUri <String>]: Optional URI representing the location.
      [UniqueId <String>]: For internal use only.
      [UniqueIdType <String>]: locationUniqueIdType
    [CustomerName <String>]: The customer's name.
    [CustomerNotes <String>]: Notes from the customer associated with this appointment. You can get the value only when reading this bookingAppointment by its ID. You can set this property only when initially creating an appointment with a new customer. After that point, the value is computed from the customer represented by customerId.
    [CustomerPhone <String>]: The customer's phone number.
    [CustomerTimeZone <String>]: The time zone of the customer. For a list of possible values, see dateTimeTimeZone.
    [Customers <IMicrosoftGraphBookingCustomerInformationBase[]>]: A collection of the customer properties for an appointment. An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment. Optional.
    [End <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
      [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
    [InvoiceAmount <Double?>]: The billed amount on the invoice.
    [InvoiceDate <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
    [InvoiceId <String>]: The ID of the invoice.
    [InvoiceStatus <String>]: bookingInvoiceStatus
    [InvoiceUrl <String>]: The URL of the invoice in Microsoft Bookings.
    [IsLocationOnline <Boolean?>]: True indicates that the appointment will be held online. Default value is false.
    [JoinWebUrl <String>]: The URL of the online meeting for the appointment.
    [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in an appointment. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
    [OnlineMeetingUrl <String>]:
    [OptOutOfCustomerEmail <Boolean?>]: True indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this appointment.
    [PostBuffer <TimeSpan?>]: The amount of time to reserve after the appointment ends, for cleaning up, as an example. The value is expressed in ISO8601 format.
    [PreBuffer <TimeSpan?>]: The amount of time to reserve before the appointment begins, for preparation, as an example. The value is expressed in ISO8601 format.
    [Price <Double?>]: The regular price for an appointment for the specified bookingService.
    [PriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
    [Reminders <IMicrosoftGraphBookingReminder[]>]: The collection of customer reminders sent for this appointment. The value of this property is available only when reading this bookingAppointment by its ID.
      [Message <String>]: The message in the reminder.
      [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
      [Recipients <String>]: bookingReminderRecipients
    [SelfServiceAppointmentId <String>]: An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the scheduling page, as opposed to by a staff member on the behalf of the customer.
    [ServiceId <String>]: The ID of the bookingService associated with this appointment.
    [ServiceLocation <IMicrosoftGraphLocation>]: location
    [ServiceName <String>]: The name of the bookingService associated with this appointment.This property is optional when creating a new appointment. If not specified, it is computed from the service associated with the appointment by the serviceId property.
    [ServiceNotes <String>]: Notes from a bookingStaffMember. The value of this property is available only when reading this bookingAppointment by its ID.
    [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications will be sent to the customers for the appointment. Default value is false.
    [StaffMemberIds <String[]>]: The ID of each bookingStaffMember who is scheduled in this appointment.
    [Start <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
  [BusinessHours <IMicrosoftGraphBookingWorkHours[]>]: The hours of operation for the business.
    [Day <String>]: dayOfWeek
    [TimeSlots <IMicrosoftGraphBookingWorkTimeSlot[]>]: A list of start/end times during a day.
      [End <String>]: The time of the day when work stops. For example, 17:00:00.0000000.
      [Start <String>]: The time of the day when work starts. For example, 08:00:00.0000000.
  [BusinessType <String>]: The type of business.
  [CalendarView <IMicrosoftGraphBookingAppointment[]>]: The set of appointments of this business in a specified date range. Read-only. Nullable.
  [CustomQuestions <IMicrosoftGraphBookingCustomQuestion[]>]: All the custom questions of this business. Read-only. Nullable.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AnswerInputType <String>]: answerInputType
    [AnswerOptions <String[]>]: List of possible answer values.
    [DisplayName <String>]: Display name of this entity.
  [Customers <IMicrosoftGraphBookingCustomer[]>]: All the customers of this business. Read-only. Nullable.
    [EmailAddress <String>]: The email address of the person.
    [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [Addresses <IMicrosoftGraphPhysicalAddress[]>]: Addresses associated with the customer, including home, business and other addresses.
    [Phones <IMicrosoftGraphPhone[]>]: Phone numbers associated with the customer, including home, business and mobile numbers.
      [Number <String>]: The phone number.
      [Type <String>]: phoneType
  [DefaultCurrencyIso <String>]: The code for the currency that the business operates in on Microsoft Bookings.
  [Email <String>]: The email address for the business.
  [LanguageTag <String>]: The language of the self service booking page
  [Phone <String>]: The telephone number for the business. The phone property, together with address and webSiteUrl, appear in the footer of a business scheduling page.
  [SchedulingPolicy <IMicrosoftGraphBookingSchedulingPolicy>]: This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AllowStaffSelection <Boolean?>]: True if to allow customers to choose a specific person for the booking.
    [MaximumAdvance <TimeSpan?>]: Maximum number of days in advance that a booking can be made. It follows the ISO 8601 format.
    [MinimumLeadTime <TimeSpan?>]: The minimum amount of time before which bookings and cancellations must be made. It follows the ISO 8601 format.
    [SendConfirmationsToOwner <Boolean?>]: True to notify the business via email when a booking is created or changed. Use the email address specified in the email property of the bookingBusiness entity for the business.
    [TimeSlotInterval <TimeSpan?>]: Duration of each time slot, denoted in ISO 8601 format.
  [Services <IMicrosoftGraphBookingService[]>]: All the services offered by this business. Read-only. Nullable.
    [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
    [CustomQuestions <IMicrosoftGraphBookingQuestionAssignment[]>]: Contains the set of custom questions associated with a particular service.
      [IsRequired <Boolean?>]: Indicates whether it is mandatory to answer the custom question.
      [QuestionId <String>]: If it is mandatory to answer the custom question.
    [DefaultDuration <TimeSpan?>]: The default length of the service, represented in numbers of days, hours, minutes, and seconds. For example, P11D23H59M59.999999999999S.
    [DefaultLocation <IMicrosoftGraphLocation>]: location
    [DefaultPrice <Double?>]: The default monetary price for the service.
    [DefaultPriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
    [DefaultReminders <IMicrosoftGraphBookingReminder[]>]: The default set of reminders for an appointment of this service. The value of this property is available only when reading this bookingService by its ID.
    [Description <String>]: A text description for the service.
    [IsAnonymousJoinEnabled <Boolean?>]: True if an anonymousJoinWebUrl(webrtcUrl) will be generated for the appointment booked for this service.
    [IsHiddenFromCustomers <Boolean?>]: True means this service is not available to customers for booking.
    [IsLocationOnline <Boolean?>]: True indicates that the appointments for the service will be held online. Default value is false.
    [LanguageTag <String>]: The language of the self service booking page.
    [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in a service. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
    [Notes <String>]: Additional information about this service.
    [PostBuffer <TimeSpan?>]: The time to buffer after an appointment for this service ends, and before the next customer appointment can be booked.
    [PreBuffer <TimeSpan?>]: The time to buffer before an appointment for this service can start.
    [SchedulingPolicy <IMicrosoftGraphBookingSchedulingPolicy>]: This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
    [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications can be sent to the customers for the appointment of the service. Default value is false.
    [StaffMemberIds <String[]>]: Represents those staff members who provide this service.
  [StaffMembers <IMicrosoftGraphBookingStaffMember[]>]: All the staff members that provide services in this business. Read-only. Nullable.
    [EmailAddress <String>]: The email address of the person.
    [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [AvailabilityIsAffectedByPersonalCalendar <Boolean?>]: True means that if the staff member is a Microsoft 365 user, the Bookings API would verify the staff member's availability in their personal calendar in Microsoft 365, before making a booking.
    [ColorIndex <Int32?>]: Identifies a color to represent the staff member. The color corresponds to the color palette in the Staff details page in the Bookings app.
    [IsEmailNotificationEnabled <Boolean?>]: True indicates that a staff member will be notified via email when a booking assigned to them is created or changed.
    [MembershipStatus <String>]: bookingStaffMembershipStatus
    [Role <String>]: bookingStaffRole
    [TimeZone <String>]: The time zone of the staff member. For a list of possible values, see dateTimeTimeZone.
    [UseBusinessHours <Boolean?>]: True means the staff member's availability is as specified in the businessHours property of the business. False means the availability is determined by the staff member's workingHours property setting.
    [WorkingHours <IMicrosoftGraphBookingWorkHours[]>]: The range of hours each day of the week that the staff member is available for booking. By default, they are initialized to be the same as the businessHours property of the business.
  [WebSiteUrl <String>]: The URL of the business web site. The webSiteUrl property, together with address, phone, appear in the footer of a business scheduling page.
 
BUSINESSHOURS <IMicrosoftGraphBookingWorkHours[]>: The hours of operation for the business.
  [Day <String>]: dayOfWeek
  [TimeSlots <IMicrosoftGraphBookingWorkTimeSlot[]>]: A list of start/end times during a day.
    [End <String>]: The time of the day when work stops. For example, 17:00:00.0000000.
    [Start <String>]: The time of the day when work starts. For example, 08:00:00.0000000.
 
CALENDARVIEW <IMicrosoftGraphBookingAppointment[]>: The set of appointments of this business in a specified date range. Read-only. Nullable.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
  [AnonymousJoinWebUrl <String>]: The URL of the meeting to join anonymously.
  [CustomerEmailAddress <String>]: The SMTP address of the bookingCustomer who is booking the appointment.
  [CustomerId <String>]: The ID of the bookingCustomer for this appointment. If no ID is specified when an appointment is created, then a new bookingCustomer object is created. Once set, you should consider the customerId immutable.
  [CustomerLocation <IMicrosoftGraphLocation>]: location
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
      [(Any) <Object>]: This indicates any property can be added to this object.
      [City <String>]: The city.
      [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
      [PostOfficeBox <String>]: The post office box number.
      [PostalCode <String>]: The postal code.
      [State <String>]: The state.
      [Street <String>]: The street.
      [Type <String>]: physicalAddressType
    [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
      [Altitude <Double?>]: The altitude of the location.
      [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
      [Latitude <Double?>]: The latitude of the location.
      [Longitude <Double?>]: The longitude of the location.
    [DisplayName <String>]: The name associated with the location.
    [LocationEmailAddress <String>]: Optional email address of the location.
    [LocationType <String>]: locationType
    [LocationUri <String>]: Optional URI representing the location.
    [UniqueId <String>]: For internal use only.
    [UniqueIdType <String>]: locationUniqueIdType
  [CustomerName <String>]: The customer's name.
  [CustomerNotes <String>]: Notes from the customer associated with this appointment. You can get the value only when reading this bookingAppointment by its ID. You can set this property only when initially creating an appointment with a new customer. After that point, the value is computed from the customer represented by customerId.
  [CustomerPhone <String>]: The customer's phone number.
  [CustomerTimeZone <String>]: The time zone of the customer. For a list of possible values, see dateTimeTimeZone.
  [Customers <IMicrosoftGraphBookingCustomerInformationBase[]>]: A collection of the customer properties for an appointment. An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment. Optional.
  [End <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}). For example, '2019-04-16T09:00:00'.
    [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for possible values.
  [InvoiceAmount <Double?>]: The billed amount on the invoice.
  [InvoiceDate <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
  [InvoiceId <String>]: The ID of the invoice.
  [InvoiceStatus <String>]: bookingInvoiceStatus
  [InvoiceUrl <String>]: The URL of the invoice in Microsoft Bookings.
  [IsLocationOnline <Boolean?>]: True indicates that the appointment will be held online. Default value is false.
  [JoinWebUrl <String>]: The URL of the online meeting for the appointment.
  [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in an appointment. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
  [OnlineMeetingUrl <String>]:
  [OptOutOfCustomerEmail <Boolean?>]: True indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this appointment.
  [PostBuffer <TimeSpan?>]: The amount of time to reserve after the appointment ends, for cleaning up, as an example. The value is expressed in ISO8601 format.
  [PreBuffer <TimeSpan?>]: The amount of time to reserve before the appointment begins, for preparation, as an example. The value is expressed in ISO8601 format.
  [Price <Double?>]: The regular price for an appointment for the specified bookingService.
  [PriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
  [Reminders <IMicrosoftGraphBookingReminder[]>]: The collection of customer reminders sent for this appointment. The value of this property is available only when reading this bookingAppointment by its ID.
    [Message <String>]: The message in the reminder.
    [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
    [Recipients <String>]: bookingReminderRecipients
  [SelfServiceAppointmentId <String>]: An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the scheduling page, as opposed to by a staff member on the behalf of the customer.
  [ServiceId <String>]: The ID of the bookingService associated with this appointment.
  [ServiceLocation <IMicrosoftGraphLocation>]: location
  [ServiceName <String>]: The name of the bookingService associated with this appointment.This property is optional when creating a new appointment. If not specified, it is computed from the service associated with the appointment by the serviceId property.
  [ServiceNotes <String>]: Notes from a bookingStaffMember. The value of this property is available only when reading this bookingAppointment by its ID.
  [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications will be sent to the customers for the appointment. Default value is false.
  [StaffMemberIds <String[]>]: The ID of each bookingStaffMember who is scheduled in this appointment.
  [Start <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
 
CUSTOMERS <IMicrosoftGraphBookingCustomer[]>: All the customers of this business. Read-only. Nullable.
  [EmailAddress <String>]: The email address of the person.
  [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Addresses <IMicrosoftGraphPhysicalAddress[]>]: Addresses associated with the customer, including home, business and other addresses.
    [City <String>]: The city.
    [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
    [PostOfficeBox <String>]: The post office box number.
    [PostalCode <String>]: The postal code.
    [State <String>]: The state.
    [Street <String>]: The street.
    [Type <String>]: physicalAddressType
  [Phones <IMicrosoftGraphPhone[]>]: Phone numbers associated with the customer, including home, business and mobile numbers.
    [Number <String>]: The phone number.
    [Type <String>]: phoneType
 
CUSTOMQUESTIONS <IMicrosoftGraphBookingCustomQuestion[]>: All the custom questions of this business. Read-only. Nullable.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AnswerInputType <String>]: answerInputType
  [AnswerOptions <String[]>]: List of possible answer values.
  [DisplayName <String>]: Display name of this entity.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
SCHEDULINGPOLICY <IMicrosoftGraphBookingSchedulingPolicy>: This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
  [(Any) <Object>]: This indicates any property can be added to this object.
  [AllowStaffSelection <Boolean?>]: True if to allow customers to choose a specific person for the booking.
  [MaximumAdvance <TimeSpan?>]: Maximum number of days in advance that a booking can be made. It follows the ISO 8601 format.
  [MinimumLeadTime <TimeSpan?>]: The minimum amount of time before which bookings and cancellations must be made. It follows the ISO 8601 format.
  [SendConfirmationsToOwner <Boolean?>]: True to notify the business via email when a booking is created or changed. Use the email address specified in the email property of the bookingBusiness entity for the business.
  [TimeSlotInterval <TimeSpan?>]: Duration of each time slot, denoted in ISO 8601 format.
 
SERVICES <IMicrosoftGraphBookingService[]>: All the services offered by this business. Read-only. Nullable.
  [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AdditionalInformation <String>]: Additional information that is sent to the customer when an appointment is confirmed.
  [CustomQuestions <IMicrosoftGraphBookingQuestionAssignment[]>]: Contains the set of custom questions associated with a particular service.
    [IsRequired <Boolean?>]: Indicates whether it is mandatory to answer the custom question.
    [QuestionId <String>]: If it is mandatory to answer the custom question.
  [DefaultDuration <TimeSpan?>]: The default length of the service, represented in numbers of days, hours, minutes, and seconds. For example, P11D23H59M59.999999999999S.
  [DefaultLocation <IMicrosoftGraphLocation>]: location
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
      [(Any) <Object>]: This indicates any property can be added to this object.
      [City <String>]: The city.
      [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
      [PostOfficeBox <String>]: The post office box number.
      [PostalCode <String>]: The postal code.
      [State <String>]: The state.
      [Street <String>]: The street.
      [Type <String>]: physicalAddressType
    [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
      [Altitude <Double?>]: The altitude of the location.
      [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
      [Latitude <Double?>]: The latitude of the location.
      [Longitude <Double?>]: The longitude of the location.
    [DisplayName <String>]: The name associated with the location.
    [LocationEmailAddress <String>]: Optional email address of the location.
    [LocationType <String>]: locationType
    [LocationUri <String>]: Optional URI representing the location.
    [UniqueId <String>]: For internal use only.
    [UniqueIdType <String>]: locationUniqueIdType
  [DefaultPrice <Double?>]: The default monetary price for the service.
  [DefaultPriceType <BookingPriceType?>]: Represents the type of pricing of a booking service.
  [DefaultReminders <IMicrosoftGraphBookingReminder[]>]: The default set of reminders for an appointment of this service. The value of this property is available only when reading this bookingService by its ID.
    [Message <String>]: The message in the reminder.
    [Offset <TimeSpan?>]: The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format.
    [Recipients <String>]: bookingReminderRecipients
  [Description <String>]: A text description for the service.
  [IsAnonymousJoinEnabled <Boolean?>]: True if an anonymousJoinWebUrl(webrtcUrl) will be generated for the appointment booked for this service.
  [IsHiddenFromCustomers <Boolean?>]: True means this service is not available to customers for booking.
  [IsLocationOnline <Boolean?>]: True indicates that the appointments for the service will be held online. Default value is false.
  [LanguageTag <String>]: The language of the self service booking page.
  [MaximumAttendeesCount <Int32?>]: The maximum number of customers allowed in a service. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation.
  [Notes <String>]: Additional information about this service.
  [PostBuffer <TimeSpan?>]: The time to buffer after an appointment for this service ends, and before the next customer appointment can be booked.
  [PreBuffer <TimeSpan?>]: The time to buffer before an appointment for this service can start.
  [SchedulingPolicy <IMicrosoftGraphBookingSchedulingPolicy>]: This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
    [(Any) <Object>]: This indicates any property can be added to this object.
    [AllowStaffSelection <Boolean?>]: True if to allow customers to choose a specific person for the booking.
    [MaximumAdvance <TimeSpan?>]: Maximum number of days in advance that a booking can be made. It follows the ISO 8601 format.
    [MinimumLeadTime <TimeSpan?>]: The minimum amount of time before which bookings and cancellations must be made. It follows the ISO 8601 format.
    [SendConfirmationsToOwner <Boolean?>]: True to notify the business via email when a booking is created or changed. Use the email address specified in the email property of the bookingBusiness entity for the business.
    [TimeSlotInterval <TimeSpan?>]: Duration of each time slot, denoted in ISO 8601 format.
  [SmsNotificationsEnabled <Boolean?>]: True indicates SMS notifications can be sent to the customers for the appointment of the service. Default value is false.
  [StaffMemberIds <String[]>]: Represents those staff members who provide this service.
 
STAFFMEMBERS <IMicrosoftGraphBookingStaffMember[]>: All the staff members that provide services in this business. Read-only. Nullable.
  [EmailAddress <String>]: The email address of the person.
  [DisplayName <String>]: A name for the derived entity, which interfaces with customers.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [AvailabilityIsAffectedByPersonalCalendar <Boolean?>]: True means that if the staff member is a Microsoft 365 user, the Bookings API would verify the staff member's availability in their personal calendar in Microsoft 365, before making a booking.
  [ColorIndex <Int32?>]: Identifies a color to represent the staff member. The color corresponds to the color palette in the Staff details page in the Bookings app.
  [IsEmailNotificationEnabled <Boolean?>]: True indicates that a staff member will be notified via email when a booking assigned to them is created or changed.
  [MembershipStatus <String>]: bookingStaffMembershipStatus
  [Role <String>]: bookingStaffRole
  [TimeZone <String>]: The time zone of the staff member. For a list of possible values, see dateTimeTimeZone.
  [UseBusinessHours <Boolean?>]: True means the staff member's availability is as specified in the businessHours property of the business. False means the availability is determined by the staff member's workingHours property setting.
  [WorkingHours <IMicrosoftGraphBookingWorkHours[]>]: The range of hours each day of the week that the staff member is available for booking. By default, they are initialized to be the same as the businessHours property of the business.
    [Day <String>]: dayOfWeek
    [TimeSlots <IMicrosoftGraphBookingWorkTimeSlot[]>]: A list of start/end times during a day.
      [End <String>]: The time of the day when work stops. For example, 17:00:00.0000000.
      [Start <String>]: The time of the day when work starts. For example, 08:00:00.0000000.
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/update-mgbetabookingbusiness
#>

function Update-MgBetaBookingBusiness {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingBusiness])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingBusiness
    ${BookingBusinessId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingBusiness]
    # Represents a Microsot Bookings Business.
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPhysicalAddress]
    # physicalAddress
    # To construct, see NOTES section for ADDRESS properties and create a hash table.
    ${Address},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment[]]
    # All the appointments of this business.
    # Read-only.
    # Nullable.
    # To construct, see NOTES section for APPOINTMENTS properties and create a hash table.
    ${Appointments},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingWorkHours[]]
    # The hours of operation for the business.
    # To construct, see NOTES section for BUSINESSHOURS properties and create a hash table.
    ${BusinessHours},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The type of business.
    ${BusinessType},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingAppointment[]]
    # The set of appointments of this business in a specified date range.
    # Read-only.
    # Nullable.
    # To construct, see NOTES section for CALENDARVIEW properties and create a hash table.
    ${CalendarView},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomQuestion[]]
    # All the custom questions of this business.
    # Read-only.
    # Nullable.
    # To construct, see NOTES section for CUSTOMQUESTIONS properties and create a hash table.
    ${CustomQuestions},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCustomer[]]
    # All the customers of this business.
    # Read-only.
    # Nullable.
    # To construct, see NOTES section for CUSTOMERS properties and create a hash table.
    ${Customers},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The code for the currency that the business operates in on Microsoft Bookings.
    ${DefaultCurrencyIso},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # A name for the derived entity, which interfaces with customers.
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The email address for the business.
    ${Email},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The language of the self service booking page
    ${LanguageTag},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The telephone number for the business.
    # The phone property, together with address and webSiteUrl, appear in the footer of a business scheduling page.
    ${Phone},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingSchedulingPolicy]
    # This type represents the set of policies that dictate how bookings can be created in a Booking Calendar.
    # To construct, see NOTES section for SCHEDULINGPOLICY properties and create a hash table.
    ${SchedulingPolicy},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingService[]]
    # All the services offered by this business.
    # Read-only.
    # Nullable.
    # To construct, see NOTES section for SERVICES properties and create a hash table.
    ${Services},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingStaffMember[]]
    # All the staff members that provide services in this business.
    # Read-only.
    # Nullable.
    # To construct, see NOTES section for STAFFMEMBERS properties and create a hash table.
    ${StaffMembers},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The URL of the business web site.
    # The webSiteUrl property, together with address, phone, appear in the footer of a business scheduling page.
    ${WebSiteUrl},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusiness_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusiness_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusiness_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingBusiness_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update entity in bookingCurrencies
.Description
Update entity in bookingCurrencies
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
.Example
PS C:\> {{ Add code here }}
 
{{ Add output here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCurrency
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCurrency
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphBookingCurrency>: bookingCurrency
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Symbol <String>]: The currency symbol. For example, the currency symbol for the US dollar and for the Australian dollar is $.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/update-mgbetabookingcurrency
#>

function Update-MgBetaBookingCurrency {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCurrency])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of bookingCurrency
    ${BookingCurrencyId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBookingCurrency]
    # bookingCurrency
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The currency symbol.
    # For example, the currency symbol for the US dollar and for the Australian dollar is $.
    ${Symbol},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingCurrency_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingCurrency_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingCurrency_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBookingCurrency_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property localizations in solutions
.Description
Update the navigation property localizations in solutions
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfigurationLocalization
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfigurationLocalization
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPlannerPlanConfigurationLocalization>: plannerPlanConfigurationLocalization
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketLocalization[]>]: Localized names for configured buckets in the plan configuration.
    [ExternalBucketId <String>]: Application-specified identifier of the bucket.
    [Name <String>]: Name of the bucket.
  [LanguageTag <String>]: The language code associated with the localized names in this object.
  [PlanTitle <String>]: Localized title of the plan.
 
BUCKETS <IMicrosoftGraphPlannerPlanConfigurationBucketLocalization[]>: Localized names for configured buckets in the plan configuration.
  [ExternalBucketId <String>]: Application-specified identifier of the bucket.
  [Name <String>]: Name of the bucket.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/update-mgbetabusinessscenarioplannerplanconfigurationlocalization
#>

function Update-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfigurationLocalization])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of plannerPlanConfigurationLocalization
    ${PlannerPlanConfigurationLocalizationId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfigurationLocalization]
    # plannerPlanConfigurationLocalization
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfigurationBucketLocalization[]]
    # Localized names for configured buckets in the plan configuration.
    # To construct, see NOTES section for BUCKETS properties and create a hash table.
    ${Buckets},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The language code associated with the localized names in this object.
    ${LanguageTag},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Localized title of the plan.
    ${PlanTitle},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerPlanConfigurationLocalization_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the properties of a plannerPlanConfiguration object for a businessScenario.
.Description
Update the properties of a plannerPlanConfiguration object for a businessScenario.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfiguration
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfiguration
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPlannerPlanConfiguration>: plannerPlanConfiguration
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketDefinition[]>]: List the buckets that should be created in the plan.
    [ExternalBucketId <String>]: Application-specified identifier of the bucket.
  [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Application <IMicrosoftGraphIdentity>]: identity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
    [Device <IMicrosoftGraphIdentity>]: identity
    [User <IMicrosoftGraphIdentity>]: identity
  [CreatedDateTime <DateTime?>]: The date and time when the plan configuration was created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
  [DefaultLanguage <String>]: The language code for the default language to be used for the names of the objects created for the plan.
  [LastModifiedBy <IMicrosoftGraphIdentitySet>]: identitySet
  [LastModifiedDateTime <DateTime?>]: The date and time when the plan configuration was last modified. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
  [Localizations <IMicrosoftGraphPlannerPlanConfigurationLocalization[]>]: Localized names for the plan configuration.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketLocalization[]>]: Localized names for configured buckets in the plan configuration.
      [ExternalBucketId <String>]: Application-specified identifier of the bucket.
      [Name <String>]: Name of the bucket.
    [LanguageTag <String>]: The language code associated with the localized names in this object.
    [PlanTitle <String>]: Localized title of the plan.
 
BUCKETS <IMicrosoftGraphPlannerPlanConfigurationBucketDefinition[]>: List the buckets that should be created in the plan.
  [ExternalBucketId <String>]: Application-specified identifier of the bucket.
 
CREATEDBY <IMicrosoftGraphIdentitySet>: identitySet
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Application <IMicrosoftGraphIdentity>]: identity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
    [Id <String>]: Unique identifier for the identity.
  [Device <IMicrosoftGraphIdentity>]: identity
  [User <IMicrosoftGraphIdentity>]: identity
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
LASTMODIFIEDBY <IMicrosoftGraphIdentitySet>: identitySet
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Application <IMicrosoftGraphIdentity>]: identity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
    [Id <String>]: Unique identifier for the identity.
  [Device <IMicrosoftGraphIdentity>]: identity
  [User <IMicrosoftGraphIdentity>]: identity
 
LOCALIZATIONS <IMicrosoftGraphPlannerPlanConfigurationLocalization[]>: Localized names for the plan configuration.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketLocalization[]>]: Localized names for configured buckets in the plan configuration.
    [ExternalBucketId <String>]: Application-specified identifier of the bucket.
    [Name <String>]: Name of the bucket.
  [LanguageTag <String>]: The language code associated with the localized names in this object.
  [PlanTitle <String>]: Localized title of the plan.
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/update-mgbetabusinessscenarioplannerplanconfiguration
#>

function Update-MgBetaBusinessScenarioPlannerPlanConfiguration {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfiguration])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfiguration]
    # plannerPlanConfiguration
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfigurationBucketDefinition[]]
    # List the buckets that should be created in the plan.
    # To construct, see NOTES section for BUCKETS properties and create a hash table.
    ${Buckets},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphIdentitySet]
    # identitySet
    # To construct, see NOTES section for CREATEDBY properties and create a hash table.
    ${CreatedBy},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The date and time when the plan configuration was created.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
    ${CreatedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The language code for the default language to be used for the names of the objects created for the plan.
    ${DefaultLanguage},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphIdentitySet]
    # identitySet
    # To construct, see NOTES section for LASTMODIFIEDBY properties and create a hash table.
    ${LastModifiedBy},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The date and time when the plan configuration was last modified.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
    ${LastModifiedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfigurationLocalization[]]
    # Localized names for the plan configuration.
    # To construct, see NOTES section for LOCALIZATIONS properties and create a hash table.
    ${Localizations},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerPlanConfiguration_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerPlanConfiguration_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerPlanConfiguration_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerPlanConfiguration_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the properties of a plannerTaskConfiguration object.
.Description
Update the properties of a plannerTaskConfiguration object.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerTaskConfiguration
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerTaskConfiguration
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphPlannerTaskConfiguration>: plannerTaskConfiguration
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [EditPolicy <IMicrosoftGraphPlannerTaskPolicy>]: plannerTaskPolicy
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Rules <IMicrosoftGraphPlannerTaskRoleBasedRule[]>]: The rules that should be enforced on the tasks when they are being changed outside of the scenario, based on the role of the caller.
      [DefaultRule <String>]: Default rule that applies when a property or action-specific rule is not provided. Possible values are: Allow, Block
      [PropertyRule <IMicrosoftGraphPlannerTaskPropertyRule>]: plannerTaskPropertyRule
        [(Any) <Object>]: This indicates any property can be added to this object.
        [RuleKind <String>]: plannerRuleKind
        [AppliedCategories <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
          [(Any) <Object>]: This indicates any property can be added to this object.
          [DefaultRules <String[]>]: The default rules that apply if no override matches to the current data.
          [Overrides <IMicrosoftGraphPlannerRuleOverride[]>]: Overrides that specify different rules for specific data associated with the field.
            [Name <String>]: Name of the override. Allowed override values will be dependent on the property affected by the rule.
            [Rules <String[]>]: Overridden rules. These are used as rules for the override instead of the default rules.
        [Assignments <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
        [CheckLists <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
        [Delete <String[]>]: Rules and restrictions for deleting the task. Accepted values are allow and block.
        [DueDate <String[]>]: Rules and restrictions for changing the due date of the task. Accepted values are allow and block.
        [Move <String[]>]: Rules and restrictions for moving the task between buckets or plans. Accepted values are allow, moveBetweenPlans, moveBetweenBuckets, and block.
        [Notes <String[]>]: Rules and restrictions for changing the notes of the task. Accepted values are allow and block.
        [Order <String[]>]: Rules and restrictions for changing the order of the task. Accepted values are allow and block.
        [PercentComplete <String[]>]: Rules and restrictions for changing the completion percentage of the task. Accepted values are allow, setToComplete, setToNotStarted, setToInProgress, and block.
        [PreviewType <String[]>]: Rules and restrictions for changing the preview type of the task. Accepted values are allow and block.
        [Priority <String[]>]: Rules and restrictions for changing the priority of the task. Accepted values are allow and block.
        [References <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
        [StartDate <String[]>]: Rules and restrictions for changing the start date of the task. Accepted values are allow and block.
        [Title <String[]>]: Rules and restrictions for changing the title of the task. Accepted values are allow and block.
      [Role <IMicrosoftGraphPlannerTaskConfigurationRoleBase>]: plannerTaskConfigurationRoleBase
        [(Any) <Object>]: This indicates any property can be added to this object.
        [RoleKind <String>]: plannerUserRoleKind
 
EDITPOLICY <IMicrosoftGraphPlannerTaskPolicy>: plannerTaskPolicy
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Rules <IMicrosoftGraphPlannerTaskRoleBasedRule[]>]: The rules that should be enforced on the tasks when they are being changed outside of the scenario, based on the role of the caller.
    [DefaultRule <String>]: Default rule that applies when a property or action-specific rule is not provided. Possible values are: Allow, Block
    [PropertyRule <IMicrosoftGraphPlannerTaskPropertyRule>]: plannerTaskPropertyRule
      [(Any) <Object>]: This indicates any property can be added to this object.
      [RuleKind <String>]: plannerRuleKind
      [AppliedCategories <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
        [(Any) <Object>]: This indicates any property can be added to this object.
        [DefaultRules <String[]>]: The default rules that apply if no override matches to the current data.
        [Overrides <IMicrosoftGraphPlannerRuleOverride[]>]: Overrides that specify different rules for specific data associated with the field.
          [Name <String>]: Name of the override. Allowed override values will be dependent on the property affected by the rule.
          [Rules <String[]>]: Overridden rules. These are used as rules for the override instead of the default rules.
      [Assignments <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
      [CheckLists <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
      [Delete <String[]>]: Rules and restrictions for deleting the task. Accepted values are allow and block.
      [DueDate <String[]>]: Rules and restrictions for changing the due date of the task. Accepted values are allow and block.
      [Move <String[]>]: Rules and restrictions for moving the task between buckets or plans. Accepted values are allow, moveBetweenPlans, moveBetweenBuckets, and block.
      [Notes <String[]>]: Rules and restrictions for changing the notes of the task. Accepted values are allow and block.
      [Order <String[]>]: Rules and restrictions for changing the order of the task. Accepted values are allow and block.
      [PercentComplete <String[]>]: Rules and restrictions for changing the completion percentage of the task. Accepted values are allow, setToComplete, setToNotStarted, setToInProgress, and block.
      [PreviewType <String[]>]: Rules and restrictions for changing the preview type of the task. Accepted values are allow and block.
      [Priority <String[]>]: Rules and restrictions for changing the priority of the task. Accepted values are allow and block.
      [References <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
      [StartDate <String[]>]: Rules and restrictions for changing the start date of the task. Accepted values are allow and block.
      [Title <String[]>]: Rules and restrictions for changing the title of the task. Accepted values are allow and block.
    [Role <IMicrosoftGraphPlannerTaskConfigurationRoleBase>]: plannerTaskConfigurationRoleBase
      [(Any) <Object>]: This indicates any property can be added to this object.
      [RoleKind <String>]: plannerUserRoleKind
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/update-mgbetabusinessscenarioplannertaskconfiguration
#>

function Update-MgBetaBusinessScenarioPlannerTaskConfiguration {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerTaskConfiguration])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerTaskConfiguration]
    # plannerTaskConfiguration
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerTaskPolicy]
    # plannerTaskPolicy
    # To construct, see NOTES section for EDITPOLICY properties and create a hash table.
    ${EditPolicy},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerTaskConfiguration_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerTaskConfiguration_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerTaskConfiguration_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerTaskConfiguration_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property tasks in solutions
.Description
Update the navigation property tasks in solutions
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioTask
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioTask
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
ASSIGNEDTOTASKBOARDFORMAT <IMicrosoftGraphPlannerAssignedToTaskBoardTaskFormat>: plannerAssignedToTaskBoardTaskFormat
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [OrderHintsByAssignee <IMicrosoftGraphPlannerOrderHintsByAssignee>]: plannerOrderHintsByAssignee
    [(Any) <Object>]: This indicates any property can be added to this object.
  [UnassignedOrderHint <String>]: Hint value used to order the task on the AssignedTo view of the Task Board when the task is not assigned to anyone, or if the orderHintsByAssignee dictionary does not provide an order hint for the user the task is assigned to. The format is defined as outlined here.
 
BODYPARAMETER <IMicrosoftGraphBusinessScenarioTask>: businessScenarioTask
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ActiveChecklistItemCount <Int32?>]: Number of checklist items with value set to false, representing incomplete items.
  [AppliedCategories <IMicrosoftGraphPlannerAppliedCategories>]: plannerAppliedCategories
    [(Any) <Object>]: This indicates any property can be added to this object.
  [AssignedToTaskBoardFormat <IMicrosoftGraphPlannerAssignedToTaskBoardTaskFormat>]: plannerAssignedToTaskBoardTaskFormat
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [OrderHintsByAssignee <IMicrosoftGraphPlannerOrderHintsByAssignee>]: plannerOrderHintsByAssignee
      [(Any) <Object>]: This indicates any property can be added to this object.
    [UnassignedOrderHint <String>]: Hint value used to order the task on the AssignedTo view of the Task Board when the task is not assigned to anyone, or if the orderHintsByAssignee dictionary does not provide an order hint for the user the task is assigned to. The format is defined as outlined here.
  [AssigneePriority <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
  [Assignments <IMicrosoftGraphPlannerAssignments>]: plannerAssignments
    [(Any) <Object>]: This indicates any property can be added to this object.
  [BucketId <String>]: Bucket ID to which the task belongs. The bucket needs to be in the plan that the task is in. It is 28 characters long and case-sensitive. Format validation is done on the service.
  [BucketTaskBoardFormat <IMicrosoftGraphPlannerBucketTaskBoardTaskFormat>]: plannerBucketTaskBoardTaskFormat
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [OrderHint <String>]: Hint used to order tasks in the bucket view of the task board. For details about the supported format, see Using order hints in Planner.
  [ChecklistItemCount <Int32?>]: Number of checklist items that are present on the task.
  [CompletedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Application <IMicrosoftGraphIdentity>]: identity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
    [Device <IMicrosoftGraphIdentity>]: identity
    [User <IMicrosoftGraphIdentity>]: identity
  [CompletedDateTime <DateTime?>]: Read-only. Date and time at which the 'percentComplete' of the task is set to '100'. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
  [ConversationThreadId <String>]: Thread ID of the conversation on the task. This is the ID of the conversation thread object created in the group.
  [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
  [CreatedDateTime <DateTime?>]: Read-only. Date and time at which the task is created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
  [CreationSource <IMicrosoftGraphPlannerTaskCreation>]: plannerTaskCreation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [CreationSourceKind <String>]: plannerCreationSourceKind
    [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
      [(Any) <Object>]: This indicates any property can be added to this object.
      [CreationSourceKind <String>]: plannerCreationSourceKind
      [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
      [LastModifiedDateTime <DateTime?>]: The date and time when this task was last modified by the publication process. Read-only.
      [PublicationId <String>]: The identifier of the publication. Read-only.
      [PublishedToPlanId <String>]: The identifier of the plannerPlan this task was originally placed in. Read-only.
      [PublishingTeamId <String>]: The identifier of the team that initiated the publication process. Read-only.
      [PublishingTeamName <String>]: The display name of the team that initiated the publication process. This display name is for reference only, and might not represent the most up-to-date name of the team. Read-only.
  [Details <IMicrosoftGraphPlannerTaskDetails>]: plannerTaskDetails
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [Checklist <IMicrosoftGraphPlannerChecklistItems>]: plannerChecklistItems
      [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: Description of the task.
    [Notes <IMicrosoftGraphItemBody>]: itemBody
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Content <String>]: The content of the item.
      [ContentType <String>]: bodyType
    [PreviewType <String>]: plannerPreviewType
    [References <IMicrosoftGraphPlannerExternalReferences>]: plannerExternalReferences
      [(Any) <Object>]: This indicates any property can be added to this object.
  [DueDateTime <DateTime?>]: Date and time at which the task is due. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
  [HasDescription <Boolean?>]: Read-only. Value is true if the details object of the task has a non-empty description and false otherwise.
  [OrderHint <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
  [PercentComplete <Int32?>]: Percentage of task completion. When set to 100, the task is considered completed.
  [PlanId <String>]: Plan ID to which the task belongs.
  [PreviewType <String>]: plannerPreviewType
  [Priority <Int32?>]: Priority of the task. Valid range of values is between 0 and 10 (inclusive), with increasing value being lower priority (0 has the highest priority and 10 has the lowest priority). Currently, Planner interprets values 0 and 1 as 'urgent', 2 and 3 and 4 as 'important', 5, 6, and 7 as 'medium', and 8, 9, and 10 as 'low'. Currently, Planner sets the value 1 for 'urgent', 3 for 'important', 5 for 'medium', and 9 for 'low'.
  [ProgressTaskBoardFormat <IMicrosoftGraphPlannerProgressTaskBoardTaskFormat>]: plannerProgressTaskBoardTaskFormat
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [OrderHint <String>]: Hint value used to order the task on the progress view of the task board. For details about the supported format, see Using order hints in Planner.
  [Recurrence <IMicrosoftGraphPlannerTaskRecurrence>]: plannerTaskRecurrence
    [(Any) <Object>]: This indicates any property can be added to this object.
    [NextInSeriesTaskId <String>]:
    [OccurrenceId <Int32?>]:
    [PreviousInSeriesTaskId <String>]:
    [RecurrenceStartDateTime <DateTime?>]:
    [Schedule <IMicrosoftGraphPlannerRecurrenceSchedule>]: plannerRecurrenceSchedule
      [(Any) <Object>]: This indicates any property can be added to this object.
      [NextOccurrenceDateTime <DateTime?>]:
      [Pattern <IMicrosoftGraphRecurrencePattern>]: recurrencePattern
        [(Any) <Object>]: This indicates any property can be added to this object.
        [DayOfMonth <Int32?>]: The day of the month on which the event occurs. Required if type is absoluteMonthly or absoluteYearly.
        [DaysOfWeek <String[]>]: A collection of the days of the week on which the event occurs. The possible values are: sunday, monday, tuesday, wednesday, thursday, friday, saturday. If type is relativeMonthly or relativeYearly, and daysOfWeek specifies more than one day, the event falls on the first day that satisfies the pattern. Required if type is weekly, relativeMonthly, or relativeYearly.
        [FirstDayOfWeek <String>]: dayOfWeek
        [Index <String>]: weekIndex
        [Interval <Int32?>]: The number of units between occurrences, where units can be in days, weeks, months, or years, depending on the type. Required.
        [Month <Int32?>]: The month in which the event occurs. This is a number from 1 to 12.
        [Type <String>]: recurrencePatternType
      [PatternStartDateTime <DateTime?>]:
    [SeriesId <String>]:
  [ReferenceCount <Int32?>]: Number of external references that exist on the task.
  [StartDateTime <DateTime?>]: Date and time at which the task starts. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
  [Title <String>]: Title of the task.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [BusinessScenarioProperties <IMicrosoftGraphBusinessScenarioProperties>]: businessScenarioProperties
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ExternalBucketId <String>]: The identifier for the bucketDefinition configured in the plannerPlanConfiguration for the scenario. The task will be placed in the corresponding plannerBucket in the target plan. Required.
    [ExternalContextId <String>]: The identifier for the context of the task. Context is an application controlled value, and tasks can be queried by their externalContextId. Optional.
    [ExternalObjectId <String>]: Application-specific identifier for the task. Every task for the same scenario must have a unique identifier specified for this property. Required.
    [ExternalObjectVersion <String>]: Application-specific version of the task. Optional.
    [WebUrl <String>]: The URL to the application-specific experience for this task. Optional.
  [Target <IMicrosoftGraphBusinessScenarioTaskTargetBase>]: businessScenarioTaskTargetBase
    [(Any) <Object>]: This indicates any property can be added to this object.
    [TaskTargetKind <String>]: plannerTaskTargetKind
 
BUCKETTASKBOARDFORMAT <IMicrosoftGraphPlannerBucketTaskBoardTaskFormat>: plannerBucketTaskBoardTaskFormat
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [OrderHint <String>]: Hint used to order tasks in the bucket view of the task board. For details about the supported format, see Using order hints in Planner.
 
BUSINESSSCENARIOPROPERTIES <IMicrosoftGraphBusinessScenarioProperties>: businessScenarioProperties
  [(Any) <Object>]: This indicates any property can be added to this object.
  [ExternalBucketId <String>]: The identifier for the bucketDefinition configured in the plannerPlanConfiguration for the scenario. The task will be placed in the corresponding plannerBucket in the target plan. Required.
  [ExternalContextId <String>]: The identifier for the context of the task. Context is an application controlled value, and tasks can be queried by their externalContextId. Optional.
  [ExternalObjectId <String>]: Application-specific identifier for the task. Every task for the same scenario must have a unique identifier specified for this property. Required.
  [ExternalObjectVersion <String>]: Application-specific version of the task. Optional.
  [WebUrl <String>]: The URL to the application-specific experience for this task. Optional.
 
COMPLETEDBY <IMicrosoftGraphIdentitySet>: identitySet
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Application <IMicrosoftGraphIdentity>]: identity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
    [Id <String>]: Unique identifier for the identity.
  [Device <IMicrosoftGraphIdentity>]: identity
  [User <IMicrosoftGraphIdentity>]: identity
 
CREATEDBY <IMicrosoftGraphIdentitySet>: identitySet
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Application <IMicrosoftGraphIdentity>]: identity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
    [Id <String>]: Unique identifier for the identity.
  [Device <IMicrosoftGraphIdentity>]: identity
  [User <IMicrosoftGraphIdentity>]: identity
 
CREATIONSOURCE <IMicrosoftGraphPlannerTaskCreation>: plannerTaskCreation
  [(Any) <Object>]: This indicates any property can be added to this object.
  [CreationSourceKind <String>]: plannerCreationSourceKind
  [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
    [(Any) <Object>]: This indicates any property can be added to this object.
    [CreationSourceKind <String>]: plannerCreationSourceKind
    [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
    [LastModifiedDateTime <DateTime?>]: The date and time when this task was last modified by the publication process. Read-only.
    [PublicationId <String>]: The identifier of the publication. Read-only.
    [PublishedToPlanId <String>]: The identifier of the plannerPlan this task was originally placed in. Read-only.
    [PublishingTeamId <String>]: The identifier of the team that initiated the publication process. Read-only.
    [PublishingTeamName <String>]: The display name of the team that initiated the publication process. This display name is for reference only, and might not represent the most up-to-date name of the team. Read-only.
 
DETAILS <IMicrosoftGraphPlannerTaskDetails>: plannerTaskDetails
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Checklist <IMicrosoftGraphPlannerChecklistItems>]: plannerChecklistItems
    [(Any) <Object>]: This indicates any property can be added to this object.
  [Description <String>]: Description of the task.
  [Notes <IMicrosoftGraphItemBody>]: itemBody
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Content <String>]: The content of the item.
    [ContentType <String>]: bodyType
  [PreviewType <String>]: plannerPreviewType
  [References <IMicrosoftGraphPlannerExternalReferences>]: plannerExternalReferences
    [(Any) <Object>]: This indicates any property can be added to this object.
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
PROGRESSTASKBOARDFORMAT <IMicrosoftGraphPlannerProgressTaskBoardTaskFormat>: plannerProgressTaskBoardTaskFormat
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [OrderHint <String>]: Hint value used to order the task on the progress view of the task board. For details about the supported format, see Using order hints in Planner.
 
RECURRENCE <IMicrosoftGraphPlannerTaskRecurrence>: plannerTaskRecurrence
  [(Any) <Object>]: This indicates any property can be added to this object.
  [NextInSeriesTaskId <String>]:
  [OccurrenceId <Int32?>]:
  [PreviousInSeriesTaskId <String>]:
  [RecurrenceStartDateTime <DateTime?>]:
  [Schedule <IMicrosoftGraphPlannerRecurrenceSchedule>]: plannerRecurrenceSchedule
    [(Any) <Object>]: This indicates any property can be added to this object.
    [NextOccurrenceDateTime <DateTime?>]:
    [Pattern <IMicrosoftGraphRecurrencePattern>]: recurrencePattern
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DayOfMonth <Int32?>]: The day of the month on which the event occurs. Required if type is absoluteMonthly or absoluteYearly.
      [DaysOfWeek <String[]>]: A collection of the days of the week on which the event occurs. The possible values are: sunday, monday, tuesday, wednesday, thursday, friday, saturday. If type is relativeMonthly or relativeYearly, and daysOfWeek specifies more than one day, the event falls on the first day that satisfies the pattern. Required if type is weekly, relativeMonthly, or relativeYearly.
      [FirstDayOfWeek <String>]: dayOfWeek
      [Index <String>]: weekIndex
      [Interval <Int32?>]: The number of units between occurrences, where units can be in days, weeks, months, or years, depending on the type. Required.
      [Month <Int32?>]: The month in which the event occurs. This is a number from 1 to 12.
      [Type <String>]: recurrencePatternType
    [PatternStartDateTime <DateTime?>]:
  [SeriesId <String>]:
 
TARGET <IMicrosoftGraphBusinessScenarioTaskTargetBase>: businessScenarioTaskTargetBase
  [(Any) <Object>]: This indicates any property can be added to this object.
  [TaskTargetKind <String>]: plannerTaskTargetKind
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/update-mgbetabusinessscenarioplannertask
#>

function Update-MgBetaBusinessScenarioPlannerTask {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioTask])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenarioTask
    ${BusinessScenarioTaskId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioTask]
    # businessScenarioTask
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # Number of checklist items with value set to false, representing incomplete items.
    ${ActiveChecklistItemCount},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.Info(PossibleTypes=([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerAppliedCategories]))]
    [System.Collections.Hashtable]
    # plannerAppliedCategories
    ${AppliedCategories},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerAssignedToTaskBoardTaskFormat]
    # plannerAssignedToTaskBoardTaskFormat
    # To construct, see NOTES section for ASSIGNEDTOTASKBOARDFORMAT properties and create a hash table.
    ${AssignedToTaskBoardFormat},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Hint used to order items of this type in a list view.
    # The format is defined as outlined here.
    ${AssigneePriority},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.Info(PossibleTypes=([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerAssignments]))]
    [System.Collections.Hashtable]
    # plannerAssignments
    ${Assignments},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Bucket ID to which the task belongs.
    # The bucket needs to be in the plan that the task is in.
    # It is 28 characters long and case-sensitive.
    # Format validation is done on the service.
    ${BucketId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerBucketTaskBoardTaskFormat]
    # plannerBucketTaskBoardTaskFormat
    # To construct, see NOTES section for BUCKETTASKBOARDFORMAT properties and create a hash table.
    ${BucketTaskBoardFormat},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioProperties]
    # businessScenarioProperties
    # To construct, see NOTES section for BUSINESSSCENARIOPROPERTIES properties and create a hash table.
    ${BusinessScenarioProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # Number of checklist items that are present on the task.
    ${ChecklistItemCount},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphIdentitySet]
    # identitySet
    # To construct, see NOTES section for COMPLETEDBY properties and create a hash table.
    ${CompletedBy},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # Read-only.
    # Date and time at which the 'percentComplete' of the task is set to '100'.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    ${CompletedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Thread ID of the conversation on the task.
    # This is the ID of the conversation thread object created in the group.
    ${ConversationThreadId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphIdentitySet]
    # identitySet
    # To construct, see NOTES section for CREATEDBY properties and create a hash table.
    ${CreatedBy},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # Read-only.
    # Date and time at which the task is created.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    ${CreatedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerTaskCreation]
    # plannerTaskCreation
    # To construct, see NOTES section for CREATIONSOURCE properties and create a hash table.
    ${CreationSource},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerTaskDetails]
    # plannerTaskDetails
    # To construct, see NOTES section for DETAILS properties and create a hash table.
    ${Details},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # Date and time at which the task is due.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    ${DueDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Management.Automation.SwitchParameter]
    # Read-only.
    # Value is true if the details object of the task has a non-empty description and false otherwise.
    ${HasDescription},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Hint used to order items of this type in a list view.
    # The format is defined as outlined here.
    ${OrderHint},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # Percentage of task completion.
    # When set to 100, the task is considered completed.
    ${PercentComplete},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Plan ID to which the task belongs.
    ${PlanId},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # plannerPreviewType
    ${PreviewType},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # Priority of the task.
    # Valid range of values is between 0 and 10 (inclusive), with increasing value being lower priority (0 has the highest priority and 10 has the lowest priority).
    # Currently, Planner interprets values 0 and 1 as 'urgent', 2 and 3 and 4 as 'important', 5, 6, and 7 as 'medium', and 8, 9, and 10 as 'low'.
    # Currently, Planner sets the value 1 for 'urgent', 3 for 'important', 5 for 'medium', and 9 for 'low'.
    ${Priority},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerProgressTaskBoardTaskFormat]
    # plannerProgressTaskBoardTaskFormat
    # To construct, see NOTES section for PROGRESSTASKBOARDFORMAT properties and create a hash table.
    ${ProgressTaskBoardFormat},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerTaskRecurrence]
    # plannerTaskRecurrence
    # To construct, see NOTES section for RECURRENCE properties and create a hash table.
    ${Recurrence},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Int32]
    # Number of external references that exist on the task.
    ${ReferenceCount},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # Date and time at which the task starts.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    ${StartDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioTaskTargetBase]
    # businessScenarioTaskTargetBase
    # To construct, see NOTES section for TARGET properties and create a hash table.
    ${Target},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Title of the task.
    ${Title},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerTask_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerTask_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerTask_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlannerTask_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property planner in solutions
.Description
Update the navigation property planner in solutions
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioPlanner
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioPlanner
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphBusinessScenarioPlanner>: businessScenarioPlanner
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [PlanConfiguration <IMicrosoftGraphPlannerPlanConfiguration>]: plannerPlanConfiguration
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketDefinition[]>]: List the buckets that should be created in the plan.
      [ExternalBucketId <String>]: Application-specified identifier of the bucket.
    [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Application <IMicrosoftGraphIdentity>]: identity
        [(Any) <Object>]: This indicates any property can be added to this object.
        [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
        [Id <String>]: Unique identifier for the identity.
      [Device <IMicrosoftGraphIdentity>]: identity
      [User <IMicrosoftGraphIdentity>]: identity
    [CreatedDateTime <DateTime?>]: The date and time when the plan configuration was created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
    [DefaultLanguage <String>]: The language code for the default language to be used for the names of the objects created for the plan.
    [LastModifiedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [LastModifiedDateTime <DateTime?>]: The date and time when the plan configuration was last modified. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
    [Localizations <IMicrosoftGraphPlannerPlanConfigurationLocalization[]>]: Localized names for the plan configuration.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketLocalization[]>]: Localized names for configured buckets in the plan configuration.
        [ExternalBucketId <String>]: Application-specified identifier of the bucket.
        [Name <String>]: Name of the bucket.
      [LanguageTag <String>]: The language code associated with the localized names in this object.
      [PlanTitle <String>]: Localized title of the plan.
  [TaskConfiguration <IMicrosoftGraphPlannerTaskConfiguration>]: plannerTaskConfiguration
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [EditPolicy <IMicrosoftGraphPlannerTaskPolicy>]: plannerTaskPolicy
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Rules <IMicrosoftGraphPlannerTaskRoleBasedRule[]>]: The rules that should be enforced on the tasks when they are being changed outside of the scenario, based on the role of the caller.
        [DefaultRule <String>]: Default rule that applies when a property or action-specific rule is not provided. Possible values are: Allow, Block
        [PropertyRule <IMicrosoftGraphPlannerTaskPropertyRule>]: plannerTaskPropertyRule
          [(Any) <Object>]: This indicates any property can be added to this object.
          [RuleKind <String>]: plannerRuleKind
          [AppliedCategories <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
            [(Any) <Object>]: This indicates any property can be added to this object.
            [DefaultRules <String[]>]: The default rules that apply if no override matches to the current data.
            [Overrides <IMicrosoftGraphPlannerRuleOverride[]>]: Overrides that specify different rules for specific data associated with the field.
              [Name <String>]: Name of the override. Allowed override values will be dependent on the property affected by the rule.
              [Rules <String[]>]: Overridden rules. These are used as rules for the override instead of the default rules.
          [Assignments <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
          [CheckLists <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
          [Delete <String[]>]: Rules and restrictions for deleting the task. Accepted values are allow and block.
          [DueDate <String[]>]: Rules and restrictions for changing the due date of the task. Accepted values are allow and block.
          [Move <String[]>]: Rules and restrictions for moving the task between buckets or plans. Accepted values are allow, moveBetweenPlans, moveBetweenBuckets, and block.
          [Notes <String[]>]: Rules and restrictions for changing the notes of the task. Accepted values are allow and block.
          [Order <String[]>]: Rules and restrictions for changing the order of the task. Accepted values are allow and block.
          [PercentComplete <String[]>]: Rules and restrictions for changing the completion percentage of the task. Accepted values are allow, setToComplete, setToNotStarted, setToInProgress, and block.
          [PreviewType <String[]>]: Rules and restrictions for changing the preview type of the task. Accepted values are allow and block.
          [Priority <String[]>]: Rules and restrictions for changing the priority of the task. Accepted values are allow and block.
          [References <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
          [StartDate <String[]>]: Rules and restrictions for changing the start date of the task. Accepted values are allow and block.
          [Title <String[]>]: Rules and restrictions for changing the title of the task. Accepted values are allow and block.
        [Role <IMicrosoftGraphPlannerTaskConfigurationRoleBase>]: plannerTaskConfigurationRoleBase
          [(Any) <Object>]: This indicates any property can be added to this object.
          [RoleKind <String>]: plannerUserRoleKind
  [Tasks <IMicrosoftGraphBusinessScenarioTask[]>]: The Planner tasks for the scenario.
    [ActiveChecklistItemCount <Int32?>]: Number of checklist items with value set to false, representing incomplete items.
    [AppliedCategories <IMicrosoftGraphPlannerAppliedCategories>]: plannerAppliedCategories
      [(Any) <Object>]: This indicates any property can be added to this object.
    [AssignedToTaskBoardFormat <IMicrosoftGraphPlannerAssignedToTaskBoardTaskFormat>]: plannerAssignedToTaskBoardTaskFormat
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [OrderHintsByAssignee <IMicrosoftGraphPlannerOrderHintsByAssignee>]: plannerOrderHintsByAssignee
        [(Any) <Object>]: This indicates any property can be added to this object.
      [UnassignedOrderHint <String>]: Hint value used to order the task on the AssignedTo view of the Task Board when the task is not assigned to anyone, or if the orderHintsByAssignee dictionary does not provide an order hint for the user the task is assigned to. The format is defined as outlined here.
    [AssigneePriority <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
    [Assignments <IMicrosoftGraphPlannerAssignments>]: plannerAssignments
      [(Any) <Object>]: This indicates any property can be added to this object.
    [BucketId <String>]: Bucket ID to which the task belongs. The bucket needs to be in the plan that the task is in. It is 28 characters long and case-sensitive. Format validation is done on the service.
    [BucketTaskBoardFormat <IMicrosoftGraphPlannerBucketTaskBoardTaskFormat>]: plannerBucketTaskBoardTaskFormat
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [OrderHint <String>]: Hint used to order tasks in the bucket view of the task board. For details about the supported format, see Using order hints in Planner.
    [ChecklistItemCount <Int32?>]: Number of checklist items that are present on the task.
    [CompletedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [CompletedDateTime <DateTime?>]: Read-only. Date and time at which the 'percentComplete' of the task is set to '100'. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    [ConversationThreadId <String>]: Thread ID of the conversation on the task. This is the ID of the conversation thread object created in the group.
    [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [CreatedDateTime <DateTime?>]: Read-only. Date and time at which the task is created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    [CreationSource <IMicrosoftGraphPlannerTaskCreation>]: plannerTaskCreation
      [(Any) <Object>]: This indicates any property can be added to this object.
      [CreationSourceKind <String>]: plannerCreationSourceKind
      [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
        [(Any) <Object>]: This indicates any property can be added to this object.
        [CreationSourceKind <String>]: plannerCreationSourceKind
        [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
        [LastModifiedDateTime <DateTime?>]: The date and time when this task was last modified by the publication process. Read-only.
        [PublicationId <String>]: The identifier of the publication. Read-only.
        [PublishedToPlanId <String>]: The identifier of the plannerPlan this task was originally placed in. Read-only.
        [PublishingTeamId <String>]: The identifier of the team that initiated the publication process. Read-only.
        [PublishingTeamName <String>]: The display name of the team that initiated the publication process. This display name is for reference only, and might not represent the most up-to-date name of the team. Read-only.
    [Details <IMicrosoftGraphPlannerTaskDetails>]: plannerTaskDetails
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [Checklist <IMicrosoftGraphPlannerChecklistItems>]: plannerChecklistItems
        [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]: Description of the task.
      [Notes <IMicrosoftGraphItemBody>]: itemBody
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Content <String>]: The content of the item.
        [ContentType <String>]: bodyType
      [PreviewType <String>]: plannerPreviewType
      [References <IMicrosoftGraphPlannerExternalReferences>]: plannerExternalReferences
        [(Any) <Object>]: This indicates any property can be added to this object.
    [DueDateTime <DateTime?>]: Date and time at which the task is due. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    [HasDescription <Boolean?>]: Read-only. Value is true if the details object of the task has a non-empty description and false otherwise.
    [OrderHint <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
    [PercentComplete <Int32?>]: Percentage of task completion. When set to 100, the task is considered completed.
    [PlanId <String>]: Plan ID to which the task belongs.
    [PreviewType <String>]: plannerPreviewType
    [Priority <Int32?>]: Priority of the task. Valid range of values is between 0 and 10 (inclusive), with increasing value being lower priority (0 has the highest priority and 10 has the lowest priority). Currently, Planner interprets values 0 and 1 as 'urgent', 2 and 3 and 4 as 'important', 5, 6, and 7 as 'medium', and 8, 9, and 10 as 'low'. Currently, Planner sets the value 1 for 'urgent', 3 for 'important', 5 for 'medium', and 9 for 'low'.
    [ProgressTaskBoardFormat <IMicrosoftGraphPlannerProgressTaskBoardTaskFormat>]: plannerProgressTaskBoardTaskFormat
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [OrderHint <String>]: Hint value used to order the task on the progress view of the task board. For details about the supported format, see Using order hints in Planner.
    [Recurrence <IMicrosoftGraphPlannerTaskRecurrence>]: plannerTaskRecurrence
      [(Any) <Object>]: This indicates any property can be added to this object.
      [NextInSeriesTaskId <String>]:
      [OccurrenceId <Int32?>]:
      [PreviousInSeriesTaskId <String>]:
      [RecurrenceStartDateTime <DateTime?>]:
      [Schedule <IMicrosoftGraphPlannerRecurrenceSchedule>]: plannerRecurrenceSchedule
        [(Any) <Object>]: This indicates any property can be added to this object.
        [NextOccurrenceDateTime <DateTime?>]:
        [Pattern <IMicrosoftGraphRecurrencePattern>]: recurrencePattern
          [(Any) <Object>]: This indicates any property can be added to this object.
          [DayOfMonth <Int32?>]: The day of the month on which the event occurs. Required if type is absoluteMonthly or absoluteYearly.
          [DaysOfWeek <String[]>]: A collection of the days of the week on which the event occurs. The possible values are: sunday, monday, tuesday, wednesday, thursday, friday, saturday. If type is relativeMonthly or relativeYearly, and daysOfWeek specifies more than one day, the event falls on the first day that satisfies the pattern. Required if type is weekly, relativeMonthly, or relativeYearly.
          [FirstDayOfWeek <String>]: dayOfWeek
          [Index <String>]: weekIndex
          [Interval <Int32?>]: The number of units between occurrences, where units can be in days, weeks, months, or years, depending on the type. Required.
          [Month <Int32?>]: The month in which the event occurs. This is a number from 1 to 12.
          [Type <String>]: recurrencePatternType
        [PatternStartDateTime <DateTime?>]:
      [SeriesId <String>]:
    [ReferenceCount <Int32?>]: Number of external references that exist on the task.
    [StartDateTime <DateTime?>]: Date and time at which the task starts. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    [Title <String>]: Title of the task.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [BusinessScenarioProperties <IMicrosoftGraphBusinessScenarioProperties>]: businessScenarioProperties
      [(Any) <Object>]: This indicates any property can be added to this object.
      [ExternalBucketId <String>]: The identifier for the bucketDefinition configured in the plannerPlanConfiguration for the scenario. The task will be placed in the corresponding plannerBucket in the target plan. Required.
      [ExternalContextId <String>]: The identifier for the context of the task. Context is an application controlled value, and tasks can be queried by their externalContextId. Optional.
      [ExternalObjectId <String>]: Application-specific identifier for the task. Every task for the same scenario must have a unique identifier specified for this property. Required.
      [ExternalObjectVersion <String>]: Application-specific version of the task. Optional.
      [WebUrl <String>]: The URL to the application-specific experience for this task. Optional.
    [Target <IMicrosoftGraphBusinessScenarioTaskTargetBase>]: businessScenarioTaskTargetBase
      [(Any) <Object>]: This indicates any property can be added to this object.
      [TaskTargetKind <String>]: plannerTaskTargetKind
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
PLANCONFIGURATION <IMicrosoftGraphPlannerPlanConfiguration>: plannerPlanConfiguration
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketDefinition[]>]: List the buckets that should be created in the plan.
    [ExternalBucketId <String>]: Application-specified identifier of the bucket.
  [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Application <IMicrosoftGraphIdentity>]: identity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
    [Device <IMicrosoftGraphIdentity>]: identity
    [User <IMicrosoftGraphIdentity>]: identity
  [CreatedDateTime <DateTime?>]: The date and time when the plan configuration was created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
  [DefaultLanguage <String>]: The language code for the default language to be used for the names of the objects created for the plan.
  [LastModifiedBy <IMicrosoftGraphIdentitySet>]: identitySet
  [LastModifiedDateTime <DateTime?>]: The date and time when the plan configuration was last modified. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
  [Localizations <IMicrosoftGraphPlannerPlanConfigurationLocalization[]>]: Localized names for the plan configuration.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketLocalization[]>]: Localized names for configured buckets in the plan configuration.
      [ExternalBucketId <String>]: Application-specified identifier of the bucket.
      [Name <String>]: Name of the bucket.
    [LanguageTag <String>]: The language code associated with the localized names in this object.
    [PlanTitle <String>]: Localized title of the plan.
 
TASKCONFIGURATION <IMicrosoftGraphPlannerTaskConfiguration>: plannerTaskConfiguration
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [EditPolicy <IMicrosoftGraphPlannerTaskPolicy>]: plannerTaskPolicy
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Rules <IMicrosoftGraphPlannerTaskRoleBasedRule[]>]: The rules that should be enforced on the tasks when they are being changed outside of the scenario, based on the role of the caller.
      [DefaultRule <String>]: Default rule that applies when a property or action-specific rule is not provided. Possible values are: Allow, Block
      [PropertyRule <IMicrosoftGraphPlannerTaskPropertyRule>]: plannerTaskPropertyRule
        [(Any) <Object>]: This indicates any property can be added to this object.
        [RuleKind <String>]: plannerRuleKind
        [AppliedCategories <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
          [(Any) <Object>]: This indicates any property can be added to this object.
          [DefaultRules <String[]>]: The default rules that apply if no override matches to the current data.
          [Overrides <IMicrosoftGraphPlannerRuleOverride[]>]: Overrides that specify different rules for specific data associated with the field.
            [Name <String>]: Name of the override. Allowed override values will be dependent on the property affected by the rule.
            [Rules <String[]>]: Overridden rules. These are used as rules for the override instead of the default rules.
        [Assignments <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
        [CheckLists <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
        [Delete <String[]>]: Rules and restrictions for deleting the task. Accepted values are allow and block.
        [DueDate <String[]>]: Rules and restrictions for changing the due date of the task. Accepted values are allow and block.
        [Move <String[]>]: Rules and restrictions for moving the task between buckets or plans. Accepted values are allow, moveBetweenPlans, moveBetweenBuckets, and block.
        [Notes <String[]>]: Rules and restrictions for changing the notes of the task. Accepted values are allow and block.
        [Order <String[]>]: Rules and restrictions for changing the order of the task. Accepted values are allow and block.
        [PercentComplete <String[]>]: Rules and restrictions for changing the completion percentage of the task. Accepted values are allow, setToComplete, setToNotStarted, setToInProgress, and block.
        [PreviewType <String[]>]: Rules and restrictions for changing the preview type of the task. Accepted values are allow and block.
        [Priority <String[]>]: Rules and restrictions for changing the priority of the task. Accepted values are allow and block.
        [References <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
        [StartDate <String[]>]: Rules and restrictions for changing the start date of the task. Accepted values are allow and block.
        [Title <String[]>]: Rules and restrictions for changing the title of the task. Accepted values are allow and block.
      [Role <IMicrosoftGraphPlannerTaskConfigurationRoleBase>]: plannerTaskConfigurationRoleBase
        [(Any) <Object>]: This indicates any property can be added to this object.
        [RoleKind <String>]: plannerUserRoleKind
 
TASKS <IMicrosoftGraphBusinessScenarioTask[]>: The Planner tasks for the scenario.
  [ActiveChecklistItemCount <Int32?>]: Number of checklist items with value set to false, representing incomplete items.
  [AppliedCategories <IMicrosoftGraphPlannerAppliedCategories>]: plannerAppliedCategories
    [(Any) <Object>]: This indicates any property can be added to this object.
  [AssignedToTaskBoardFormat <IMicrosoftGraphPlannerAssignedToTaskBoardTaskFormat>]: plannerAssignedToTaskBoardTaskFormat
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [OrderHintsByAssignee <IMicrosoftGraphPlannerOrderHintsByAssignee>]: plannerOrderHintsByAssignee
      [(Any) <Object>]: This indicates any property can be added to this object.
    [UnassignedOrderHint <String>]: Hint value used to order the task on the AssignedTo view of the Task Board when the task is not assigned to anyone, or if the orderHintsByAssignee dictionary does not provide an order hint for the user the task is assigned to. The format is defined as outlined here.
  [AssigneePriority <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
  [Assignments <IMicrosoftGraphPlannerAssignments>]: plannerAssignments
    [(Any) <Object>]: This indicates any property can be added to this object.
  [BucketId <String>]: Bucket ID to which the task belongs. The bucket needs to be in the plan that the task is in. It is 28 characters long and case-sensitive. Format validation is done on the service.
  [BucketTaskBoardFormat <IMicrosoftGraphPlannerBucketTaskBoardTaskFormat>]: plannerBucketTaskBoardTaskFormat
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [OrderHint <String>]: Hint used to order tasks in the bucket view of the task board. For details about the supported format, see Using order hints in Planner.
  [ChecklistItemCount <Int32?>]: Number of checklist items that are present on the task.
  [CompletedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Application <IMicrosoftGraphIdentity>]: identity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
    [Device <IMicrosoftGraphIdentity>]: identity
    [User <IMicrosoftGraphIdentity>]: identity
  [CompletedDateTime <DateTime?>]: Read-only. Date and time at which the 'percentComplete' of the task is set to '100'. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
  [ConversationThreadId <String>]: Thread ID of the conversation on the task. This is the ID of the conversation thread object created in the group.
  [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
  [CreatedDateTime <DateTime?>]: Read-only. Date and time at which the task is created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
  [CreationSource <IMicrosoftGraphPlannerTaskCreation>]: plannerTaskCreation
    [(Any) <Object>]: This indicates any property can be added to this object.
    [CreationSourceKind <String>]: plannerCreationSourceKind
    [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
      [(Any) <Object>]: This indicates any property can be added to this object.
      [CreationSourceKind <String>]: plannerCreationSourceKind
      [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
      [LastModifiedDateTime <DateTime?>]: The date and time when this task was last modified by the publication process. Read-only.
      [PublicationId <String>]: The identifier of the publication. Read-only.
      [PublishedToPlanId <String>]: The identifier of the plannerPlan this task was originally placed in. Read-only.
      [PublishingTeamId <String>]: The identifier of the team that initiated the publication process. Read-only.
      [PublishingTeamName <String>]: The display name of the team that initiated the publication process. This display name is for reference only, and might not represent the most up-to-date name of the team. Read-only.
  [Details <IMicrosoftGraphPlannerTaskDetails>]: plannerTaskDetails
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [Checklist <IMicrosoftGraphPlannerChecklistItems>]: plannerChecklistItems
      [(Any) <Object>]: This indicates any property can be added to this object.
    [Description <String>]: Description of the task.
    [Notes <IMicrosoftGraphItemBody>]: itemBody
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Content <String>]: The content of the item.
      [ContentType <String>]: bodyType
    [PreviewType <String>]: plannerPreviewType
    [References <IMicrosoftGraphPlannerExternalReferences>]: plannerExternalReferences
      [(Any) <Object>]: This indicates any property can be added to this object.
  [DueDateTime <DateTime?>]: Date and time at which the task is due. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
  [HasDescription <Boolean?>]: Read-only. Value is true if the details object of the task has a non-empty description and false otherwise.
  [OrderHint <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
  [PercentComplete <Int32?>]: Percentage of task completion. When set to 100, the task is considered completed.
  [PlanId <String>]: Plan ID to which the task belongs.
  [PreviewType <String>]: plannerPreviewType
  [Priority <Int32?>]: Priority of the task. Valid range of values is between 0 and 10 (inclusive), with increasing value being lower priority (0 has the highest priority and 10 has the lowest priority). Currently, Planner interprets values 0 and 1 as 'urgent', 2 and 3 and 4 as 'important', 5, 6, and 7 as 'medium', and 8, 9, and 10 as 'low'. Currently, Planner sets the value 1 for 'urgent', 3 for 'important', 5 for 'medium', and 9 for 'low'.
  [ProgressTaskBoardFormat <IMicrosoftGraphPlannerProgressTaskBoardTaskFormat>]: plannerProgressTaskBoardTaskFormat
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [OrderHint <String>]: Hint value used to order the task on the progress view of the task board. For details about the supported format, see Using order hints in Planner.
  [Recurrence <IMicrosoftGraphPlannerTaskRecurrence>]: plannerTaskRecurrence
    [(Any) <Object>]: This indicates any property can be added to this object.
    [NextInSeriesTaskId <String>]:
    [OccurrenceId <Int32?>]:
    [PreviousInSeriesTaskId <String>]:
    [RecurrenceStartDateTime <DateTime?>]:
    [Schedule <IMicrosoftGraphPlannerRecurrenceSchedule>]: plannerRecurrenceSchedule
      [(Any) <Object>]: This indicates any property can be added to this object.
      [NextOccurrenceDateTime <DateTime?>]:
      [Pattern <IMicrosoftGraphRecurrencePattern>]: recurrencePattern
        [(Any) <Object>]: This indicates any property can be added to this object.
        [DayOfMonth <Int32?>]: The day of the month on which the event occurs. Required if type is absoluteMonthly or absoluteYearly.
        [DaysOfWeek <String[]>]: A collection of the days of the week on which the event occurs. The possible values are: sunday, monday, tuesday, wednesday, thursday, friday, saturday. If type is relativeMonthly or relativeYearly, and daysOfWeek specifies more than one day, the event falls on the first day that satisfies the pattern. Required if type is weekly, relativeMonthly, or relativeYearly.
        [FirstDayOfWeek <String>]: dayOfWeek
        [Index <String>]: weekIndex
        [Interval <Int32?>]: The number of units between occurrences, where units can be in days, weeks, months, or years, depending on the type. Required.
        [Month <Int32?>]: The month in which the event occurs. This is a number from 1 to 12.
        [Type <String>]: recurrencePatternType
      [PatternStartDateTime <DateTime?>]:
    [SeriesId <String>]:
  [ReferenceCount <Int32?>]: Number of external references that exist on the task.
  [StartDateTime <DateTime?>]: Date and time at which the task starts. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
  [Title <String>]: Title of the task.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [BusinessScenarioProperties <IMicrosoftGraphBusinessScenarioProperties>]: businessScenarioProperties
    [(Any) <Object>]: This indicates any property can be added to this object.
    [ExternalBucketId <String>]: The identifier for the bucketDefinition configured in the plannerPlanConfiguration for the scenario. The task will be placed in the corresponding plannerBucket in the target plan. Required.
    [ExternalContextId <String>]: The identifier for the context of the task. Context is an application controlled value, and tasks can be queried by their externalContextId. Optional.
    [ExternalObjectId <String>]: Application-specific identifier for the task. Every task for the same scenario must have a unique identifier specified for this property. Required.
    [ExternalObjectVersion <String>]: Application-specific version of the task. Optional.
    [WebUrl <String>]: The URL to the application-specific experience for this task. Optional.
  [Target <IMicrosoftGraphBusinessScenarioTaskTargetBase>]: businessScenarioTaskTargetBase
    [(Any) <Object>]: This indicates any property can be added to this object.
    [TaskTargetKind <String>]: plannerTaskTargetKind
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/update-mgbetabusinessscenarioplanner
#>

function Update-MgBetaBusinessScenarioPlanner {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioPlanner])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioPlanner]
    # businessScenarioPlanner
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerPlanConfiguration]
    # plannerPlanConfiguration
    # To construct, see NOTES section for PLANCONFIGURATION properties and create a hash table.
    ${PlanConfiguration},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphPlannerTaskConfiguration]
    # plannerTaskConfiguration
    # To construct, see NOTES section for TASKCONFIGURATION properties and create a hash table.
    ${TaskConfiguration},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioTask[]]
    # The Planner tasks for the scenario.
    # To construct, see NOTES section for TASKS properties and create a hash table.
    ${Tasks},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlanner_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlanner_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlanner_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenarioPlanner_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

<#
.Synopsis
Update the navigation property businessScenarios in solutions
.Description
Update the navigation property businessScenarios in solutions
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity
.Inputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenario
.Outputs
Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenario
.Notes
COMPLEX PARAMETER PROPERTIES
 
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BODYPARAMETER <IMicrosoftGraphBusinessScenario>: businessScenario
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Application <IMicrosoftGraphIdentity>]: identity
      [(Any) <Object>]: This indicates any property can be added to this object.
      [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
      [Id <String>]: Unique identifier for the identity.
    [Device <IMicrosoftGraphIdentity>]: identity
    [User <IMicrosoftGraphIdentity>]: identity
  [CreatedDateTime <DateTime?>]: The date and time when the scenario was created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
  [DisplayName <String>]: Display name of the scenario.
  [LastModifiedBy <IMicrosoftGraphIdentitySet>]: identitySet
  [LastModifiedDateTime <DateTime?>]: The date and time when the scenario was last modified. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
  [OwnerAppIds <String[]>]: Identifiers of applications that are authorized to work with this scenario.
  [Planner <IMicrosoftGraphBusinessScenarioPlanner>]: businessScenarioPlanner
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [PlanConfiguration <IMicrosoftGraphPlannerPlanConfiguration>]: plannerPlanConfiguration
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketDefinition[]>]: List the buckets that should be created in the plan.
        [ExternalBucketId <String>]: Application-specified identifier of the bucket.
      [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
      [CreatedDateTime <DateTime?>]: The date and time when the plan configuration was created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
      [DefaultLanguage <String>]: The language code for the default language to be used for the names of the objects created for the plan.
      [LastModifiedBy <IMicrosoftGraphIdentitySet>]: identitySet
      [LastModifiedDateTime <DateTime?>]: The date and time when the plan configuration was last modified. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
      [Localizations <IMicrosoftGraphPlannerPlanConfigurationLocalization[]>]: Localized names for the plan configuration.
        [Id <String>]: The unique identifier for an entity. Read-only.
        [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketLocalization[]>]: Localized names for configured buckets in the plan configuration.
          [ExternalBucketId <String>]: Application-specified identifier of the bucket.
          [Name <String>]: Name of the bucket.
        [LanguageTag <String>]: The language code associated with the localized names in this object.
        [PlanTitle <String>]: Localized title of the plan.
    [TaskConfiguration <IMicrosoftGraphPlannerTaskConfiguration>]: plannerTaskConfiguration
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [EditPolicy <IMicrosoftGraphPlannerTaskPolicy>]: plannerTaskPolicy
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Rules <IMicrosoftGraphPlannerTaskRoleBasedRule[]>]: The rules that should be enforced on the tasks when they are being changed outside of the scenario, based on the role of the caller.
          [DefaultRule <String>]: Default rule that applies when a property or action-specific rule is not provided. Possible values are: Allow, Block
          [PropertyRule <IMicrosoftGraphPlannerTaskPropertyRule>]: plannerTaskPropertyRule
            [(Any) <Object>]: This indicates any property can be added to this object.
            [RuleKind <String>]: plannerRuleKind
            [AppliedCategories <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
              [(Any) <Object>]: This indicates any property can be added to this object.
              [DefaultRules <String[]>]: The default rules that apply if no override matches to the current data.
              [Overrides <IMicrosoftGraphPlannerRuleOverride[]>]: Overrides that specify different rules for specific data associated with the field.
                [Name <String>]: Name of the override. Allowed override values will be dependent on the property affected by the rule.
                [Rules <String[]>]: Overridden rules. These are used as rules for the override instead of the default rules.
            [Assignments <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
            [CheckLists <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
            [Delete <String[]>]: Rules and restrictions for deleting the task. Accepted values are allow and block.
            [DueDate <String[]>]: Rules and restrictions for changing the due date of the task. Accepted values are allow and block.
            [Move <String[]>]: Rules and restrictions for moving the task between buckets or plans. Accepted values are allow, moveBetweenPlans, moveBetweenBuckets, and block.
            [Notes <String[]>]: Rules and restrictions for changing the notes of the task. Accepted values are allow and block.
            [Order <String[]>]: Rules and restrictions for changing the order of the task. Accepted values are allow and block.
            [PercentComplete <String[]>]: Rules and restrictions for changing the completion percentage of the task. Accepted values are allow, setToComplete, setToNotStarted, setToInProgress, and block.
            [PreviewType <String[]>]: Rules and restrictions for changing the preview type of the task. Accepted values are allow and block.
            [Priority <String[]>]: Rules and restrictions for changing the priority of the task. Accepted values are allow and block.
            [References <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
            [StartDate <String[]>]: Rules and restrictions for changing the start date of the task. Accepted values are allow and block.
            [Title <String[]>]: Rules and restrictions for changing the title of the task. Accepted values are allow and block.
          [Role <IMicrosoftGraphPlannerTaskConfigurationRoleBase>]: plannerTaskConfigurationRoleBase
            [(Any) <Object>]: This indicates any property can be added to this object.
            [RoleKind <String>]: plannerUserRoleKind
    [Tasks <IMicrosoftGraphBusinessScenarioTask[]>]: The Planner tasks for the scenario.
      [ActiveChecklistItemCount <Int32?>]: Number of checklist items with value set to false, representing incomplete items.
      [AppliedCategories <IMicrosoftGraphPlannerAppliedCategories>]: plannerAppliedCategories
        [(Any) <Object>]: This indicates any property can be added to this object.
      [AssignedToTaskBoardFormat <IMicrosoftGraphPlannerAssignedToTaskBoardTaskFormat>]: plannerAssignedToTaskBoardTaskFormat
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: The unique identifier for an entity. Read-only.
        [OrderHintsByAssignee <IMicrosoftGraphPlannerOrderHintsByAssignee>]: plannerOrderHintsByAssignee
          [(Any) <Object>]: This indicates any property can be added to this object.
        [UnassignedOrderHint <String>]: Hint value used to order the task on the AssignedTo view of the Task Board when the task is not assigned to anyone, or if the orderHintsByAssignee dictionary does not provide an order hint for the user the task is assigned to. The format is defined as outlined here.
      [AssigneePriority <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
      [Assignments <IMicrosoftGraphPlannerAssignments>]: plannerAssignments
        [(Any) <Object>]: This indicates any property can be added to this object.
      [BucketId <String>]: Bucket ID to which the task belongs. The bucket needs to be in the plan that the task is in. It is 28 characters long and case-sensitive. Format validation is done on the service.
      [BucketTaskBoardFormat <IMicrosoftGraphPlannerBucketTaskBoardTaskFormat>]: plannerBucketTaskBoardTaskFormat
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: The unique identifier for an entity. Read-only.
        [OrderHint <String>]: Hint used to order tasks in the bucket view of the task board. For details about the supported format, see Using order hints in Planner.
      [ChecklistItemCount <Int32?>]: Number of checklist items that are present on the task.
      [CompletedBy <IMicrosoftGraphIdentitySet>]: identitySet
      [CompletedDateTime <DateTime?>]: Read-only. Date and time at which the 'percentComplete' of the task is set to '100'. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
      [ConversationThreadId <String>]: Thread ID of the conversation on the task. This is the ID of the conversation thread object created in the group.
      [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
      [CreatedDateTime <DateTime?>]: Read-only. Date and time at which the task is created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
      [CreationSource <IMicrosoftGraphPlannerTaskCreation>]: plannerTaskCreation
        [(Any) <Object>]: This indicates any property can be added to this object.
        [CreationSourceKind <String>]: plannerCreationSourceKind
        [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
          [(Any) <Object>]: This indicates any property can be added to this object.
          [CreationSourceKind <String>]: plannerCreationSourceKind
          [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
          [LastModifiedDateTime <DateTime?>]: The date and time when this task was last modified by the publication process. Read-only.
          [PublicationId <String>]: The identifier of the publication. Read-only.
          [PublishedToPlanId <String>]: The identifier of the plannerPlan this task was originally placed in. Read-only.
          [PublishingTeamId <String>]: The identifier of the team that initiated the publication process. Read-only.
          [PublishingTeamName <String>]: The display name of the team that initiated the publication process. This display name is for reference only, and might not represent the most up-to-date name of the team. Read-only.
      [Details <IMicrosoftGraphPlannerTaskDetails>]: plannerTaskDetails
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: The unique identifier for an entity. Read-only.
        [Checklist <IMicrosoftGraphPlannerChecklistItems>]: plannerChecklistItems
          [(Any) <Object>]: This indicates any property can be added to this object.
        [Description <String>]: Description of the task.
        [Notes <IMicrosoftGraphItemBody>]: itemBody
          [(Any) <Object>]: This indicates any property can be added to this object.
          [Content <String>]: The content of the item.
          [ContentType <String>]: bodyType
        [PreviewType <String>]: plannerPreviewType
        [References <IMicrosoftGraphPlannerExternalReferences>]: plannerExternalReferences
          [(Any) <Object>]: This indicates any property can be added to this object.
      [DueDateTime <DateTime?>]: Date and time at which the task is due. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
      [HasDescription <Boolean?>]: Read-only. Value is true if the details object of the task has a non-empty description and false otherwise.
      [OrderHint <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
      [PercentComplete <Int32?>]: Percentage of task completion. When set to 100, the task is considered completed.
      [PlanId <String>]: Plan ID to which the task belongs.
      [PreviewType <String>]: plannerPreviewType
      [Priority <Int32?>]: Priority of the task. Valid range of values is between 0 and 10 (inclusive), with increasing value being lower priority (0 has the highest priority and 10 has the lowest priority). Currently, Planner interprets values 0 and 1 as 'urgent', 2 and 3 and 4 as 'important', 5, 6, and 7 as 'medium', and 8, 9, and 10 as 'low'. Currently, Planner sets the value 1 for 'urgent', 3 for 'important', 5 for 'medium', and 9 for 'low'.
      [ProgressTaskBoardFormat <IMicrosoftGraphPlannerProgressTaskBoardTaskFormat>]: plannerProgressTaskBoardTaskFormat
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Id <String>]: The unique identifier for an entity. Read-only.
        [OrderHint <String>]: Hint value used to order the task on the progress view of the task board. For details about the supported format, see Using order hints in Planner.
      [Recurrence <IMicrosoftGraphPlannerTaskRecurrence>]: plannerTaskRecurrence
        [(Any) <Object>]: This indicates any property can be added to this object.
        [NextInSeriesTaskId <String>]:
        [OccurrenceId <Int32?>]:
        [PreviousInSeriesTaskId <String>]:
        [RecurrenceStartDateTime <DateTime?>]:
        [Schedule <IMicrosoftGraphPlannerRecurrenceSchedule>]: plannerRecurrenceSchedule
          [(Any) <Object>]: This indicates any property can be added to this object.
          [NextOccurrenceDateTime <DateTime?>]:
          [Pattern <IMicrosoftGraphRecurrencePattern>]: recurrencePattern
            [(Any) <Object>]: This indicates any property can be added to this object.
            [DayOfMonth <Int32?>]: The day of the month on which the event occurs. Required if type is absoluteMonthly or absoluteYearly.
            [DaysOfWeek <String[]>]: A collection of the days of the week on which the event occurs. The possible values are: sunday, monday, tuesday, wednesday, thursday, friday, saturday. If type is relativeMonthly or relativeYearly, and daysOfWeek specifies more than one day, the event falls on the first day that satisfies the pattern. Required if type is weekly, relativeMonthly, or relativeYearly.
            [FirstDayOfWeek <String>]: dayOfWeek
            [Index <String>]: weekIndex
            [Interval <Int32?>]: The number of units between occurrences, where units can be in days, weeks, months, or years, depending on the type. Required.
            [Month <Int32?>]: The month in which the event occurs. This is a number from 1 to 12.
            [Type <String>]: recurrencePatternType
          [PatternStartDateTime <DateTime?>]:
        [SeriesId <String>]:
      [ReferenceCount <Int32?>]: Number of external references that exist on the task.
      [StartDateTime <DateTime?>]: Date and time at which the task starts. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
      [Title <String>]: Title of the task.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [BusinessScenarioProperties <IMicrosoftGraphBusinessScenarioProperties>]: businessScenarioProperties
        [(Any) <Object>]: This indicates any property can be added to this object.
        [ExternalBucketId <String>]: The identifier for the bucketDefinition configured in the plannerPlanConfiguration for the scenario. The task will be placed in the corresponding plannerBucket in the target plan. Required.
        [ExternalContextId <String>]: The identifier for the context of the task. Context is an application controlled value, and tasks can be queried by their externalContextId. Optional.
        [ExternalObjectId <String>]: Application-specific identifier for the task. Every task for the same scenario must have a unique identifier specified for this property. Required.
        [ExternalObjectVersion <String>]: Application-specific version of the task. Optional.
        [WebUrl <String>]: The URL to the application-specific experience for this task. Optional.
      [Target <IMicrosoftGraphBusinessScenarioTaskTargetBase>]: businessScenarioTaskTargetBase
        [(Any) <Object>]: This indicates any property can be added to this object.
        [TaskTargetKind <String>]: plannerTaskTargetKind
  [UniqueName <String>]: Unique name of the scenario. To avoid conflicts, the recommended value for the unique name is a reverse domain name format, owned by the author of the scenario. For example, a scenario authored by Contoso.com would have a unique name that starts with com.contoso.
 
CREATEDBY <IMicrosoftGraphIdentitySet>: identitySet
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Application <IMicrosoftGraphIdentity>]: identity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
    [Id <String>]: Unique identifier for the identity.
  [Device <IMicrosoftGraphIdentity>]: identity
  [User <IMicrosoftGraphIdentity>]: identity
 
INPUTOBJECT <IBookingsIdentity>: Identity Parameter
  [BookingAppointmentId <String>]: The unique identifier of bookingAppointment
  [BookingBusinessId <String>]: The unique identifier of bookingBusiness
  [BookingCurrencyId <String>]: The unique identifier of bookingCurrency
  [BookingCustomQuestionId <String>]: The unique identifier of bookingCustomQuestion
  [BookingCustomerId <String>]: The unique identifier of bookingCustomer
  [BookingServiceId <String>]: The unique identifier of bookingService
  [BookingStaffMemberId <String>]: The unique identifier of bookingStaffMember
  [BusinessScenarioId <String>]: The unique identifier of businessScenario
  [BusinessScenarioTaskId <String>]: The unique identifier of businessScenarioTask
  [PlannerPlanConfigurationLocalizationId <String>]: The unique identifier of plannerPlanConfigurationLocalization
 
LASTMODIFIEDBY <IMicrosoftGraphIdentitySet>: identitySet
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Application <IMicrosoftGraphIdentity>]: identity
    [(Any) <Object>]: This indicates any property can be added to this object.
    [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
    [Id <String>]: Unique identifier for the identity.
  [Device <IMicrosoftGraphIdentity>]: identity
  [User <IMicrosoftGraphIdentity>]: identity
 
PLANNER <IMicrosoftGraphBusinessScenarioPlanner>: businessScenarioPlanner
  [(Any) <Object>]: This indicates any property can be added to this object.
  [Id <String>]: The unique identifier for an entity. Read-only.
  [PlanConfiguration <IMicrosoftGraphPlannerPlanConfiguration>]: plannerPlanConfiguration
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketDefinition[]>]: List the buckets that should be created in the plan.
      [ExternalBucketId <String>]: Application-specified identifier of the bucket.
    [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Application <IMicrosoftGraphIdentity>]: identity
        [(Any) <Object>]: This indicates any property can be added to this object.
        [DisplayName <String>]: The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using delta.
        [Id <String>]: Unique identifier for the identity.
      [Device <IMicrosoftGraphIdentity>]: identity
      [User <IMicrosoftGraphIdentity>]: identity
    [CreatedDateTime <DateTime?>]: The date and time when the plan configuration was created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
    [DefaultLanguage <String>]: The language code for the default language to be used for the names of the objects created for the plan.
    [LastModifiedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [LastModifiedDateTime <DateTime?>]: The date and time when the plan configuration was last modified. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
    [Localizations <IMicrosoftGraphPlannerPlanConfigurationLocalization[]>]: Localized names for the plan configuration.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [Buckets <IMicrosoftGraphPlannerPlanConfigurationBucketLocalization[]>]: Localized names for configured buckets in the plan configuration.
        [ExternalBucketId <String>]: Application-specified identifier of the bucket.
        [Name <String>]: Name of the bucket.
      [LanguageTag <String>]: The language code associated with the localized names in this object.
      [PlanTitle <String>]: Localized title of the plan.
  [TaskConfiguration <IMicrosoftGraphPlannerTaskConfiguration>]: plannerTaskConfiguration
    [(Any) <Object>]: This indicates any property can be added to this object.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [EditPolicy <IMicrosoftGraphPlannerTaskPolicy>]: plannerTaskPolicy
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Rules <IMicrosoftGraphPlannerTaskRoleBasedRule[]>]: The rules that should be enforced on the tasks when they are being changed outside of the scenario, based on the role of the caller.
        [DefaultRule <String>]: Default rule that applies when a property or action-specific rule is not provided. Possible values are: Allow, Block
        [PropertyRule <IMicrosoftGraphPlannerTaskPropertyRule>]: plannerTaskPropertyRule
          [(Any) <Object>]: This indicates any property can be added to this object.
          [RuleKind <String>]: plannerRuleKind
          [AppliedCategories <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
            [(Any) <Object>]: This indicates any property can be added to this object.
            [DefaultRules <String[]>]: The default rules that apply if no override matches to the current data.
            [Overrides <IMicrosoftGraphPlannerRuleOverride[]>]: Overrides that specify different rules for specific data associated with the field.
              [Name <String>]: Name of the override. Allowed override values will be dependent on the property affected by the rule.
              [Rules <String[]>]: Overridden rules. These are used as rules for the override instead of the default rules.
          [Assignments <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
          [CheckLists <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
          [Delete <String[]>]: Rules and restrictions for deleting the task. Accepted values are allow and block.
          [DueDate <String[]>]: Rules and restrictions for changing the due date of the task. Accepted values are allow and block.
          [Move <String[]>]: Rules and restrictions for moving the task between buckets or plans. Accepted values are allow, moveBetweenPlans, moveBetweenBuckets, and block.
          [Notes <String[]>]: Rules and restrictions for changing the notes of the task. Accepted values are allow and block.
          [Order <String[]>]: Rules and restrictions for changing the order of the task. Accepted values are allow and block.
          [PercentComplete <String[]>]: Rules and restrictions for changing the completion percentage of the task. Accepted values are allow, setToComplete, setToNotStarted, setToInProgress, and block.
          [PreviewType <String[]>]: Rules and restrictions for changing the preview type of the task. Accepted values are allow and block.
          [Priority <String[]>]: Rules and restrictions for changing the priority of the task. Accepted values are allow and block.
          [References <IMicrosoftGraphPlannerFieldRules>]: plannerFieldRules
          [StartDate <String[]>]: Rules and restrictions for changing the start date of the task. Accepted values are allow and block.
          [Title <String[]>]: Rules and restrictions for changing the title of the task. Accepted values are allow and block.
        [Role <IMicrosoftGraphPlannerTaskConfigurationRoleBase>]: plannerTaskConfigurationRoleBase
          [(Any) <Object>]: This indicates any property can be added to this object.
          [RoleKind <String>]: plannerUserRoleKind
  [Tasks <IMicrosoftGraphBusinessScenarioTask[]>]: The Planner tasks for the scenario.
    [ActiveChecklistItemCount <Int32?>]: Number of checklist items with value set to false, representing incomplete items.
    [AppliedCategories <IMicrosoftGraphPlannerAppliedCategories>]: plannerAppliedCategories
      [(Any) <Object>]: This indicates any property can be added to this object.
    [AssignedToTaskBoardFormat <IMicrosoftGraphPlannerAssignedToTaskBoardTaskFormat>]: plannerAssignedToTaskBoardTaskFormat
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [OrderHintsByAssignee <IMicrosoftGraphPlannerOrderHintsByAssignee>]: plannerOrderHintsByAssignee
        [(Any) <Object>]: This indicates any property can be added to this object.
      [UnassignedOrderHint <String>]: Hint value used to order the task on the AssignedTo view of the Task Board when the task is not assigned to anyone, or if the orderHintsByAssignee dictionary does not provide an order hint for the user the task is assigned to. The format is defined as outlined here.
    [AssigneePriority <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
    [Assignments <IMicrosoftGraphPlannerAssignments>]: plannerAssignments
      [(Any) <Object>]: This indicates any property can be added to this object.
    [BucketId <String>]: Bucket ID to which the task belongs. The bucket needs to be in the plan that the task is in. It is 28 characters long and case-sensitive. Format validation is done on the service.
    [BucketTaskBoardFormat <IMicrosoftGraphPlannerBucketTaskBoardTaskFormat>]: plannerBucketTaskBoardTaskFormat
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [OrderHint <String>]: Hint used to order tasks in the bucket view of the task board. For details about the supported format, see Using order hints in Planner.
    [ChecklistItemCount <Int32?>]: Number of checklist items that are present on the task.
    [CompletedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [CompletedDateTime <DateTime?>]: Read-only. Date and time at which the 'percentComplete' of the task is set to '100'. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    [ConversationThreadId <String>]: Thread ID of the conversation on the task. This is the ID of the conversation thread object created in the group.
    [CreatedBy <IMicrosoftGraphIdentitySet>]: identitySet
    [CreatedDateTime <DateTime?>]: Read-only. Date and time at which the task is created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    [CreationSource <IMicrosoftGraphPlannerTaskCreation>]: plannerTaskCreation
      [(Any) <Object>]: This indicates any property can be added to this object.
      [CreationSourceKind <String>]: plannerCreationSourceKind
      [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
        [(Any) <Object>]: This indicates any property can be added to this object.
        [CreationSourceKind <String>]: plannerCreationSourceKind
        [TeamsPublicationInfo <IMicrosoftGraphPlannerTeamsPublicationInfo>]: plannerTeamsPublicationInfo
        [LastModifiedDateTime <DateTime?>]: The date and time when this task was last modified by the publication process. Read-only.
        [PublicationId <String>]: The identifier of the publication. Read-only.
        [PublishedToPlanId <String>]: The identifier of the plannerPlan this task was originally placed in. Read-only.
        [PublishingTeamId <String>]: The identifier of the team that initiated the publication process. Read-only.
        [PublishingTeamName <String>]: The display name of the team that initiated the publication process. This display name is for reference only, and might not represent the most up-to-date name of the team. Read-only.
    [Details <IMicrosoftGraphPlannerTaskDetails>]: plannerTaskDetails
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [Checklist <IMicrosoftGraphPlannerChecklistItems>]: plannerChecklistItems
        [(Any) <Object>]: This indicates any property can be added to this object.
      [Description <String>]: Description of the task.
      [Notes <IMicrosoftGraphItemBody>]: itemBody
        [(Any) <Object>]: This indicates any property can be added to this object.
        [Content <String>]: The content of the item.
        [ContentType <String>]: bodyType
      [PreviewType <String>]: plannerPreviewType
      [References <IMicrosoftGraphPlannerExternalReferences>]: plannerExternalReferences
        [(Any) <Object>]: This indicates any property can be added to this object.
    [DueDateTime <DateTime?>]: Date and time at which the task is due. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    [HasDescription <Boolean?>]: Read-only. Value is true if the details object of the task has a non-empty description and false otherwise.
    [OrderHint <String>]: Hint used to order items of this type in a list view. The format is defined as outlined here.
    [PercentComplete <Int32?>]: Percentage of task completion. When set to 100, the task is considered completed.
    [PlanId <String>]: Plan ID to which the task belongs.
    [PreviewType <String>]: plannerPreviewType
    [Priority <Int32?>]: Priority of the task. Valid range of values is between 0 and 10 (inclusive), with increasing value being lower priority (0 has the highest priority and 10 has the lowest priority). Currently, Planner interprets values 0 and 1 as 'urgent', 2 and 3 and 4 as 'important', 5, 6, and 7 as 'medium', and 8, 9, and 10 as 'low'. Currently, Planner sets the value 1 for 'urgent', 3 for 'important', 5 for 'medium', and 9 for 'low'.
    [ProgressTaskBoardFormat <IMicrosoftGraphPlannerProgressTaskBoardTaskFormat>]: plannerProgressTaskBoardTaskFormat
      [(Any) <Object>]: This indicates any property can be added to this object.
      [Id <String>]: The unique identifier for an entity. Read-only.
      [OrderHint <String>]: Hint value used to order the task on the progress view of the task board. For details about the supported format, see Using order hints in Planner.
    [Recurrence <IMicrosoftGraphPlannerTaskRecurrence>]: plannerTaskRecurrence
      [(Any) <Object>]: This indicates any property can be added to this object.
      [NextInSeriesTaskId <String>]:
      [OccurrenceId <Int32?>]:
      [PreviousInSeriesTaskId <String>]:
      [RecurrenceStartDateTime <DateTime?>]:
      [Schedule <IMicrosoftGraphPlannerRecurrenceSchedule>]: plannerRecurrenceSchedule
        [(Any) <Object>]: This indicates any property can be added to this object.
        [NextOccurrenceDateTime <DateTime?>]:
        [Pattern <IMicrosoftGraphRecurrencePattern>]: recurrencePattern
          [(Any) <Object>]: This indicates any property can be added to this object.
          [DayOfMonth <Int32?>]: The day of the month on which the event occurs. Required if type is absoluteMonthly or absoluteYearly.
          [DaysOfWeek <String[]>]: A collection of the days of the week on which the event occurs. The possible values are: sunday, monday, tuesday, wednesday, thursday, friday, saturday. If type is relativeMonthly or relativeYearly, and daysOfWeek specifies more than one day, the event falls on the first day that satisfies the pattern. Required if type is weekly, relativeMonthly, or relativeYearly.
          [FirstDayOfWeek <String>]: dayOfWeek
          [Index <String>]: weekIndex
          [Interval <Int32?>]: The number of units between occurrences, where units can be in days, weeks, months, or years, depending on the type. Required.
          [Month <Int32?>]: The month in which the event occurs. This is a number from 1 to 12.
          [Type <String>]: recurrencePatternType
        [PatternStartDateTime <DateTime?>]:
      [SeriesId <String>]:
    [ReferenceCount <Int32?>]: Number of external references that exist on the task.
    [StartDateTime <DateTime?>]: Date and time at which the task starts. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z
    [Title <String>]: Title of the task.
    [Id <String>]: The unique identifier for an entity. Read-only.
    [BusinessScenarioProperties <IMicrosoftGraphBusinessScenarioProperties>]: businessScenarioProperties
      [(Any) <Object>]: This indicates any property can be added to this object.
      [ExternalBucketId <String>]: The identifier for the bucketDefinition configured in the plannerPlanConfiguration for the scenario. The task will be placed in the corresponding plannerBucket in the target plan. Required.
      [ExternalContextId <String>]: The identifier for the context of the task. Context is an application controlled value, and tasks can be queried by their externalContextId. Optional.
      [ExternalObjectId <String>]: Application-specific identifier for the task. Every task for the same scenario must have a unique identifier specified for this property. Required.
      [ExternalObjectVersion <String>]: Application-specific version of the task. Optional.
      [WebUrl <String>]: The URL to the application-specific experience for this task. Optional.
    [Target <IMicrosoftGraphBusinessScenarioTaskTargetBase>]: businessScenarioTaskTargetBase
      [(Any) <Object>]: This indicates any property can be added to this object.
      [TaskTargetKind <String>]: plannerTaskTargetKind
.Link
https://learn.microsoft.com/powershell/module/microsoft.graph.beta.bookings/update-mgbetabusinessscenario
#>

function Update-MgBetaBusinessScenario {
[OutputType([Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenario])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Update', Mandatory)]
    [Parameter(ParameterSetName='UpdateExpanded', Mandatory)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [System.String]
    # The unique identifier of businessScenario
    ${BusinessScenarioId},

    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Path')]
    [Microsoft.Graph.Beta.PowerShell.Models.IBookingsIdentity]
    # Identity Parameter
    # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
    ${InputObject},

    [Parameter(ParameterSetName='Update', Mandatory, ValueFromPipeline)]
    [Parameter(ParameterSetName='UpdateViaIdentity', Mandatory, ValueFromPipeline)]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenario]
    # businessScenario
    # To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
    ${BodyParameter},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.Collections.Hashtable]
    # Additional Parameters
    ${AdditionalProperties},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphIdentitySet]
    # identitySet
    # To construct, see NOTES section for CREATEDBY properties and create a hash table.
    ${CreatedBy},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The date and time when the scenario was created.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
    ${CreatedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Display name of the scenario.
    ${DisplayName},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # The unique identifier for an entity.
    # Read-only.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphIdentitySet]
    # identitySet
    # To construct, see NOTES section for LASTMODIFIEDBY properties and create a hash table.
    ${LastModifiedBy},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.DateTime]
    # The date and time when the scenario was last modified.
    # The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time.
    # For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
    ${LastModifiedDateTime},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [AllowEmptyCollection()]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String[]]
    # Identifiers of applications that are authorized to work with this scenario.
    ${OwnerAppIds},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphBusinessScenarioPlanner]
    # businessScenarioPlanner
    # To construct, see NOTES section for PLANNER properties and create a hash table.
    ${Planner},

    [Parameter(ParameterSetName='UpdateExpanded')]
    [Parameter(ParameterSetName='UpdateViaIdentityExpanded')]
    [Microsoft.Graph.Beta.PowerShell.Category('Body')]
    [System.String]
    # Unique name of the scenario.
    # To avoid conflicts, the recommended value for the unique name is a reverse domain name format, owned by the author of the scenario.
    # For example, a scenario authored by Contoso.com would have a unique name that starts with com.contoso.
    ${UniqueName},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Wait for .NET debugger to attach
    ${Break},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be appended to the front of the pipeline
    ${HttpPipelineAppend},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [Microsoft.Graph.Beta.PowerShell.Runtime.SendAsyncStep[]]
    # SendAsync Pipeline Steps to be prepended to the front of the pipeline
    ${HttpPipelinePrepend},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Uri]
    # The URI for the proxy server to use
    ${Proxy},

    [Parameter(DontShow)]
    [ValidateNotNull()]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    # Credentials for a proxy server to use for the remote call
    ${ProxyCredential},

    [Parameter(DontShow)]
    [Microsoft.Graph.Beta.PowerShell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    # Use the default credentials for the proxy
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            Update = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenario_Update';
            UpdateExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenario_UpdateExpanded';
            UpdateViaIdentity = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenario_UpdateViaIdentity';
            UpdateViaIdentityExpanded = 'Microsoft.Graph.Beta.Bookings.private\Update-MgBetaBusinessScenario_UpdateViaIdentityExpanded';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Microsoft.Graph.Beta.PowerShell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}

# SIG # Begin signature block
# MIInogYJKoZIhvcNAQcCoIInkzCCJ48CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBn27JA7w8kC5N4
# RNsyvmFmTI5GlBz0sWyxoe46Y6DvY6CCDYUwggYDMIID66ADAgECAhMzAAACzfNk
# v/jUTF1RAAAAAALNMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjIwNTEyMjA0NjAyWhcNMjMwNTExMjA0NjAyWjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQDrIzsY62MmKrzergm7Ucnu+DuSHdgzRZVCIGi9CalFrhwtiK+3FIDzlOYbs/zz
# HwuLC3hir55wVgHoaC4liQwQ60wVyR17EZPa4BQ28C5ARlxqftdp3H8RrXWbVyvQ
# aUnBQVZM73XDyGV1oUPZGHGWtgdqtBUd60VjnFPICSf8pnFiit6hvSxH5IVWI0iO
# nfqdXYoPWUtVUMmVqW1yBX0NtbQlSHIU6hlPvo9/uqKvkjFUFA2LbC9AWQbJmH+1
# uM0l4nDSKfCqccvdI5l3zjEk9yUSUmh1IQhDFn+5SL2JmnCF0jZEZ4f5HE7ykDP+
# oiA3Q+fhKCseg+0aEHi+DRPZAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQU0WymH4CP7s1+yQktEwbcLQuR9Zww
# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzQ3MDUzMDAfBgNVHSMEGDAW
# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v
# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw
# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov
# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx
# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB
# AE7LSuuNObCBWYuttxJAgilXJ92GpyV/fTiyXHZ/9LbzXs/MfKnPwRydlmA2ak0r
# GWLDFh89zAWHFI8t9JLwpd/VRoVE3+WyzTIskdbBnHbf1yjo/+0tpHlnroFJdcDS
# MIsH+T7z3ClY+6WnjSTetpg1Y/pLOLXZpZjYeXQiFwo9G5lzUcSd8YVQNPQAGICl
# 2JRSaCNlzAdIFCF5PNKoXbJtEqDcPZ8oDrM9KdO7TqUE5VqeBe6DggY1sZYnQD+/
# LWlz5D0wCriNgGQ/TWWexMwwnEqlIwfkIcNFxo0QND/6Ya9DTAUykk2SKGSPt0kL
# tHxNEn2GJvcNtfohVY/b0tuyF05eXE3cdtYZbeGoU1xQixPZAlTdtLmeFNly82uB
# VbybAZ4Ut18F//UrugVQ9UUdK1uYmc+2SdRQQCccKwXGOuYgZ1ULW2u5PyfWxzo4
# BR++53OB/tZXQpz4OkgBZeqs9YaYLFfKRlQHVtmQghFHzB5v/WFonxDVlvPxy2go
# a0u9Z+ZlIpvooZRvm6OtXxdAjMBcWBAsnBRr/Oj5s356EDdf2l/sLwLFYE61t+ME
# iNYdy0pXL6gN3DxTVf2qjJxXFkFfjjTisndudHsguEMk8mEtnvwo9fOSKT6oRHhM
# 9sZ4HTg/TTMjUljmN3mBYWAWI5ExdC1inuog0xrKmOWVMIIHejCCBWKgAwIBAgIK
# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV
# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm
# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw
# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD
# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG
# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la
# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc
# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D
# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+
# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk
# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6
# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd
# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL
# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd
# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3
# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS
# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI
# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL
# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD
# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv
# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF
# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h
# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA
# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn
# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7
# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b
# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/
# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy
# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp
# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi
# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb
# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS
# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL
# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX
# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGXMwghlvAgEBMIGVMH4x
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p
# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAALN82S/+NRMXVEAAAAA
# As0wDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIGGg
# 6U+zGN0T0VMwA2smFUM8rZI2VWrslyqipmPonHJiMEIGCisGAQQBgjcCAQwxNDAy
# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20wDQYJKoZIhvcNAQEBBQAEggEAu4jNcfoB3OHGys2kpkWYh4wvp4jIoT/zova4
# cXooEIFRozxQYYcTdr3sDqpiyrOzxuWckLDG0WrRi5Prq3vgAO5Ll8OIIU2StI7t
# pZDSSnby3pk50BOoDHUMKkaLStYDPRTX7KYKbNZrjIblW+PiYCDiLSmbxQgPMjNV
# iowcReq3yTpH4FOMxsKRSrF44tu+GuOVKHv0+K7Ad3gTQCbjrYeA8HG6hT+ujgkI
# MdFWE/bcxEZCSNZG+p6FwAz4pCWMGkSt0VC227OS1LTaQZcFksZL6c2ba/NAw1Ee
# pF9q17RF7Z8c4+Z+wm31TWyxtevu4iVhjUaYSDzmM2UQ4yMvNqGCFv0wghb5Bgor
# BgEEAYI3AwMBMYIW6TCCFuUGCSqGSIb3DQEHAqCCFtYwghbSAgEDMQ8wDQYJYIZI
# AWUDBAIBBQAwggFRBgsqhkiG9w0BCRABBKCCAUAEggE8MIIBOAIBAQYKKwYBBAGE
# WQoDATAxMA0GCWCGSAFlAwQCAQUABCDl8JcDh5yZORFQAUQxEwGPf5jVg7V/Qzmh
# OrpGwa78fAIGZBMCAFeKGBMyMDIzMDMyMzE4MTMyOS43NzRaMASAAgH0oIHQpIHN
# MIHKMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQL
# ExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMSYwJAYDVQQLEx1UaGFsZXMg
# VFNTIEVTTjpERDhDLUUzMzctMkZBRTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt
# U3RhbXAgU2VydmljZaCCEVQwggcMMIIE9KADAgECAhMzAAABxQPNzSGh9O85AAEA
# AAHFMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo
# aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
# cG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEw
# MB4XDTIyMTEwNDE5MDEzMloXDTI0MDIwMjE5MDEzMlowgcoxCzAJBgNVBAYTAlVT
# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVy
# aWNhIE9wZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOkREOEMtRTMz
# Ny0yRkFFMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIIC
# IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq0hds70eX23J7pappaKXRhz+
# TT7JJ3OvVf3+N8fNpxRs5jY4hEv3BV/w5EWXbZdO4m3xj01lTI/xDkq+ytjuiPe8
# xGXsZxDntv7L1EzMd5jISqJ+eYu8kgV056mqs8dBo55xZPPPcxf5u19zn04aMQF5
# PXV/C4ZLSjFa9IFNcribdOm3lGW1rQRFa2jUsup6gv634q5UwH09WGGu0z89Rbtb
# yM55vmBgWV8ed6bZCZrcoYIjML8FRTvGlznqm6HtwZdXMwKHT3a/kLUSPiGAsrIg
# Ezz7NpBpeOsgs9TrwyWTZBNbBwyIACmQ34j+uR4et2hZk+NH49KhEJyYD2+dOIaD
# GB2EUNFSYcy1MkgtZt1eRqBB0m+YPYz7HjocPykKYNQZ7Tv+zglOffCiax1jOb0u
# 6IYC5X1Jr8AwTcsaDyu3qAhx8cFQN9DDgiVZw+URFZ8oyoDk6sIV1nx5zZLy+hNt
# akePX9S7Y8n1qWfAjoXPE6K0/dbTw87EOJL/BlJGcKoFTytr0zPg/MNJSb6f2a/w
# DkXoGCGWJiQrGTxjOP+R96/nIIG05eE1Lpky2FOdYMPB4DhW7tBdZautepTTuShm
# gn+GKER8AoA1gSSk1EC5ZX4cppVngJpblMBu8r/tChfHVdXviY6hDShHwQCmZqZe
# bgSYHnHl4urE+4K6ZC8CAwEAAaOCATYwggEyMB0GA1UdDgQWBBRU6rs4v1mxNYG/
# rtpLwrVwek0FazAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJlpxtTNRnpcjBfBgNV
# HR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2Ny
# bC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcmwwbAYI
# KwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0ElMjAy
# MDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0G
# CSqGSIb3DQEBCwUAA4ICAQCMqN58frMHOScciK+Cdnr6dK8fTsgQDeZ9bvQjCuxN
# IJZJ92+xpeKRCf3Xq47qdRykkKUnZC6dHhLwt1fhwyiy/LfdVQ9yf1hYZ/RpTS+z
# 0hnaoK+P/IDAiUNm32NXLhDBu0P4Sb/uCV4jOuNUcmJhppBQgQVhFx/57JYk1LCd
# jIee//GrcfbkQtiYob9Oa93DSjbsD1jqaicEnkclUN/mEm9ZsnCnA1+/OQDp/8Q4
# cPfH94LM4J6X0NtNBeVywvWH0wuMaOJzHgDLCeJUkFE9HE8sBDVedmj6zPJAI+7o
# zLjYqw7i4RFbiStfWZSGjwt+lLJQZRWUCcT3aHYvTo1YWDZskohWg77w9fF2QbiO
# 9DfnqoZ7QozHi7RiPpbjgkJMAhrhpeTf/at2e9+HYkKObUmgPArH1Wjivwm1d7PY
# WsarL7u5qZuk36Gb1mETS1oA2XX3+C3rgtzRohP89qZVf79lVvjmg34NtICK/pMk
# 99SButghtipFSMQdbXUnS2oeLt9cKuv1MJu+gJ83qXTNkQ2QqhxtNRvbE9QqmqJQ
# w5VW/4SZze1pPXxyOTO5yDq+iRIUubqeQzmUcCkiyNuCLHWh8OLCI5mIOC1iLtVD
# f2lw9eWropwu5SDJtT/ZwqIU1qb2U+NjkNcj1hbODBRELaTTWd91RJiUI9ncJkGg
# /jCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUwDQYJKoZIhvcNAQEL
# BQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
# EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNV
# BAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4X
# DTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkGA1UEBhMCVVMxEzAR
# BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
# Y3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3Rh
# bXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDk4aZM
# 57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg4r25PhdgM/9cT8dm
# 95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aORmsHFPPFdvWGUNzB
# RMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41JmTamDu6GnszrYBb
# fowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5LFGc6XBpDco2LXCO
# Mcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL64NF50ZuyjLVwIYw
# XE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9QZpGdc3EXzTdEonW
# /aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj0XOmTTd0lBw0gg/w
# EPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqEUUbi0b1qGFphAXPK
# Z6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0kZSU2LlQ+QuJYfM2
# BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435UsSFF5PAPBXbGjfH
# CBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQABo4IB3TCCAdkwEgYJKwYB
# BAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxGNSnPEP8v
# BO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwGA1UdIARVMFMwUQYM
# KwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0
# LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNVHSUEDDAKBggrBgEF
# BQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD
# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBW
# BgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny
# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUH
# AQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtp
# L2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDANBgkqhkiG9w0BAQsF
# AAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4sQaTlz0xM7U518Jx
# Nj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th542DYunKmCVgADsAW+
# iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRXud2f8449xvNo32X2
# pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBewVIVCs/wMnosZiefw
# C2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0DLzskYDSPeZKPmY7
# T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+CljdQDzHVG2dY3RILLFO
# Ry3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFrDZ+kKNxnGSgkujhL
# mm77IVRrakURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFhbHP+CrvsQWY9af3L
# wUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7ntdAoGokLjzbaukz5
# m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+oDEzfbzL6Xu/OHBE
# 0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6FwZvKhggLLMIICNAIB
# ATCB+KGB0KSBzTCByjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
# bjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2EgT3BlcmF0aW9uczEmMCQGA1UE
# CxMdVGhhbGVzIFRTUyBFU046REQ4Qy1FMzM3LTJGQUUxJTAjBgNVBAMTHE1pY3Jv
# c29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAHBgUrDgMCGgMVACEAGvYXZJK7
# cUo62+LvEYQEx7/noIGDMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh
# c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD
# b3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIw
# MTAwDQYJKoZIhvcNAQEFBQACBQDnxrlWMCIYDzIwMjMwMzIzMTk0MTEwWhgPMjAy
# MzAzMjQxOTQxMTBaMHQwOgYKKwYBBAGEWQoEATEsMCowCgIFAOfGuVYCAQAwBwIB
# AAICD2EwBwIBAAICETgwCgIFAOfICtYCAQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYK
# KwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgCAQACAwGGoDANBgkqhkiG9w0BAQUF
# AAOBgQDaAv7xJ6JfihhfGt8YcBfqW4GEN5eeMsmk1pSN3/00WnOmyJvvx6iZCkKo
# ksPRA6/Mvq0evkbyQ0KE2l8CvQFdlNazakUvFjp0arAd1yt2lNal6ML7Lru6EnNS
# vh0MN1Lht1cUIBVjtSSEeBbVl9w0qPjXETyQ0PGFonQK7asH6DGCBA0wggQJAgEB
# MIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
# EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV
# BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAABxQPNzSGh9O85
# AAEAAAHFMA0GCWCGSAFlAwQCAQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcN
# AQkQAQQwLwYJKoZIhvcNAQkEMSIEIHkndBq7CeLq/CzVpDvZusuLTqNRlPnd2/6Q
# AOYwHfX6MIH6BgsqhkiG9w0BCRACLzGB6jCB5zCB5DCBvQQgGQGxkfYkd0wK+V09
# wO0sO+sm8gAMyj5EuKPqvNQ/fLEwgZgwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEG
# A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
# cm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt
# cCBQQ0EgMjAxMAITMwAAAcUDzc0hofTvOQABAAABxTAiBCADu6ywgqZ00TkehgpS
# sdA87skELeta8CzG95JmD7SvTjANBgkqhkiG9w0BAQsFAASCAgBwlihsVowlOxcq
# FXteqX7HkqJpkA0R0rR1lsneiOK0D+ZSF8N1VpjpoOzi+v31dGviTQlRABnjfzo0
# O4ltH8gFKxEFjWm4xZse107OuCCj+6LPp04dYNfuH6YvVLqzQPCGpMz36tlHMc1x
# ARD65DZ/5HhiboMHxmw9kd9Tcy2QmIlAPejlcveHbz9yabKuGQSgdn5yTPCOrFQl
# baw7XNNpb45aYaRUkgor/lAGoB1u++gSMlybNXKvoXK5yHxQsk+LKGqXsuUtk0OR
# NwG3gNF5WQFb4uc6JsG3WDbXr9dKdPoLSm+wg/R/M5nNWwbFQ1dcp8/mmIwm4TAJ
# PzS72Zlp83OSDmRU+VxtKuSVVbY2ZAzBiJZsjI4GSo5WcaETmzdql6ScBJUztl5G
# 4vAQ0E6rJMIprXUFSySoPIjC6TEGVUV7FO1T9+w+P/UusmyL51nnQwv7VhYb0n7S
# PJHDNR+UIvG3TUzjAN3MW9VQYGoCZBNvJ0W8KWju+4pRu/up7L1hU2QdAZ9puceM
# qBMBf6exDp1dDUpp9Zt8lP5dhZKAzIwIUgIm2cN6zQoOymxOcy7vtaoySFMuzrBD
# iwlwpO8crEE4Et+Fq9c3O04T80k6YkJxAx1BEzNgb4bjTwBzMlqlNIYzEFQqqQuM
# Vh6o+YutRKwBnAJA81nbhXNpB7Fxfg==
# SIG # End signature block