Host

<back to all web services

MedicalCategoriesRequest

The following routes are available for this service:
GET/Doctorbrowser/Category/GetMedicalCategories
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DoctorListingDto:
    id: int = 0
    doc_id: int = 0
    user_name: Optional[str] = None
    first_name: Optional[str] = None
    first_name_ar: Optional[str] = None
    last_name: Optional[str] = None
    last_name_ar: Optional[str] = None
    specialty_title_en: Optional[str] = None
    specialty_title_ar: Optional[str] = None
    specialty_title_tr: Optional[str] = None
    country_name_en: Optional[str] = None
    country_name_ar: Optional[str] = None
    country_name_tr: Optional[str] = None
    country_name: Optional[str] = None
    city_city_name_en: Optional[str] = None
    city_city_name_ar: Optional[str] = None
    city_city_name_tr: Optional[str] = None
    title: Optional[str] = None
    title_en: Optional[str] = None
    location_country_id: Optional[int] = None
    location_city_id: int = 0
    classification_id: int = 0
    classification_title_ar: Optional[str] = None
    classification_title_en: Optional[str] = None
    classification_title_tr: Optional[str] = None
    rating: int = 0
    profile_pic: Optional[str] = None
    profile_pic_thumbnail: Optional[str] = None
    is_premium: bool = False
    primary_specialty_id: int = 0
    availability_id: int = 0
    availability_accepts_new_consults: bool = False
    availability_flag_with_online_icon: bool = False
    availability_status_color: Optional[str] = None
    availability_status_title_doctor_en: Optional[str] = None
    availability_status_title_doctor_ar: Optional[str] = None
    availability_status_title_doctor_tr: Optional[str] = None
    availability_status_title_user_en: Optional[str] = None
    availability_status_title_user_ar: Optional[str] = None
    availability_status_title_user_tr: Optional[str] = None
    designate_as_doctor: bool = False
    last_login_attempt: Optional[str] = None
    featured: Optional[bool] = None
    country_culture_name: Optional[str] = None
    specialty_title: Optional[str] = None
    country_country_name_en: Optional[str] = None
    country_country_name_ar: Optional[str] = None
    availability_status_title_doctor: Optional[str] = None
    availability_status_title_user: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MedicalSpecialtyDto:
    id: int = 0
    title_ar: Optional[str] = None
    title_en: Optional[str] = None
    title_tr: Optional[str] = None
    code: Optional[str] = None
    parent_id: int = 0
    title: Optional[str] = None
    category_id: int = 0
    web_slug_name: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MedicalCategoryDto:
    id: int = 0
    order: int = 0
    icon: Optional[str] = None
    title_ar: Optional[str] = None
    title_en: Optional[str] = None
    title_tr: Optional[str] = None
    description: Optional[str] = None
    description_en: Optional[str] = None
    description_ar: Optional[str] = None
    description_tr: Optional[str] = None
    doctors: List[DoctorListingDto] = field(default_factory=list)
    slug: Optional[str] = None
    category_logo: Optional[str] = None
    category_logo_thumbnail: Optional[str] = None
    title: Optional[str] = None
    specialties: Optional[IList[MedicalSpecialtyDto]] = None
    web_slug_name: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MedicalCategoriesResponse:
    total_records: int = 0
    medical_categories: List[MedicalCategoryDto] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MedicalCategoriesRequest:
    category_id: Optional[int] = None
    slug: Optional[str] = None
    start_from: Optional[int] = None
    limit: Optional[int] = None
    culture: Optional[str] = None

Python MedicalCategoriesRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /Doctorbrowser/Category/GetMedicalCategories HTTP/1.1 
Host: api-demo-1.cura.healthcare 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	totalRecords: 0,
	MedicalCategories: 
	[
		{
			Id: 0,
			Order: 0,
			Icon: String,
			Title_ar: String,
			Title_en: String,
			Title_tr: String,
			Description: String,
			Description_en: String,
			Description_ar: String,
			Description_tr: String,
			Doctors: 
			[
				{
					Id: 0,
					DocId: 0,
					UserName: String,
					FirstName: String,
					FirstName_ar: String,
					LastName: String,
					LastName_ar: String,
					SpecialtyTitle_en: String,
					SpecialtyTitle_ar: String,
					SpecialtyTitle_tr: String,
					CountryName_en: String,
					CountryName_ar: String,
					CountryName_tr: String,
					CountryName: String,
					CityCityName_en: String,
					CityCityName_ar: String,
					CityCityName_tr: String,
					Title: String,
					Title_en: String,
					LocationCountryId: 0,
					LocationCityId: 0,
					ClassificationId: 0,
					ClassificationTitle_ar: String,
					ClassificationTitle_en: String,
					ClassificationTitle_tr: String,
					Rating: 0,
					ProfilePic: String,
					ProfilePicThumbnail: String,
					isPremium: False,
					PrimarySpecialtyId: 0,
					AvailabilityId: 0,
					AvailabilityAcceptsNewConsults: False,
					AvailabilityFlagWithOnlineIcon: False,
					AvailabilityStatusColor: String,
					AvailabilityStatusTitleDoctor_en: String,
					AvailabilityStatusTitleDoctor_ar: String,
					AvailabilityStatusTitleDoctor_tr: String,
					AvailabilityStatusTitleUser_en: String,
					AvailabilityStatusTitleUser_ar: String,
					AvailabilityStatusTitleUser_tr: String,
					DesignateAsDoctor: False,
					LastLoginAttempt: String,
					Featured: False,
					CountryCultureName: String,
					SpecialtyTitle: String,
					CountryCountryName_en: String,
					CountryCountryName_ar: String,
					AvailabilityStatusTitleDoctor: String,
					AvailabilityStatusTitleUser: String
				}
			],
			Slug: String,
			CategoryLogo: String,
			CategoryLogoThumbnail: String,
			Title: String,
			WebSlugName: String
		}
	]
}