using System.Collections.Generic;
public int Id { get; set; }
public int CalendarId { get; set; }
public string PublicId { get; set; }
public class ServiceGroup
public string Id { get; set; }
public List<string> Types { get; set; }
public List<Service> Services { get; set; }
public Names Names { get; set; }
public string English { get; set; }
public string Name { get; set; }
public string Value { get; set; }
public List<ServiceGroup> ServicesGroups { get; set; } = new List<ServiceGroup> ();
string jsonResponse = @"{
""name"": ""servicesGroups"",
{\""id\"":\""ServiceGroup1\"",\""types\"":[\""books\""],\""services\"":[{\""id\"":2,\""calendarId\"":2,\""publicId\"":\""1234567890\""},{\""id\"":1,\""calendarId\"":1,\""publicId\"":\""0987654321\""}],\""names\"":{\""en\"":\""Service Group1\""}},
{\""id\"":\""ServiceGroup2\"",\""types\"":[\""books\""],\""services\"":[{\""id\"":2,\""calendarId\"":2,\""publicId\"":\""7575637576457457567\""} ,{\""id\"":1,\""calendarId\"":1,\""publicId\"":\""2143658709\""}],\""names\"":{\""en\"":\""ServiceGroup2\""}}
ApiResponse apiResponse = JsonConvert.DeserializeObject<ApiResponse>(jsonResponse);
Console.WriteLine($"Name: {apiResponse.Name}");
Console.WriteLine($"Value: {apiResponse.Value}");
foreach (var serviceGroup in apiResponse.ServicesGroups)
Console.WriteLine($"ServiceGroup ID: {serviceGroup.Id}, English Name: {serviceGroup.Names?.English}");
foreach (var service in serviceGroup.Services)
Console.WriteLine($" Service ID: {service.Id}, Calendar ID: {service.CalendarId}, Public ID: {service.PublicId}");