// ----------------------------- // REQUEST // ----------------------------- export type YandexPvzPaymentMethod = 'already_paid' export interface YandexPvzCoordinateRange { from: number to: number } export interface YandexPvzPickupServicesRequest { is_fitting_allowed: boolean is_partial_refuse_allowed: boolean is_paperless_pickup_allowed: boolean is_unboxing_allowed: boolean } export interface YandexPvzRequest { pickup_point_ids?: string[] geo_id?: number longitude?: YandexPvzCoordinateRange latitude?: YandexPvzCoordinateRange type?: 'pickup_point' payment_method?: YandexPvzPaymentMethod available_for_dropoff?: boolean is_yandex_branded?: boolean is_not_branded_partner_station?: boolean is_post_office?: boolean payment_methods?: YandexPvzPaymentMethod[] pickup_services?: YandexPvzPickupServicesRequest } // ----------------------------- // RESPONSE // ----------------------------- export interface YandexPvzPosition { latitude: number longitude: number } export interface YandexPvzAddress { geoId: string country: string region: string subRegion: string locality: string street: string house: string housing: string apartment: string building: string comment: string full_address: string postal_code: string } export interface YandexPvzContact { first_name: string last_name: string patronymic: string phone: string email: string } export interface YandexPvzTimeObject { hours: number minutes: number } export interface YandexPvzScheduleRestriction { days: number[] time_from: YandexPvzTimeObject time_to: YandexPvzTimeObject } export interface YandexPvzSchedule { time_zone: number restrictions: YandexPvzScheduleRestriction[] } export interface YandexPvzPickupServices { is_fitting_allowed: boolean is_partial_refuse_allowed: boolean is_paperless_pickup_allowed: boolean is_unboxing_allowed: boolean } export interface YandexPvzDayoff { date: string date_utc: string } export interface YandexPvzDeactivation { deactivation_date_predicted_debt: boolean available_for_dropoff: boolean available_for_c2c_dropoff: boolean } export interface YandexPvzPoint { ID: string operator_station_id: string name: string type: 'pickup_point' position: YandexPvzPosition address: YandexPvzAddress instruction: string payment_methods: YandexPvzPaymentMethod[] contact: YandexPvzContact schedule: YandexPvzSchedule is_yandex_branded: boolean is_market_partner: boolean is_dark_store: boolean is_post_office: boolean pickup_services: YandexPvzPickupServices deactivation_date: YandexPvzDeactivation dayoffs: YandexPvzDayoff[] } export interface YandexPvzResponse { points: YandexPvzPoint[] }