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
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 } ] }