Add new Hcs.Broker to communicate with ГИС ЖКХ via CryptoPro LibCore

This commit is contained in:
2025-09-28 15:45:15 +09:00
parent 904988780a
commit 2b49320014
171 changed files with 185618 additions and 0 deletions

View File

@ -0,0 +1,239 @@
using Hcs.Broker.Api.Registry;
using Hcs.Broker.Api.Type;
namespace Hcs.Broker.Api.Payload.Bills
{
// http://open-gkh.ru/Bills/importPaymentDocumentRequest.html
public class ImportPaymentDocumentDataPayload
{
// http://open-gkh.ru/Bills/importPaymentDocumentRequest/PaymentInformation.html
public class PaymentInformation
{
/// <summary>
/// БИК банка получателя
/// </summary>
public string bankBIK;
/// <summary>
/// Номер расчетного счета
/// </summary>
public string operatingAccountNumber;
}
/// <summary>
/// Начисление по услуге
/// </summary>
// http://open-gkh.ru/Bills/PaymentDocumentType/ChargeInfo.html
public interface IChargeInfo { }
/// <summary>
/// Главная коммунальная услуга
/// </summary>
// http://open-gkh.ru/Bills/PDServiceChargeType/MunicipalService.html
public class MunicipalService : IChargeInfo
{
/// <summary>
/// Необязательное. Перерасчеты, корректировки, руб.
/// </summary>
public decimal? moneyRecalculation;
/// <summary>
/// Необязательное. Льготы, субсидии, скидки, руб.
/// </summary>
public decimal? moneyDiscount;
/// <summary>
/// Необязательное. Норматив потребления коммунальных ресурсов в целях использования и содержания
/// общего имущества в многоквартирном доме.
/// </summary>
public decimal? houseOverallNeedsNorm;
/// <summary>
/// Необязательное. Норматив потребления коммунальных услуг.
/// </summary>
public decimal? individualConsumptionNorm;
/// <summary>
/// Необязательное. Текущие показания приборов учёта коммунальных ресурсов - индивидуальных
/// (квартирных).
/// </summary>
public decimal? individualConsumptionCurrentValue;
/// <summary>
/// Необязательное. Текущие показания приборов учёта коммунальных ресурсов - коллективных (общедомовых).
/// </summary>
public decimal? houseOverallNeedsCurrentValue;
/// <summary>
/// Необязательное. Суммарный объём коммунальных ресурсов в многоквартирном доме - в помещениях дома.
/// </summary>
public decimal? houseTotalIndividualConsumption;
/// <summary>
/// Необязательное. Суммарный объём коммунальных ресурсов в многоквартирном доме - в целях содержания
/// общего имущества в многоквартирном доме.
/// </summary>
public decimal? houseTotalHouseOverallNeeds;
/// <summary>
/// Необязательное. Способ определения объема коммунальных ресурсов при индивидуальном потреблении.
/// </summary>
public MunicipalServiceVolumeDeterminingMethod? individualConsumptionVolumeDeterminingMethod;
/// <summary>
/// Необязательное. Объем/площадь/кол-во коммунальных ресурсов при индивидуальном потреблении.
/// </summary>
public decimal? individualConsumptionVolumeValue;
/// <summary>
/// Необязательное. Способ определения объема коммунальных ресурсов при содержании общего имущества.
/// </summary>
public MunicipalServiceVolumeDeterminingMethod? overallConsumptionVolumeDeterminingMethod;
/// <summary>
/// Необязательное. Объем/площадь/кол-во коммунальных ресурсов при содержании общего имущества.
/// </summary>
public decimal? overallConsumptionVolumeValue;
/// <summary>
/// Необязательное. Размер повышающего коэффициента.
/// </summary>
public decimal? multiplyingFactorRatio;
/// <summary>
/// Необязательное. Размер превышения платы, рассчитанной с применением повышающего коэффициента над
/// размером платы, рассчитанной без учета повышающего коэффициента, руб.
/// </summary>
public decimal? amountOfExcessFees;
/// <summary>
/// К оплате за индивидуальное потребление коммунальной услуги, руб.
/// </summary>
public decimal? municipalServiceIndividualConsumptionPayable;
/// <summary>
/// К оплате за общедомовое потребление коммунальной услуги, руб.
/// </summary>
public decimal? municipalServiceCommunalConsumptionPayable;
/// <summary>
/// Необязательное. Размер платы за коммунальные услуги, индивидуальное потребление.
/// </summary>
public decimal? amountOfPaymentMunicipalServiceIndividualConsumption;
/// <summary>
/// Необязательное. Размер платы за коммунальные услуги, общедомовые нужды.
/// </summary>
public decimal? amountOfPaymentMunicipalServiceCommunalConsumption;
/// <summary>
/// Код услуги из справочника "Вид коммунальной услуги" НСИ 3
/// </summary>
public RegistryElement serviceType;
/// <summary>
/// Тариф/Размер платы на кв.м, руб./Размер взноса на кв.м, руб.
/// </summary>
public decimal rate;
/// <summary>
/// К оплате за расчетный период, руб.
/// </summary>
public decimal totalPayable;
/// <summary>
/// Необязательное. Начислено за расчетный период (без перерасчетов и льгот), руб.
/// </summary>
public decimal? accountingPeriodTotal;
}
// http://open-gkh.ru/Bills/importPaymentDocumentRequest/PaymentDocument.html
public class PaymentDocument
{
/// <summary>
/// Платежный реквизит
/// </summary>
public PaymentInformation paymentInformation;
/// <summary>
/// Идентификатор лицевого счета
/// </summary>
public string accountGuid;
/// <summary>
/// Необязательное. Номер платежного документа, по которому внесена плата, присвоенный такому
/// документу исполнителем в целях осуществления расчетов по внесению платы
/// </summary>
public string paymentDocumentNumber;
/// <summary>
/// Начисления по услугам
/// </summary>
public List<IChargeInfo> chargeInfo;
/// <summary>
/// Если true, то выставлен на оплату, иначе - отозван
/// </summary>
public bool exposeNotWithdraw;
/// <summary>
/// Необязательное. Задолженность за предыдущие периоды, руб.
/// </summary>
public decimal? debtPreviousPeriods;
/// <summary>
/// Необязательное. Аванс на начало расчетного периода, руб.
/// </summary>
public decimal? advanceBllingPeriod;
/// <summary>
/// Необязательное. Итого к оплате за расчетный период c учетом задолженности/переплаты, руб.
/// (по всему платежному документу)
/// </summary>
public decimal? totalPayableByPDWithDebtAndAdvance;
/// <summary>
/// Необязательное. Сумма к оплате за расчетный период, руб. (по всему платежному документу).
/// </summary>
public decimal? totalPayableByPD;
/// <summary>
/// Необязательное. Оплачено денежных средств, руб.
/// </summary>
public decimal? paidCash;
/// <summary>
/// Необязательное. Дата последней поступившей оплаты
/// </summary>
public DateTime? dateOfLastReceivedPayment;
}
/// <summary>
/// Необязательное. Если true, то передаваемые данные платежных документов, следует считать верными,
/// даже если они отличаются от автоматически рассчитанных системой значений. В том случае, если параметр
/// не заполнен, то ГИС ЖХК будет проводить автоматическую проверку рассчитываемых сумм по ПД.
/// </summary>
public bool confirmAmountsCorrect;
/// <summary>
/// Месяц расчетного периода платежного документа
/// </summary>
public int month;
/// <summary>
/// Год расчетного периода платежного документа
/// </summary>
public short year;
/// <summary>
/// Сведения о платежных реквизитах получателя платежа - бизнес-ключ поиска размещенных платежных
/// реквизитов в ГИС ЖКХ
/// </summary>
public PaymentInformation[] paymentInformation;
/// <summary>
/// Размещаемый платежный документ. Максимум 500.
/// </summary>
public PaymentDocument[] paymentDocument;
}
}

View File

@ -0,0 +1,90 @@
using Hcs.Broker.Api.Registry;
namespace Hcs.Broker.Api.Payload.DeviceMetering
{
// http://open-gkh.ru/DeviceMetering/exportMeteringDeviceHistoryRequest.html
public class ExportMeteringDeviceHistoryPayload
{
/// <summary>
/// Необязательное. Список из уникальных идентификаторов домов по ФИАС, в которых установлены ПУ
/// пользователей. Если не указано, то будут экспортироваться данные по всем ПУ пользователей.
/// </summary>
public string[] fiasHouseGuid;
/// <summary>
/// Выборочное. Выбор между <see cref="meteringDeviceType"/>, <see cref="municipalResource"/> и
/// <see cref="meteringDeviceRootGUID"/>. Тип прибора учета (НСИ 27). Максимум 100 по выбранным.
/// </summary>
public RegistryElement[] meteringDeviceType;
/// <summary>
/// Выборочное. Выбор между <see cref="meteringDeviceType"/>, <see cref="municipalResource"/> и
/// <see cref="meteringDeviceRootGUID"/>. Вид коммунального ресурса (НСИ 2). Максимум 100 по выбранным.
/// </summary>
public RegistryElement[] municipalResource;
/// <summary>
/// Выборочное. Выбор между <see cref="meteringDeviceType"/>, <see cref="municipalResource"/> и
/// <see cref="meteringDeviceRootGUID"/>. Идентификатор ПУ. Максимум 100 по выбранным.
/// </summary>
public string[] meteringDeviceRootGUID;
/// <summary>
/// Необязательное. Дата ввода в эксплуатацию "С".
/// </summary>
public DateTime? commissioningDateFrom;
/// <summary>
/// Необязательное. Дата ввода в эксплуатацию "П".
/// </summary>
public DateTime? сommissioningDateTo;
/// <summary>
/// Необязательное. Выгружать архивированные или нет.
/// </summary>
public bool? serchArchived;
/// <summary>
/// Необязательное. Дата архивации "С".
/// </summary>
public DateTime? archiveDateFrom;
/// <summary>
/// Необязательное. Дата архивации "По".
/// </summary>
public DateTime? archiveDateTo;
/// <summary>
/// Необязательное. Дата начала периода, за который выгружаются показания и поверки ПУ (по дате
/// снятия показаний). Период выгрузки показаний ПУ (определяемый элементами <see cref="inputDateFrom"/>
/// и <see cref="inputDateTo"/>) не должен выходить за пределы двух последовательных календарных месяцев.
/// </summary>
public DateTime? inputDateFrom;
/// <summary>
/// Необязательное. Дата окончания периода, за который выгружаются показания и поверки ПУ (по дате
/// снятия показаний). Период выгрузки показаний ПУ (определяемый элементами <see cref="inputDateFrom"/>
/// и <see cref="inputDateTo"/>) не должен выходить за пределы двух последовательных календарных месяцев.
/// </summary>
public DateTime? inputDateTo;
/// <summary>
/// Необязательное. Если флаг сброшен или отсутствует, то показания, введенные в систему гражданином,
/// включаются в выгрузку. Если флаг установлен, то такие показания в выгрузку не включаются.
/// </summary>
public bool? excludePersonAsDataSource;
/// <summary>
/// Необязательное. Если флаг сброшен или отсутствует, то показания, введенные в систему текущей
/// организацией, включаются в выгрузку. Если флаг установлен, то такие показания в выгрузку не включаются.
/// </summary>
public bool? excludeCurrentOrgAsDataSource;
/// <summary>
/// Необязательное. Если флаг сброшен или отсутствует, то показания, введенные в систему организациями
/// отличной от текущей, включаются в выгрузку. Если флаг установлен, то такие показания в выгрузку
/// не включаются.
/// </summary>
public bool? excludeOtherOrgAsDataSource;
}
}

View File

@ -0,0 +1,97 @@
using Hcs.Service.Async.HouseManagement;
namespace Hcs.Broker.Api.Payload.HouseManagement
{
// http://open-gkh.ru/HouseManagement/importAccountRequest/Account.html
public class ImportAccountDataPayload
{
/// <summary>
/// Тип лицевого счета
/// </summary>
public enum AccountType
{
/// <summary>
/// Лицевой счет для оплаты за жилое помещение и коммунальные услуги
/// </summary>
UO,
/// <summary>
/// Лицевой счет для оплаты за коммунальные услуги
/// </summary>
RSO,
/// <summary>
/// Лицевой счет для оплаты капитального ремонта
/// </summary>
CR,
/// <summary>
/// Лицевой счет РКЦ
/// </summary>
RC,
/// <summary>
/// Лицевой счет ОГВ/ОМС
/// </summary>
OGVorOMS,
/// <summary>
/// Лицевой счет ТКО
/// </summary>
TKO
}
/// <summary>
/// Необязательное. Номер лицевого счета или иной идентификатор плательщика. Максимум 30 символов.
/// </summary>
public string accountNumber;
/// <summary>
/// Необязательное. Идентификатор ЛС в ГИС ЖКХ (при обновлении данных ЛС).
/// </summary>
public string accountGUID;
/// <summary>
/// Необязательное. Конкретизация оснований ЛС (договоров ресурсоснабжения, договоров социального найма,
/// договоров по обращению с ТКО).
/// </summary>
public AccountReasonsImportType accountReasons;
/// <summary>
/// Тип лицевого счета
/// </summary>
public AccountType accountType;
/// <summary>
/// Необязательное. Количество проживающих, не больше 9999.
/// </summary>
public uint? livingPersonsNumber;
/// <summary>
/// Необязательное. Общая площадь для ЛС. Не более 4 цифр после целой.
/// </summary>
public decimal? totalSquare;
/// <summary>
/// Необязательное. Жилая площадь. Не более 4 цифр после целой.
/// </summary>
public decimal? residentialSquare;
/// <summary>
/// Необязательное. Отапливаемая площадь. Не более 4 цифр после целой.
/// </summary>
public decimal? heatedArea;
// TODO: Добавить причину закрытия лицевого счета
/// <summary>
/// Помещения
/// </summary>
public AccountTypeAccommodation[] accomodations;
/// <summary>
/// Сведения о платильщике
/// </summary>
public AccountTypePayerInfo payerInfo;
}
}

View File

@ -0,0 +1,68 @@
using Hcs.Broker.Api.Registry;
using Hcs.Service.Async.HouseManagement;
namespace Hcs.Broker.Api.Payload.HouseManagement
{
public class ImportContractDataPayload
{
// TODO: LicenseRequest
/// <summary>
/// Объекты управления
/// </summary>
public importContractRequestContractPlacingContractContractObject[] contractObjects;
/// <summary>
/// Номер документа
/// </summary>
public string docNum;
/// <summary>
/// Дата заключения
/// </summary>
public DateTime signingDate;
/// <summary>
/// Дата вступления в силу
/// </summary>
public DateTime effectiveDate;
/// <summary>
/// Планируемая дата окончания
/// </summary>
public DateTime planDateComptetion;
// TODO: Вторая сторона договора
// TODO: Protocol
/// <summary>
/// Ссылка на НСИ "Основание заключения договора" (реестровый номер 58)
/// </summary>
public RegistryElement contractBase;
/// <summary>
/// Сведения о сроках
/// </summary>
public DateDetailsType dateDetailsType;
/// <summary>
/// Договор на управление и приложения
/// </summary>
public AttachmentType[] contractAttachment;
// TODO: AgreementAttachment
// TODO: SignedOwners
// TODO: CommissioningPermitAgreement
// TODO: Charter
// TODO: LocalGovernmentDecision
// TODO: RegistryDecisionID
// TODO: AutomaticRollOverOneYear
}
}

View File

@ -0,0 +1,94 @@
using Hcs.Broker.Api.Registry;
using Hcs.Service.Async.HouseManagement;
namespace Hcs.Broker.Api.Payload.HouseManagement
{
// http://open-gkh.ru/HouseManagement/importHouseUORequest/LivingHouse/LivingHouseToCreate.html
// http://open-gkh.ru/HouseManagement/HouseBasicUOType.html
public class ImportLivingHouseUODataPayload
{
/// <summary>
/// Глобальный уникальный идентификатор дома по ФИАС
/// </summary>
public Guid fiasHouseGuid;
/// <summary>
/// Общая площадь здания
/// </summary>
public decimal totalSquare;
/// <summary>
/// Состояние (НСИ 24)
/// </summary>
public RegistryElement state;
/// <summary>
/// Необязательное. Стадия жизненного цикла (НСИ 338).
/// </summary>
public RegistryElement lifeCycleStage;
/// <summary>
/// Год ввода в эксплуатацию. До 2215 включительно.
/// </summary>
public short usedYear;
/// <summary>
/// Количество этажей. До 999 включительно.
/// </summary>
public int floorCount;
/// <summary>
/// Необязательное. ОКТМО (обязательное для всех территорий, за исключением города и космодрома
/// "Байконур"). Значение из ФИАС при наличии.
/// </summary>
public OKTMORefType oktmo;
/// <summary>
/// Часовая зона. Справочник 32.
/// </summary>
public RegistryElement olsonTZ;
/// <summary>
/// Наличие у дома статуса объекта культурного наследия
/// </summary>
public bool culturalHeritage;
/// <summary>
/// Необязательное. Данные ОЖФ
/// </summary>
public OGFData[] ogfData;
/// <summary>
/// Необязательное. Дом находится в муниципальной собственности и в полном объеме используется
/// в качестве общежития. Принимает только false.
/// </summary>
public bool isMunicipalProperty;
/// <summary>
/// Необязательное. Дом находится в собственности субъекта Российской Федерации и в полном объеме
/// используется в качестве общежития. Принимает только false.
/// </summary>
public bool isRegionProperty;
/// <summary>
/// Кадастровый номер
/// </summary>
public string cadastralNumber;
/// <summary>
/// Условный номер. При указании в ГИС ЖКХ осуществляется привязка к ЕГРП (поиск в ЕГРП выполняется
/// по условному номеру).
/// </summary>
public string conditionalNumber;
/// <summary>
/// Необязательное. Жилой дом блокированной застройки (если не указан - аналог false).
/// </summary>
public bool hasBlocks;
/// <summary>
/// Необязательное. Несколько жилых домов с одинаковым адресом (если не указан - аналог false)
/// </summary>
public bool hasMultipleHousesWithSameAddress;
}
}

View File

@ -0,0 +1,73 @@
using Hcs.Service.Async.HouseManagement;
namespace Hcs.Broker.Api.Payload.HouseManagement
{
// http://open-gkh.ru/HouseManagement/importNotificationRequest/notification/Create.html
public class ImportNotificationDataPayload
{
/// <summary>
/// Выборочное. Строковое представление темы, вместо ссылки на справочник. Максимальная длина
/// текста равно 200 символам.
/// </summary>
public string topic;
/// <summary>
/// Выборочное. Тема из справочника 364, заместо строкового представления темы.
/// </summary>
public nsiRef topicFromRegistry;
/// <summary>
/// Необязательное. Показывает высокую важность новости.
/// </summary>
public bool isImportant;
/// <summary>
/// Необязательное. Текст новости с максимальной длиной в 5000 символов.
/// </summary>
public string content;
/// <summary>
/// Адресаты. Подходящие типы для значения:
/// <see cref="string"/>, если это глобальный уникальный идентификатор дома по ФИАС,
/// <see cref="importNotificationRequestNotificationCreateRoomOwners"/>,
/// <see cref="RegOrgType"/> либо true, если все дома.
/// </summary>
public List<Tuple<ItemsChoiceType29, object>> destinations;
/// <summary>
/// Выборочное. Если true, то новость всегда актуальна. Иначе период актуальности берется из
/// <see cref="startDate"/> и <see cref="endDate"/>.
/// </summary>
public bool isNotLimit;
/// <summary>
/// Условное. Период актуальности "С". Обязательно задается в случае <see cref="isNotLimit"/> = false.
/// </summary>
public DateTime? startDate;
/// <summary>
/// Условное. Период актуальности "ДО". Обязательно задается в случае <see cref="isNotLimit"/> = false.
/// </summary>
public DateTime? endDate;
/// <summary>
/// Необязательное. Документы новостей.
/// </summary>
public AttachmentType[] attachment;
/// <summary>
/// Необязательное. Если true, то новость отправляется адресатам.
/// </summary>
public bool isShipOff;
/// <summary>
/// Необязательное. Признак "Для публикации в мобильном приложении".
/// </summary>
public bool isForPublishToMobileApp;
/// <summary>
/// Необязательное. Информация для новости, публикуемой в мобильном приложении.
/// </summary>
public importNotificationRequestNotificationCreateMobileAppData mobileAppData;
}
}

View File

@ -0,0 +1,211 @@
using Hcs.Service.Async.HouseManagement;
namespace Hcs.Broker.Api.Payload.HouseManagement
{
// http://open-gkh.ru/HouseManagement/SupplyResourceContractType.html
public class ImportSupplyResourceContractDataPayload
{
/// <summary>
/// Если договор не является публичным и/или присутствует заключенный на бумажном носителе
/// (электронной форме) и/или не заключен в отношении нежилых помещений в многоквартирных домах,
/// то равно true, иначе - false
/// </summary>
public bool isContract;
/// <summary>
/// Номер договора
/// </summary>
public string contractNumber;
/// <summary>
/// Дата заключения
/// </summary>
public DateTime signingDate;
/// <summary>
/// Дата вступления в силу
/// </summary>
public DateTime effectiveDate;
/// <summary>
/// Необязательное. Договор заключен на неопределенный срок или нет.
/// </summary>
public bool indefiniteTerm;
/// <summary>
/// Необязательное. Автоматически пролонгировать договор на один год при наступлении
/// даты окончания действия или нет.
/// </summary>
public bool automaticRollOverOneYear;
/// <summary>
/// Условное. Дата окончания действия. Обязательно для заполнения, если
/// <see cref="automaticRollOverOneYear"/> = true.
/// </summary>
public DateTime? comptetionDate;
/// <summary>
/// Условное. Период передачи текущих показаний по индивидуальным приборам учета. Обязателен для
/// заполнения, если поле <see cref="volumeDepends"/> = true ИЛИ если поле
/// <see cref="meteringDeviceInformation"/> = true.
/// </summary>
public SupplyResourceContractTypePeriod period;
/// <summary>
/// Необязательное. Показывает, разрешена ли гражданам передача текущих показаний по
/// индивидуальным приборам учета в любой день месяца. Заполнение возможно только если: в настройках
/// организации установлена настройка "Разрешить передачу гражданам показаний индивидуальных или общих
/// (квартирных) приборов учета в любой день месяца" ИЛИ в настройках организации установлена настройка
/// "Разрешить передачу гражданам показаний индивидуальных или общих (квартирных) приборов учета только
/// в сроки, установленные в договоре, или в любой день месяца, если в договоре установлен признак
/// "Разрешить передачу показаний приборов учета в любой день месяца" И заполнен <see cref="period"/>.
/// </summary>
public bool indicationsAnyDay;
/// <summary>
/// Необязательное. Ссылка на НСИ "Основание заключения договора" (реестровый номер 58). Значения
/// брать из <see cref="Registry.Registry58"/>.
/// </summary>
public nsiRef[] contractBase;
/// <summary>
/// Вторая сторона договора. Подходящие типы:
/// <see cref="SupplyResourceContractTypeApartmentBuildingOwner"/>,
/// <see cref="SupplyResourceContractTypeApartmentBuildingRepresentativeOwner"/>,
/// <see cref="SupplyResourceContractTypeApartmentBuildingSoleOwner"/>,
/// <see cref="SupplyResourceContractTypeLivingHouseOwner"/>,
/// <see cref="SupplyResourceContractTypeOrganization"/> либо true, если это договор оферты.
/// </summary>
public object counterparty;
/// <summary>
/// Если в договоре в наличии плановый объем и режим подачи поставки ресурсов то true, иначе - false
/// </summary>
public bool isPlannedVolume;
/// <summary>
/// Необязательное. Тип ведения планового объема и режима подачи: D - в разрезе договора,
/// O - в разрезе объектов жилищного фонда. Заполняется при наличии в договоре планового объема и
/// режима поставки ресурсов.
/// </summary>
public SupplyResourceContractTypePlannedVolumeType? plannedVolumeType;
/// <summary>
/// Предмет договора. Максимум 100 записей.
/// </summary>
public SupplyResourceContractTypeContractSubject[] contractSubject;
/// <summary>
/// Условное. Размещение информации о начислениях за коммунальные услуги осуществляет: R(SO)- РСО,
/// P(roprietor) - исполнитель коммунальных услуг. Заполняется, если порядок размещения информации
/// о начислениях за коммунальные услуги ведется в разрезе договора.
/// </summary>
public SupplyResourceContractTypeCountingResource? countingResource;
/// <summary>
/// Показатели качества коммунальных ресурсов и температурный график ведутся: D - в разрезе договора,
/// O - в разрезе объектов жилищного фонда
/// </summary>
public SupplyResourceContractTypeSpecifyingQualityIndicators specifyingQualityIndicators;
/// <summary>
/// Необязательное. Признак "Отсутствие присоединения сетей объектов жилищного фонда к централизованной
/// системе водоснабжения". Может быть указан, только если показатели качества коммунальных ресурсов
/// ведутся в разрезе договора и предмет договора включает коммунальную услугу "Холодное водоснабжение"
/// И/ИЛИ "Горячее водоснабжение".
/// </summary>
public bool noConnectionToWaterSupply;
/// <summary>
/// Условное. Данные об объекте жилищного фонда. При импорте договора должен быть добавлен как минимум
/// один адрес объекта жилищного фонда.
/// </summary>
public SupplyResourceContractTypeObjectAddress[] objectAddress;
/// <summary>
/// Необязательное. Показатель качества (содержащийся в справочнике показателей качества). Если
/// показатели указываются в разрезе договора, то ссылка на ОЖФ не заполняется. Если показатели
/// указываются в разрезе ОЖФ, то ссылка на ОЖФ обязательна.
/// </summary>
public SupplyResourceContractTypeQuality[] quality;
/// <summary>
/// Необязательное. Иной показатель качества коммунального ресурса (не содержащийся в справочнике
/// показателей качества). Если показатели указываются в разрезе договора, то ссылка на ОЖФ
/// не заполняется. Если показатели указываются в разрезе ОЖФ, то ссылка на ОЖФ обязательна.
/// </summary>
public SupplyResourceContractTypeOtherQualityIndicator[] otherQualityIndicator;
/// <summary>
/// Необязательное. Информация о температурном графике. Если показатели качества указываются в разрезе
/// договора, то ссылка на ОЖФ в данном элементе не заполняется и элемент может заполняться только если
/// в предмете договора хотя бы раз встречается ресурс "Тепловая энергия". Если показатели качества
/// указываются в разрезе ОЖФ, то ссылка на ОЖФ обязательна и элемент заполняется только если
/// в рамках ОЖФ встречается ресурс "Тепловая энергия".
/// </summary>
public SupplyResourceContractTypeTemperatureChart[] temperatureChart;
/// <summary>
/// Условное. Срок представления (выставления) платежных документов, не позднее. Является
/// обязательным, если вторая сторона договора отличается от "Управляющая организация" ИЛИ если
/// заполнено поле <see cref="meteringDeviceInformation"/>. Не заполняется, если
/// <see cref="oneTimePayment"/> = true.
/// </summary>
public SupplyResourceContractTypeBillingDate billingDate;
/// <summary>
/// Условное. Срок внесения платы, не позднее. Является обязательным, если вторая сторона договора
/// отличается от "Управляющая организация" И договор не является публичным и/или присутствует
/// заключенный на бумажном носителе или в электронной форме И в поле
/// <see cref="oneTimePayment"/> = false. Не заполняется, если <see cref="oneTimePayment"/> = true.
/// </summary>
public SupplyResourceContractTypePaymentDate paymentDate;
/// <summary>
/// Условное. Срок предоставления информации о поступивших платежах, не позднее. Является
/// обязательным, если второй стороной договора является "Управляющая организация",
/// "Размещение информации о начислениях за коммунальные услуги осуществляет" = "РСО" И
/// договор не является публичным и/или присутствует заключенный на бумажном носителе или в
/// электронной форме.
/// </summary>
public SupplyResourceContractTypeProvidingInformationDate providingInformationDate;
/// <summary>
/// Условное. Указывает на то, что размещение информации об индивидуальных приборах учета и их
/// показаниях осуществляет ресурсоснабжающая организация или нет. Обязательно для заполнения,
/// если в <see cref="countingResource"/> указано "РСО". В остальных случаях не заполняется.
/// </summary>
public bool? meteringDeviceInformation;
/// <summary>
/// Необязательное. Указывает на то, что объем поставки ресурса(ов) определяется на основании прибора
/// учета или нет. Поле не заполняется, если вторая сторона договора "Управляющая организация"
/// ИЛИ поле <see cref="oneTimePayment"/> = true.
/// </summary>
public bool? volumeDepends;
/// <summary>
/// Необязательное. Указывает на то, что оплата предоставленных услуг осуществляется ли единоразово
/// при отгрузке указанных ресурсов без заведения лицевых счетов для потребителей. Доступно
/// для заполнения, только если вторая сторона договора отлична от "Управляющая организация".
/// </summary>
public bool? oneTimePayment;
/// <summary>
/// Необязательное. Порядок размещения информации о начислениях за коммунальные услуги ведется: D - в
/// разрезе договора, O - в разрезе объектов жилищного фонда. Заполняется, если второй стороной договора
/// является исполнитель коммунальных услуг.
/// </summary>
public SupplyResourceContractTypeAccrualProcedure? accrualProcedure;
/// <summary>
/// Необязательное. Информация о применяемом тарифе.
/// </summary>
public SupplyResourceContractTypeTariff[] tariff;
/// <summary>
/// Необязательное. Информация о нормативе потребления коммунальной услуги.
/// </summary>
public SupplyResourceContractTypeNorm[] norm;
}
}

View File

@ -0,0 +1,213 @@
using Hcs.Service.Async.HouseManagement;
namespace Hcs.Broker.Api.Payload.HouseManagement
{
// http://open-gkh.ru/HouseManagement/SupplyResourceContractType.html
public class ImportSupplyResourceContractProjectPayload
{
/// <summary>
/// Если договор не является публичным и/или присутствует заключенный на бумажном носителе
/// (электронной форме) и/или не заключен в отношении нежилых помещений в многоквартирных домах,
/// то равно true, иначе - false
/// </summary>
public bool isContract;
/// <summary>
/// Номер договора
/// </summary>
public string contractNumber;
/// <summary>
/// Дата заключения
/// </summary>
public DateTime signingDate;
/// <summary>
/// Дата вступления в силу
/// </summary>
public DateTime effectiveDate;
/// <summary>
/// Необязательное. Договор заключен на неопределенный срок или нет.
/// </summary>
public bool indefiniteTerm;
/// <summary>
/// Необязательное. Автоматически пролонгировать договор на один год при наступлении
/// даты окончания действия или нет.
/// </summary>
public bool automaticRollOverOneYear;
/// <summary>
/// Условное. Дата окончания действия. Обязательно для заполнения, если
/// <see cref="automaticRollOverOneYear"/> = true.
/// </summary>
public DateTime? comptetionDate;
/// <summary>
/// Условное. Период передачи текущих показаний по индивидуальным приборам учета. Обязателен для
/// заполнения, если поле <see cref="volumeDepends"/> = true ИЛИ если поле
/// <see cref="meteringDeviceInformation"/> = true.
/// </summary>
public SupplyResourceContractProjectTypePeriod period;
/// <summary>
/// Необязательное. Показывает, разрешена ли гражданам передача текущих показаний по
/// индивидуальным приборам учета в любой день месяца. Заполнение возможно только если: в настройках
/// организации установлена настройка "Разрешить передачу гражданам показаний индивидуальных или общих
/// (квартирных) приборов учета в любой день месяца" ИЛИ в настройках организации установлена настройка
/// "Разрешить передачу гражданам показаний индивидуальных или общих (квартирных) приборов учета только
/// в сроки, установленные в договоре, или в любой день месяца, если в договоре установлен признак
/// "Разрешить передачу показаний приборов учета в любой день месяца" И заполнен <see cref="period"/>.
/// </summary>
public bool indicationsAnyDay;
/// <summary>
/// Необязательное. Ссылка на НСИ "Основание заключения договора" (реестровый номер 58). Значения
/// брать из <see cref="Registry.Registry58"/>.
/// </summary>
public nsiRef[] contractBase;
/// <summary>
/// Вторая сторона договора. Подходящие типы:
/// <see cref="SupplyResourceContractProjectTypeApartmentBuildingOwner"/>,
/// <see cref="SupplyResourceContractProjectTypeApartmentBuildingRepresentativeOwner"/>,
/// <see cref="SupplyResourceContractProjectTypeApartmentBuildingSoleOwner"/>,
/// <see cref="SupplyResourceContractProjectTypeLivingHouseOwner"/>,
/// <see cref="SupplyResourceContractProjectTypeOrganization"/> либо true, если это договор оферты.
/// </summary>
public object counterparty;
/// <summary>
/// Если в договоре в наличии плановый объем и режим подачи поставки ресурсов то true, иначе - false
/// </summary>
public bool isPlannedVolume;
/// <summary>
/// Необязательное. Тип ведения планового объема и режима подачи: D - в разрезе договора,
/// O - в разрезе объектов жилищного фонда. Заполняется при наличии в договоре планового объема и
/// режима поставки ресурсов.
/// </summary>
public SupplyResourceContractProjectTypePlannedVolumeType? plannedVolumeType;
/// <summary>
/// Предмет договора. Максимум 100 записей.
/// </summary>
public SupplyResourceContractProjectTypeContractSubject[] contractSubject;
/// <summary>
/// Условное. Размещение информации о начислениях за коммунальные услуги осуществляет: R(SO)- РСО,
/// P(roprietor) - исполнитель коммунальных услуг. Заполняется, если порядок размещения информации
/// о начислениях за коммунальные услуги ведется в разрезе договора.
/// </summary>
public SupplyResourceContractProjectTypeCountingResource? countingResource;
/// <summary>
/// Показатели качества коммунальных ресурсов и температурный график ведутся: D - в разрезе договора,
/// O - в разрезе объектов жилищного фонда
/// </summary>
public SupplyResourceContractProjectTypeSpecifyingQualityIndicators specifyingQualityIndicators;
/// <summary>
/// Необязательное. Признак "Отсутствие присоединения сетей объектов жилищного фонда к централизованной
/// системе водоснабжения". Может быть указан, только если показатели качества коммунальных ресурсов
/// ведутся в разрезе договора и предмет договора включает коммунальную услугу "Холодное водоснабжение"
/// И/ИЛИ "Горячее водоснабжение".
/// </summary>
public bool noConnectionToWaterSupply;
/// <summary>
/// Необязательное. Показатель качества (содержащийся в справочнике показателей качества). Обязательно
/// для заполнения, если показатели качества указываются в разрезе договора. Для пары КУ и КР
/// "Горячее водоснабжение" и "Питьевая вода" указываются актуальные показатели, определенные для КР
/// "Горячая вода" в справочнике показателей качества коммунальных ресурсов. Для пары КУ и КР
/// "Горячее водоснабжение" и "Тепловая энергия" информация о показателях качества не заполняется
/// только в том случае, если для договора (если показатели ведутся в разрезе договора) или
/// ОЖФ в договоре (если показатели ведутся в разрезе ОЖФ) также указана пара КУ и КР
/// "Горячее водоснабжение" и "Питьевая вода".
/// </summary>
public SupplyResourceContractProjectTypeQuality[] quality;
/// <summary>
/// Необязательное. Иной показатель качества коммунального ресурса (не содержащийся в справочнике
/// показателей качества).
/// </summary>
public SupplyResourceContractProjectTypeOtherQualityIndicator[] otherQualityIndicator;
/// <summary>
/// Необязательное. Информация о температурном графике. Доступно для заполнения только если в
/// предмете договора хотя бы раз встречается ресурс "Тепловая энергия".
/// </summary>
public SupplyResourceContractProjectTypeTemperatureChart[] temperatureChart;
/// <summary>
/// Условное. Срок представления (выставления) платежных документов, не позднее. Является
/// обязательным, если вторая сторона договора отличается от "Управляющая организация" ИЛИ если
/// заполнено поле <see cref="meteringDeviceInformation"/>. Не заполняется, если
/// <see cref="oneTimePayment"/> = true.
/// </summary>
public SupplyResourceContractProjectTypeBillingDate billingDate;
/// <summary>
/// Условное. Срок внесения платы, не позднее. Является обязательным, если вторая сторона договора
/// отличается от "Управляющая организация" И договор не является публичным и/или присутствует
/// заключенный на бумажном носителе или в электронной форме И в поле
/// <see cref="oneTimePayment"/> = false. Не заполняется, если <see cref="oneTimePayment"/> = true.
/// </summary>
public SupplyResourceContractProjectTypePaymentDate paymentDate;
/// <summary>
/// Условное. Срок предоставления информации о поступивших платежах, не позднее. Является
/// обязательным, если второй стороной договора является "Управляющая организация",
/// "Размещение информации о начислениях за коммунальные услуги осуществляет" = "РСО" И
/// договор не является публичным и/или присутствует заключенный на бумажном носителе или в
/// электронной форме.
/// </summary>
public SupplyResourceContractProjectTypeProvidingInformationDate providingInformationDate;
/// <summary>
/// Условное. Указывает на то, что размещение информации об индивидуальных приборах учета и их
/// показаниях осуществляет ресурсоснабжающая организация или нет. Обязательно для заполнения,
/// если в <see cref="countingResource"/> указано "РСО". В остальных случаях не заполняется.
/// </summary>
public bool? meteringDeviceInformation;
/// <summary>
/// Необязательное. Указывает на то, что объем поставки ресурса(ов) определяется на основании прибора
/// учета или нет. Поле не заполняется, если вторая сторона договора "Управляющая организация"
/// ИЛИ поле <see cref="oneTimePayment"/> = true.
/// </summary>
public bool? volumeDepends;
/// <summary>
/// Необязательное. Указывает на то, что оплата предоставленных услуг осуществляется ли единоразово
/// при отгрузке указанных ресурсов без заведения лицевых счетов для потребителей. Доступно
/// для заполнения, только если вторая сторона договора отлична от "Управляющая организация".
/// </summary>
public bool? oneTimePayment;
/// <summary>
/// Необязательное. Порядок размещения информации о начислениях за коммунальные услуги ведется: D - в
/// разрезе договора, O - в разрезе объектов жилищного фонда. Заполняется, если второй стороной договора
/// является исполнитель коммунальных услуг.
/// </summary>
public SupplyResourceContractProjectTypeAccrualProcedure? accrualProcedure;
/// <summary>
/// Кода ФИАС региона РФ, в котором применяются тарифы и/или нормативы потребления КУ (у поставщика
/// данных должна быть подтвержденная функция РСО в этом Субъекте РФ).
/// </summary>
public string regionCodeFias;
/// <summary>
/// Необязательное. Информация о применяемом тарифе. Заполнется при указании <see cref="regionCodeFias"/>.
/// </summary>
public SupplyResourceContractProjectTypeRegionalSettingsTariff[] tariff;
/// <summary>
/// Необязательное. Информация о нормативе потребления коммунальной услуги. Заполнется при
/// указании <see cref="regionCodeFias"/>.
/// </summary>
public SupplyResourceContractProjectTypeRegionalSettingsNorm[] norm;
}
}

View File

@ -0,0 +1,46 @@
namespace Hcs.Broker.Api.Payload.Payments
{
// http://open-gkh.ru/Payment/importNotificationsOfOrderExecutionRequest/NotificationOfOrderExecution139Type.html
public class ImportNotificationsOfOrderExecutionPayload
{
/// <summary>
/// Уникальный номер платежа (идентификатор операции)
/// </summary>
public string orderId;
/// <summary>
/// Дата
/// </summary>
public DateTime orderDate;
/// <summary>
/// Сумма оплаты (в копейках)
/// </summary>
public decimal amount;
/// <summary>
/// Необязательное. Признак онлайн-оплаты.
/// </summary>
public bool? onlinePayment;
/// <summary>
/// Необязательное. Год. Указывать совместно с <see cref="month"/>.
/// </summary>
public short? year;
/// <summary>
/// Необязательное. Месяц. Указывать совместно с <see cref="year"/>.
/// </summary>
public int? month;
/// <summary>
/// Идентификатор платежного документа
/// </summary>
public string paymentDocumentId;
/// <summary>
/// GUID платежного документа
/// </summary>
public string paymentDocumentGUID;
}
}

View File

@ -0,0 +1,36 @@
namespace Hcs.Broker.Api.Payload.Payments
{
// http://open-gkh.ru/Payment/importSupplierNotificationsOfOrderExecutionRequest/SupplierNotificationOfOrderExecution.html
public class ImportSupplierNotificationsOfOrderExecutionPayload
{
/// <summary>
/// Дата внесения платы (в случае отсутствия: дата поступления средств)
/// </summary>
public DateTime orderDate;
/// <summary>
/// Необязательное. Месяц, за который вносится плата. Указывать совместно с <see cref="year"/>.
/// </summary>
public int? month;
/// <summary>
/// Необязательное. Год, за который вносится плата. Указывать совместно с <see cref="month"/>.
/// </summary>
public short? year;
/// <summary>
/// Идентификатор платежного документа
/// </summary>
public string paymentDocumentId;
/// <summary>
/// Сумма
/// </summary>
public decimal amount;
/// <summary>
/// Необязательное. Признак онлайн-оплаты.
/// </summary>
public bool? onlinePayment;
}
}