{"id":23061435,"url":"https://github.com/syncfusionexamples/appointment-json-online-schedule-xamarin","last_synced_at":"2026-05-09T15:07:46.888Z","repository":{"id":98094558,"uuid":"294613867","full_name":"SyncfusionExamples/appointment-json-online-schedule-xamarin","owner":"SyncfusionExamples","description":"This repository contains a sample on How to bind JSON online data to the Syncfusion Xamarin.Forms Schedule (SfSchedule) control?","archived":false,"fork":false,"pushed_at":"2024-05-29T06:14:09.000Z","size":2025,"stargazers_count":0,"open_issues_count":4,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-08T20:48:10.116Z","etag":null,"topics":["appointments","datasource","events","json","json-data","meetings","online-data","schedule","scheduler","sfschedule","xamarin","xamarin-forms"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SyncfusionExamples.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-11T06:33:26.000Z","updated_at":"2024-05-29T06:14:13.000Z","dependencies_parsed_at":"2025-02-08T20:45:37.447Z","dependency_job_id":"fee3c64b-67bf-4e9a-9f8c-94a26153bc9b","html_url":"https://github.com/SyncfusionExamples/appointment-json-online-schedule-xamarin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyncfusionExamples%2Fappointment-json-online-schedule-xamarin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyncfusionExamples%2Fappointment-json-online-schedule-xamarin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyncfusionExamples%2Fappointment-json-online-schedule-xamarin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyncfusionExamples%2Fappointment-json-online-schedule-xamarin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SyncfusionExamples","download_url":"https://codeload.github.com/SyncfusionExamples/appointment-json-online-schedule-xamarin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246952281,"owners_count":20859813,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appointments","datasource","events","json","json-data","meetings","online-data","schedule","scheduler","sfschedule","xamarin","xamarin-forms"],"created_at":"2024-12-16T03:17:29.468Z","updated_at":"2026-05-09T15:07:46.853Z","avatar_url":"https://github.com/SyncfusionExamples.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# How to bind JSON online data to Xamarin.Forms Schedule (SfSchedule) \n\nYou can bind data from [JSON](http://www.json.org/) to the Xamarin forms [SfSchedule](https://help.syncfusion.com/xamarin/scheduler/getting-started) appointments.\n\nYou can also refer the following article.\n\nhttps://www.syncfusion.com/kb/11931/how-to-bind-json-online-data-to-xamarin-forms-schedule-sfschedule\n\n**STEP 1:** Create a JSON data model\n\n``` C#\npublic class JSONData\n{\n    public string Subject { get; set; }\n    public string StartTime { get; set; }\n    public string EndTime { get; set; }\n}\n```\n**STEP 2:** Get the online JSON data with the help of [GetStringAsync](https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient.getstringasync?view=netcore-3.1#System_Net_Http_HttpClient_GetStringAsync_System_Uri_) method and [Deserialize](https://www.newtonsoft.com/json/help/html/DeserializeObject.htm) the JSON data as list of JSON data mode and then Add the JSON data list into the appointment collection ( **Meetings** ).\n\n``` C#\nprivate async void GetInformation()\n{\n    var httpClient = new HttpClient();\n    var response = await httpClient.GetStringAsync(\"https://js.syncfusion.com/demos/ejservices/api/Schedule/LoadData\");\n    jsonDataCollection = JsonConvert.DeserializeObject\u003cList\u003cJSONData\u003e\u003e(response);\n    this.Meetings = new ObservableCollection\u003cMeeting\u003e();\n    foreach (var data in jsonDataCollection)\n    {\n        Meetings.Add(new Meeting()\n        {\n            EventName = data.Subject,\n            From = Convert.ToDateTime(data.StartTime),\n            To = Convert.ToDateTime(data.EndTime),\n            Color = Color.Red\n        });\n    }\n}\n```\n**STEP 3:** Bind appointments that collected through **JSON** online it to a schedule using the [SfSchedule.DataSource](https://help.syncfusion.com/cr/xamarin/Syncfusion.SfSchedule.XForms.SfSchedule.html#Syncfusion_SfSchedule_XForms_SfSchedule_DataSource) property.\n\n``` xml\n\u003cschedule:SfSchedule x:Name=\"Schedule\"\n                    DataSource=\"{Binding Meetings}\"\n                    ScheduleView=\"MonthView\" MoveToDate=\"{Binding dateTime}\" ShowAppointmentsInline=\"True\"\n                    \u003e\n    \u003cschedule:SfSchedule.AppointmentMapping\u003e\n        \u003cschedule:ScheduleAppointmentMapping\n        EndTimeMapping=\"To\"\n        StartTimeMapping=\"From\"\n        SubjectMapping=\"EventName\"\n        ColorMapping=\"Color\"\n        /\u003e\n    \u003c/schedule:SfSchedule.AppointmentMapping\u003e\n    \u003cschedule:SfSchedule.BindingContext\u003e\n        \u003clocal:SchedulerViewModel/\u003e\n    \u003c/schedule:SfSchedule.BindingContext\u003e\n\u003c/schedule:SfSchedule\u003e\n```\n\n**Output**\n\n![JSONSchedule](https://github.com/SyncfusionExamples/appointment-json-online-schedule-xamarin/blob/master/ScreenShot/JSONSchedule.gif)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyncfusionexamples%2Fappointment-json-online-schedule-xamarin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyncfusionexamples%2Fappointment-json-online-schedule-xamarin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyncfusionexamples%2Fappointment-json-online-schedule-xamarin/lists"}