Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
285 changes: 285 additions & 0 deletions MAUI/SmartScheduler/getting-started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,285 @@
---
layout: post
title: Getting Started with .NET MAUI Smart Scheduler control | Syncfusion®
description: Learn here all about getting started with Syncfusion<sup>&reg;</sup> .NET MAUI Smart Scheduler (SfSmartScheduler) control.
platform: maui
control: SfSmartScheduler
documentation: ug
keywords : .net maui smart scheduler
---

# Getting Started with the .NET MAUI Smart Scheduler

This section explains how to add the smart scheduler as well as the essential aspects for getting started with the Smart Scheduler and also provides a walk-through to configure the `.NET MAUI Smart Scheduler` control in a real-time scenario. Follow the steps below to add a .NET Smart Scheduler control to your project.

{% tabcontents %}
{% tabcontent Visual Studio %}

## Prerequisites

Before proceeding, ensure the following are set up:
1. Install [.NET 9 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/9.0) or later is installed.
2. Set up a .NET MAUI environment with Visual Studio 2022 (v17.3 or later) or Visual Studio Code. For Visual Studio Code users, ensure that the .NET MAUI workload is installed and configured as described [here.](https://learn.microsoft.com/en-us/dotnet/maui/get-started/installation?view=net-maui-9.0&tabs=visual-studio-code)

## Step 1: Create a New .NET MAUI Project

1. Go to **File > New > Project** and choose the **.NET MAUI App** template.
2. Name the project and choose a location. Then click **Next**.
3. Select the .NET framework version and click **Create**.

## Step 2: Install the Syncfusion<sup>&reg;</sup> .NET MAUI Smart Scheduler NuGet Package

1. In **Solution Explorer,** right-click the project and choose **Manage NuGet Packages.**
2. Search for `Syncfusion.Maui.SmartComponents` and install the latest version.
3. Ensure the necessary dependencies are installed correctly, and the project is restored.

## Step 3: Register the handler

The [Syncfusion.Maui.Core](https://www.nuget.org/packages/Syncfusion.Maui.Core/) NuGet is a dependent package for all Syncfusion<sup>&reg;</sup> controls of .NET MAUI. In the **MauiProgram.cs** file, register the handler for Syncfusion<sup>&reg;</sup> core.

{% tabs %}
{% highlight C# tabtitle="MauiProgram.cs" hl_lines="1 10" %}

using Syncfusion.Maui.Core.Hosting;
namespace GettingStarted
{
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();

builder.ConfigureSyncfusionCore();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("Segoe-mdl2.ttf", "SegoeMDL2");
});

return builder.Build();
}
}
}

{% endhighlight %}
{% endtabs %}

## Step 4: Add .NET MAUI Smart Scheduler

1. To initialize the control, import the `Syncfusion.Maui.SmartComponents` namespace into your code.
2. Initialize `SfSmartScheduler`

{% tabs %}
{% highlight XAML hl_lines="3 5" %}

<ContentPage
. . .
xmlns:smartScheduler="clr-namespace:Syncfusion.Maui.SmartComponents;assembly=Syncfusion.Maui.SmartComponents">

<smartScheduler:SfSmartScheduler />
</ContentPage>

{% endhighlight %}
{% highlight C# hl_lines="1 9 10" %}

using Syncfusion.Maui.SmartComponents;
. . .

public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
SfSmartScheduler smartScheduler = new SfSmartScheduler();
this.Content = smartScheduler;
}
}

{% endhighlight %}
{% endtabs %}

{% endtabcontent %}
{% tabcontent Visual Studio Code %}

## Prerequisites

Before proceeding, ensure the following are set up:
1. Install [.NET 9 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/9.0) or later is installed.
2. Set up a .NET MAUI environment with Visual Studio Code.
3. Ensure that the .NET MAUI extension is installed and configured as described [here.](https://learn.microsoft.com/en-us/dotnet/maui/get-started/installation?view=net-maui-9.0&tabs=visual-studio-code)

## Step 1: Create a New .NET MAUI Project

1. Open the command palette by pressing `Ctrl+Shift+P` and type **.NET:New Project** and enter.
2. Choose the **.NET MAUI App** template.
3. Select the project location, type the project name and press **Enter**.
4. Then choose **Create project.**

{% endtabcontent %}
{% tabcontent JetBrains Rider %}

## Prerequisites

Before proceeding, ensure the following are set up:

1. Ensure you have the latest version of JetBrains Rider.
2. Install [.NET 9 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/9.0) or later is installed.
3. Make sure the MAUI workloads are installed and configured as described [here.](https://www.jetbrains.com/help/rider/MAUI.html#before-you-start)

## Step 1: Create a new .NET MAUI Project

1. Go to **File > New Solution,** Select .NET (C#) and choose the .NET MAUI App template.
2. Enter the Project Name, Solution Name, and Location.
3. Select the .NET framework version and click Create.

## Step 2: Install the Syncfusion<sup>®</sup> MAUI Smart Scheduler NuGet Package

1. In **Solution Explorer,** right-click the project and choose **Manage NuGet Packages.**
2. Search for `Syncfusion.Maui.SmartComponents` and install the latest version.
3. Ensure the necessary dependencies are installed correctly, and the project is restored. If not, Open the Terminal in Rider and manually run: `dotnet restore`

## Step 3: Register the handler

The [Syncfusion.Maui.Core](https://www.nuget.org/packages/Syncfusion.Maui.Core/) NuGet is a dependent package for all Syncfusion<sup>&reg;</sup> controls of .NET MAUI. In the **MauiProgram.cs** file, register the handler for Syncfusion<sup>&reg;</sup> core.

{% tabs %}
{% highlight C# tabtitle="MauiProgram.cs" hl_lines="1 10" %}

using Syncfusion.Maui.Core.Hosting;
namespace GettingStarted
{
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();

builder.ConfigureSyncfusionCore();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("Segoe-mdl2.ttf", "SegoeMDL2");
});

return builder.Build();
}
}
}

{% endhighlight %}
{% endtabs %}

## Step 4: Add .NET MAUI Smart Scheduler

1. To initialize the control, import the `Syncfusion.Maui.SmartComponents` namespace into your code.
2. Initialize `SfSmartScheduler`.

{% tabs %}
{% highlight XAML hl_lines="3 5" %}

<ContentPage
. . .
xmlns:smartScheduler="clr-namespace:Syncfusion.Maui.SmartComponents;assembly=Syncfusion.Maui.SmartComponents">

<smartScheduler:SfSmartScheduler />
</ContentPage>

{% endhighlight %}
{% highlight C# hl_lines="1 9 10" %}

using Syncfusion.Maui.SmartComponents;
. . .

public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
SfSmartScheduler smartScheduler = new SfSmartScheduler();
this.Content = smartScheduler;
}
}

{% endhighlight %}
{% endtabs %}

{% endtabcontent %}
{% endtabcontents %}

## Step 2: Install the Syncfusion<sup>&reg;</sup> .NET MAUI Smart Scheduler NuGet Package

1. Press <kbd>Ctrl</kbd> + <kbd>`</kbd> (backtick) to open the integrated terminal in Visual Studio Code.
2. Ensure you're in the project root directory where your .csproj file is located.
3. Run the command `dotnet add package Syncfusion.Maui.SmartComponents` to install the Syncfusion<sup>®</sup> .NET MAUI Smart Scheduler NuGet package.
4. To ensure all dependencies are installed, run `dotnet restore`.

## Step 3: Register the handler

The [Syncfusion.Maui.Core](https://www.nuget.org/packages/Syncfusion.Maui.Core/) NuGet is a dependent package for all Syncfusion<sup>&reg;</sup> controls of .NET MAUI. In the **MauiProgram.cs** file, register the handler for Syncfusion<sup>&reg;</sup> core.

{% tabs %}
{% highlight C# tabtitle="MauiProgram.cs" hl_lines="1 10" %}

using Syncfusion.Maui.Core.Hosting;
namespace GettingStarted
{
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();

builder.ConfigureSyncfusionCore();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("Segoe-mdl2.ttf", "SegoeMDL2");
});

return builder.Build();
}
}
}

{% endhighlight %}
{% endtabs %}

## Step 4: Add .NET MAUI Smart Scheduler view

1. To initialize the control, import the `Syncfusion.Maui.SmartComponents` namespace into your code.
2. Initialize `SfSmartScheduler`.

{% tabs %}
{% highlight XAML hl_lines="3 5" %}

<ContentPage
. . .
xmlns:smartScheduler="clr-namespace:Syncfusion.Maui.SmartComponents;assembly=Syncfusion.Maui.SmartComponents">

<smartScheduler:SfSmartScheduler />
</ContentPage>

{% endhighlight %}
{% highlight C# hl_lines="1 9 10" %}

using Syncfusion.Maui.SmartComponents;
. . .

public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
SfSmartScheduler smartScheduler = new SfSmartScheduler();
this.Content = smartScheduler;
}
}

{% endhighlight %}
{% endtabs %}
29 changes: 29 additions & 0 deletions MAUI/SmartScheduler/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
layout: post
title: About .NET MAUI Smart Scheduler control | Syncfusion
description: Learn here all about introduction of Syncfusion .NET MAUI Smart Scheduler(SfSmartScheduler) control.
platform: maui
control: SfSmartScheduler
documentation: ug
keywords : .net maui smartScheduler, maui smart scheduler, ai scheduling, natural language scheduling, resource-aware booking, free time finder, appointment summarization.
---

# Overview of .NET MAUI Smart Scheduler (SfSmartScheduler)

The Syncfusion<sup>&reg;</sup> .NET MAUI Smart Scheduler (SfSmartScheduler) combines the power of the Scheduler with AI-driven intent understanding. Users can create, update, delete, and explore appointments using plain language—reducing clicks and turning scheduling into a conversation. It respects current view context, resources, and availability, and can detect conflicts, find free time, and summarize schedules.

## Key features

* **Natural-language CRUD:** Create, update, and delete appointments by typing what you want. The SmartScheduler understands time, date, subject, recurrence, and even resource references without requiring structured forms.

* **Resource-aware booking:** Book rooms, equipment, or people while respecting their availability and the scheduler’s current filters. When a requested resource is unavailable, the control can suggest alternatives or adjacent time slots.

* **Conflict detection:** Instantly detect overlapping appointments for selected dates, ranges, or resources. The smart scheduler can highlight conflicts and propose resolutions (e.g., reschedule, reassign, or extend buffer times)()

* **Smart summarization:** Generate concise summaries for upcoming or selected appointments, helping users understand what’s next at a glance (e.g., “Summarize my meetings tomorrow”).

* **Adaptive assist panel:** The assist view opens in compact or expanded layouts with configurable height and width, providing a comfortable experience on phone, tablet, and desktop.

* **Assist access button:** The assist button can be enabled or disabled and replaced with a custom data template to match the app’s design.

* **Event Support:** Users can choose whether appointment changes are applied automatically by the Smart Scheduler or handled manually using events.
79 changes: 79 additions & 0 deletions MAUI/SmartScheduler/working-with-smart-scheduler.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
layout: post
title: Working with .NET MAUI Smart Scheduler control | Syncfusion®
description: Working with Syncfusion<sup>&reg;</sup> .NET MAUI Smart Scheduler(SfSmartScheduler) control.
platform: maui
control: SfSmartScheduler
documentation: ug
keywords : .net maui smart scheduler
---

# Working with .NET MAUI Smart Scheduler (SfSmartScheduler)

## Enable assist button

The `.NET MAUI Smart Scheduler` assist button interaction can be enabled or disabled by setting the `EnableAssistButton` property of the `SfSmartScheduler` control. By default, the `EnableAssistButton` property is set to true.

{% tabs %}
{% highlight XAML hl_lines="2" %}

<smartScheduler:SfSmartScheduler x:Name="Scheduler" EnableAssistButton="False"/>

{% endhighlight %}
{% highlight C# hl_lines="3" %}

SfSmartScheduler scheduler = new SfSmartScheduler();
smartScheduler.EnableAssistButton = false;
this.Content = scheduler;

{% endhighlight %}
{% endtabs %}

## Customize assist button appearance using DataTemplate

The assist button appearance can be customized by using the `AssistButtonTemplate` property of `SfSmartScheduler` control.

{% tabs %}
{% highlight xaml tabtitle="MainPage.xaml" hl_lines="3 4 5 6 7 8 9 10 11 12 13" %}

<smartScheduler:SfSmartScheduler x:Name="Scheduler">
<smartScheduler:SfSmartScheduler.AssistButtonTemplate>
<DataTemplate>
<Grid BackgroundColor="#6750A4">
<Label Text="AI"
FontAttributes="Bold"
TextColor="#FFFFFF"
VerticalOptions="Center"
HorizontalOptions="Center" />
</Grid>
</DataTemplate>
</smartScheduler:SfSmartScheduler.AssistButtonTemplate>
</scheduler:SfSmartScheduler>

{% endhighlight %}
{% highlight c# tabtitle="MainPage.xaml.cs" %}

SfSmartScheduler smartScheduler = new SfSmartScheduler();
smartScheduler.AssistButtonTemplate = new DataTemplate(() =>
{
var grid = new Grid
{
BackgroundColor = Color.FromArgb("#6750A4")
};

var label = new Label
{
Text = "AI",
FontAttributes = FontAttributes.Bold,
TextColor = Color.FromArgb("#FFFFFF"),
HorizontalOptions = LayoutOptions.Center,
VerticalOptions = LayoutOptions.Center
};

grid.Add(label);
return grid;
});
this.Content = smartScheduler;

{% endhighlight %}
{% endtabs %}
Loading