Модель Invoice (инфо. счета)
Модель Invoice — представляет заголовок счета, содержит основную информацию о нем
* @property integer $id // ИД счета
* @property integer $doctor_id // ИД ответственного врача
* @property integer $client_id // ИД клиента
* @property integer $pet_id // ИД питомца
* @property string $description // Примечание
* @property double $percent // Суммарное значение скидки и надбавки
* @property double $amount // Сумма счета
* @property enum('save', 'exec', 'closed', 'deleted') $status
Статус, добавление счета со статусом, отличным от save, может привести к неверной работе программы
save - счет черновик, никакого влияния на программу не осуществляет
exec - счет выполнен, сумма списана с баланса клиента
closed - по счету посчитана зарплата, счет закрыт для редактирования
deleted - счет удален, программа больше не предлагает его выполнить, удалить можно только сохраненный счет
* @property string $invoice_date // Дата сохранения/проведения счета
* @property integer $old_id // deprecated
* @property bool $night // Отметка, если счет ночной
* @property double $increase // Процент надбавки
* @property double $discount // Процент скидки
* @property bool $call // Отметка, если счет создан на вызове
* @property double $paid_amount // Оплачено по счету
* @property string $create_date // Дата создания строки счета
* @property string $payment_status (none, partial, full)// статус оплаты счета
Значения:
none – не оплачен,
partial – частично оплачен,
full – полностью оплачен
* @property string $clinic_id// клиника, в которой создан счёт
* @property string $creator_id // создатель счета (пользователь, который залогинен в программе)Модель InvoiceDocument — представляет товары и услуги, вошедшие в счет, принадлежит счету
* @property integer $id // ИД документа * @property integer $document_id //ИД счета * @property integer $good_id // ИД товара * @property float $quantity // Количество * @property float $price // Стоимость = Цена товара на момент создания счета * Количество * @property integer $responsible_user_id // ИД врача, ответственного за эту позицию * @property integer $is_default_responsible // Отметка, если врач назначен по ответственному счета * @property integer $sale_param_id // ID параметра продажи товара * @property integer $tag_id // Ссылка на группу товара * @property integer $discount_type // Ссылка на тип дисконта * @property integer $discount_document_id // Ссылка на скидочную карту * @property integer $discount_percent // Процент скидки * @property integer $default_price // Цена по умолчанию * @property integer $create_date // Дата создания строки (при пересохранении строки перезаписываются и дата меняется) * @property integer $discount_cause // Текст выполнения правил скидки * @property array $party_info // Массив с информацией о партиях, с которых был списал данный товар
Переменная $party_info — Массив с информацией о партиях, с которых был списал данный товар
Описание переменных:
* @property integer $party_id // ID партии из модели PartyAccount * @property timestamp $party_exec_date // Дата создания партии * @property integer $store_id // ID склада * @property integer $good_id // ID товара * @property integer $characteristic_id // ID характеристики товара * @property float $quantity // Количество товара в ед. хранения * @property float $price // Цена закупки
Пример запроса счета по клиенту
curl --location -g --request GET 'https://{DOMAIN NAME}/rest/api/Invoice?offset=0&sort=[{"property":"create_date", "direction":"DESC"}]&filter=[{"property":"client_id","value":6,"operator":"="}]' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}'Ответ сервера
{
"success": true,
"message": "Records Retrieved Successfully",
"data": {
"totalCount": "1",
"invoice": [
{
"id": "1",
"doctor_id": "1",
"client_id": "6",
"pet_id": "3",
"description": "Счет сформирован на основании мед.карты №2 от 2021-09-22 13:14:17.",
"percent": "0.0000000000",
"amount": "500.0000000000",
"status": "exec",
"invoice_date": "2021-09-22 13:14:25",
"old_id": null,
"night": "0",
"increase": "0.0000000000",
"discount": "0.0000000000",
"call": "0",
"paid_amount": "500.0000000000",
"create_date": "2021-09-22 13:14:17",
"payment_status": "full",
"clinic_id": "1",
"creator_id": "1",
"fiscal_section_id": "0",
"client": {
"id": "6",
"address": "",
"home_phone": "",
"work_phone": "",
"note": "",
"type_id": null,
"how_find": null,
"balance": "0.0000000000",
"email": "sergey.laytaruk@gmail.com",
"city": "",
"city_id": "145",
"date_register": "2021-09-22 09:25:39",
"cell_phone": "0957778899",
"zip": "",
"registration_index": null,
"vip": "0",
"last_name": "Client001",
"first_name": "Client001",
"middle_name": "Client001",
"status": "ACTIVE",
"discount": "0",
"passport_series": "",
"lab_number": "",
"street_id": "0",
"apartment": "",
"unsubscribe": "0",
"in_blacklist": "0",
"last_visit_date": "2021-09-22 13:14:19",
"number_of_journal": "",
"phone_prefix": "38"
},
"pet": {
"id": "3",
"owner_id": "6",
"type_id": "13",
"alias": "Pet001",
"sex": "unknown",
"date_register": "2021-09-22 09:25:59",
"birthday": null,
"note": "",
"breed_id": "444",
"old_id": null,
"color_id": "0",
"deathnote": null,
"deathdate": null,
"chip_number": "",
"lab_number": "",
"status": "alive",
"picture": null,
"weight": "0.0000000000",
"pet_type_data": {
"id": "13",
"title": "Кошачий",
"picture": "cat",
"type": "cat"
},
"breed_data": {
"id": "444",
"title": "Ангорская",
"pet_type_id": "13"
}
},
"doctor": {
"id": "1",
"last_name": "admin",
"first_name": "",
"middle_name": "",
"login": "admin",
"passwd": "9205814c8bc98857f5e07f3bae30ad68",
"position_id": "8",
"email": "email1@mail.ru",
"phone": "00000000000",
"cell_phone": "0000000000",
"address": "Address 1",
"role_id": "7",
"is_active": "1",
"calc_percents": "1",
"nickname": "admin",
"youtrack_login": "",
"youtrack_password": "",
"last_change_pwd_date": "0000-00-00",
"is_limited": "0",
"carrotquest_id": "two:1",
"sip_number": "",
"user_inn": ""
}
}
]
}
}Пример invoice по ID счета
curl --location --request GET 'https://{DOMAIN NAME}/rest/api/Invoice/1' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}'Ответ сервера
{
"success": true,
"message": "Record Retrieved Successfully",
"data": {
"totalCount": 1,
"invoice": {
"id": "1",
"doctor_id": "1",
"client_id": "6",
"pet_id": "3",
"description": "Счет сформирован на основании мед.карты №2 от 2021-09-22 13:14:17.",
"percent": "0.0000000000",
"amount": "500.0000000000",
"status": "exec",
"invoice_date": "2021-09-22 13:14:25",
"old_id": null,
"night": "0",
"increase": "0.0000000000",
"discount": "0.0000000000",
"call": "0",
"paid_amount": "500.0000000000",
"create_date": "2021-09-22 13:14:17",
"payment_status": "full",
"clinic_id": "1",
"creator_id": "1",
"fiscal_section_id": "0",
"client": {
"id": "6",
"address": "",
"home_phone": "",
"work_phone": "",
"note": "",
"type_id": null,
"how_find": null,
"balance": "0.0000000000",
"email": "sergey.laytaruk@gmail.com",
"city": "",
"city_id": "145",
"date_register": "2021-09-22 09:25:39",
"cell_phone": "0957778899",
"zip": "",
"registration_index": null,
"vip": "0",
"last_name": "Client001",
"first_name": "Client001",
"middle_name": "Client001",
"status": "ACTIVE",
"discount": "0",
"passport_series": "",
"lab_number": "",
"street_id": "0",
"apartment": "",
"unsubscribe": "0",
"in_blacklist": "0",
"last_visit_date": "2021-09-22 13:14:19",
"number_of_journal": "",
"phone_prefix": "38"
},
"pet": {
"id": "3",
"owner_id": "6",
"type_id": "13",
"alias": "Pet001",
"sex": "unknown",
"date_register": "2021-09-22 09:25:59",
"birthday": null,
"note": "",
"breed_id": "444",
"old_id": null,
"color_id": "0",
"deathnote": null,
"deathdate": null,
"chip_number": "",
"lab_number": "",
"status": "alive",
"picture": null,
"weight": "0.0000000000",
"pet_type_data": {
"id": "13",
"title": "Кошачий",
"picture": "cat",
"type": "cat"
},
"breed_data": {
"id": "444",
"title": "Ангорская",
"pet_type_id": "13"
}
},
"doctor": {
"id": "1",
"last_name": "admin",
"first_name": "",
"middle_name": "",
"login": "admin",
"passwd": "9205814c8bc98857f5e07f3bae30ad68",
"position_id": "8",
"email": "email1@mail.ru",
"phone": "00000000000",
"cell_phone": "0000000000",
"address": "Address 1",
"role_id": "7",
"is_active": "1",
"calc_percents": "1",
"nickname": "admin",
"youtrack_login": "",
"youtrack_password": "",
"last_change_pwd_date": "0000-00-00",
"is_limited": "0",
"carrotquest_id": "two:1",
"sip_number": "",
"user_inn": ""
},
"invoiceDocuments": [
{
"id": "1",
"document_id": "1",
"good_id": "5379",
"quantity": "1.0000000000",
"price": "500.0000000000",
"responsible_user_id": "1",
"is_default_responsible": "1",
"sale_param_id": "1037",
"tag_id": "0",
"discount_type": null,
"discount_document_id": null,
"discount_percent": null,
"default_price": "500.0000000000",
"create_date": "2021-09-22 13:14:17",
"discount_cause": "",
"fixed_discount_id": "0",
"fixed_discount_percent": "0",
"fixed_increase_id": "0",
"fixed_increase_percent": "0",
"prime_cost": "0.0000000000",
"party_info": [],
"goodSaleParam": {
"id": "1037",
"good_id": "5379",
"price": "500.0000000000",
"coefficient": "1",
"unit_sale_id": "5",
"min_price": "0.0000000000",
"max_price": "0.0000000000",
"barcode": "",
"status": "active",
"clinic_id": "1",
"markup": "0.0000000000",
"price_formation": "fixed",
"unitSale": {
"id": "5",
"title": "доза",
"status": "active"
}
}
}
]
}
}
}Пример invoiceDocument с фильтром по ID счета
curl --location -g --request GET 'https://{DOMAIN NAME}/rest/api/InvoiceDocument?filter=[{"property":"document_id","value":1,"operator":"="}]' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}'Ответ сервера
{
"success": true,
"message": "Records Retrieved Successfully",
"data": {
"totalCount": "1",
"invoiceDocument": [
{
"id": "1",
"document_id": "1",
"good_id": "5379",
"quantity": "1.0000000000",
"price": "500.0000000000",
"responsible_user_id": "1",
"is_default_responsible": "1",
"sale_param_id": "1037",
"tag_id": "0",
"discount_type": null,
"discount_document_id": null,
"discount_percent": null,
"default_price": "500.0000000000",
"create_date": "2021-09-22 13:14:17",
"discount_cause": "",
"fixed_discount_id": "0",
"fixed_discount_percent": "0",
"fixed_increase_id": "0",
"fixed_increase_percent": "0",
"prime_cost": "0.0000000000",
"document": {
"id": "1",
"doctor_id": "1",
"client_id": "6",
"pet_id": "3",
"description": "Счет сформирован на основании мед.карты №2 от 2021-09-22 13:14:17.",
"percent": "0.0000000000",
"amount": "500.0000000000",
"status": "exec",
"invoice_date": "2021-09-22 13:14:25",
"old_id": null,
"night": "0",
"increase": "0.0000000000",
"discount": "0.0000000000",
"call": "0",
"paid_amount": "500.0000000000",
"create_date": "2021-09-22 13:14:17",
"payment_status": "full",
"clinic_id": "1",
"creator_id": "1",
"fiscal_section_id": "0"
},
"good": {
"id": "5379",
"group_id": "72",
"title": "товар001",
"unit_storage_id": "5",
"is_warehouse_account": "1",
"is_active": "1",
"code": "",
"is_call": "0",
"is_for_sale": "1",
"barcode": "",
"create_date": null,
"description": "",
"prime_cost": "0.0000000000",
"category_id": null
},
"goodSaleParam": {
"id": "1037",
"good_id": "5379",
"price": "500.0000000000",
"coefficient": "1",
"unit_sale_id": "5",
"min_price": "0.0000000000",
"max_price": "0.0000000000",
"barcode": "",
"status": "active",
"clinic_id": "1",
"markup": "0.0000000000",
"price_formation": "fixed"
}
}
]
}
}