NAV -image
bash javascript

Introduction

Welcome to the api documentation

This documentation aims to provide all the information you need to work with our API.

Base URL

https://api.dentalsystem.ro

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_TOKEN}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

Calendar

APIs for managing calendar

Calendar exit stages listing.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/calendar-exit-stages?start_date=2021-09-02&end_date=2021-09-01" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"start_date":"2022-05-12","end_date":"2022-05-12"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/calendar-exit-stages"
);

let params = {
    "start_date": "2021-09-02",
    "end_date": "2021-09-01",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "start_date": "2022-05-12",
    "end_date": "2022-05-12"
}

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/calendar-exit-stages

Query Parameters

start_date  string  
date

end_date  string  
date

Body Parameters

start_date  string  
Câmpul value nu este o dată validă. The value must be a valid date in the format Y-m-d.

end_date  string  
Câmpul value nu este o dată validă. The value must be a valid date in the format Y-m-d.

Calendar order stages listing

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/calendar-order-stages/culpa?start_date=2021-09-02&end_date=2021-09-01" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"start_date":"2022-05-12","end_date":"2022-05-12"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/calendar-order-stages/culpa"
);

let params = {
    "start_date": "2021-09-02",
    "end_date": "2021-09-01",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "start_date": "2022-05-12",
    "end_date": "2022-05-12"
}

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/calendar-order-stages/{order}

URL Parameters

order  string  

Query Parameters

start_date  string  
date

end_date  string  
date

Body Parameters

start_date  string  
Câmpul value nu este o dată validă. The value must be a valid date in the format Y-m-d.

end_date  string  
Câmpul value nu este o dată validă. The value must be a valid date in the format Y-m-d.

Chitante serii

APIs for managing receipt series

Create receipt serie

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/receipt-series" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"series":"ab","lab_invoice_profile_id":15,"start_no":4,"active":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/receipt-series"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "series": "ab",
    "lab_invoice_profile_id": 15,
    "start_no": 4,
    "active": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/receipt-series

Body Parameters

series  string  

lab_invoice_profile_id  integer  

start_no  integer  

active  boolean  

Display receipt series

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/receipt-series/et" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/receipt-series/et"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/receipt-series/{lab_invoice_profile_id?}

URL Parameters

lab_invoice_profile_id  string optional  

Activate receipt series

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/receipt-series/activate/cum" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/receipt-series/activate/cum"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/receipt-series/activate/{receipt_series}

URL Parameters

receipt_series  string  

Chitante

APIs for managing receipt series

Display a listing of the resource.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/receipts" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/receipts"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/receipts

Display the specified resource.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/receipts/praesentium" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/receipts/praesentium"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/receipts/{receipt}

URL Parameters

receipt  string  

Generate receipt's PDF document.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/receipts/hic/generate-pdf" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/receipts/hic/generate-pdf"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/receipts/{payment}/generate-pdf

URL Parameters

payment  string  

Colaboratori

APIs for managing collaborators

Import collaborator's data from Openapi

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/collaborators/import-collaborator" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"cui":"officia"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/collaborators/import-collaborator"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "cui": "officia"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/collaborators/import-collaborator

Body Parameters

cui  string  

Collaborators listing.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/collaborators?sort=-id%2Cname" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/collaborators"
);

let params = {
    "sort": "-id,name",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 21,
            "name": "Mihailescu-Stroe",
            "cui": 12345678,
            "nr_reg_comertului": "2970922018667",
            "bank": "Banca Transilvania",
            "region_id": 36,
            "region": "Sibiu",
            "bank_account": "RO57LGPEWWO2410KKKTO5338",
            "address": "P-ța Constantin Brâncuși nr. 61, bl. A, et. 61, ap. 38, Mun. Baia Mare, Caraș-Severin, CP 784691",
            "city": "Tecuci",
            "phone_fax": "0770377507",
            "mobile": "0313700744",
            "contact_mobile": "0343905282",
            "email": "ghenadie22@example.com",
            "website": "nistor.com"
        },
        {
            "id": 22,
            "name": "Moldoveanu PLC",
            "cui": 12345678,
            "nr_reg_comertului": "6510727406516",
            "bank": "Banca Transilvania",
            "region_id": 37,
            "region": "Suceava",
            "bank_account": "RO88OFKLBZWH89GD0TUI27J6",
            "address": "Splaiul Mesteacănului nr. 9, bl. 66, sc. C, et. 29, ap. 5, Mun. Medgidia, Harghita, CP 935297",
            "city": "Aiud",
            "phone_fax": "0794698112",
            "mobile": "0794609422",
            "contact_mobile": "0711153788",
            "email": "frederic59@example.com",
            "website": "manolache.com"
        }
    ]
}

Request      

GET api/v1/ro/collaborators

Query Parameters

sort  string optional  
Field to sort by. Sorting ASC id Sorting DESC -id

filter[dentists.first_name]  string optional  
Field to filter by dentist id and/or first_name.

filter[dentists.last_name]  string optional  
Field to filter by dentist id and/or last_name.

Store a newly created collaborator.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/collaborators" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"nulla","cui":{},"nr_reg_comertului":{},"bank":"voluptates","bank_account":"minima","address":"perferendis","region_id":17,"city":"rem","phone_fax":"dolorem","mobile":"voluptatem","contact_mobile":"commodi","email":"mclaughlin.beverly@example.org","website":"http:\/\/www.vonrueden.com\/sit-adipisci-harum-delectus-ut-iusto-consequatur"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/collaborators"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "nulla",
    "cui": {},
    "nr_reg_comertului": {},
    "bank": "voluptates",
    "bank_account": "minima",
    "address": "perferendis",
    "region_id": 17,
    "city": "rem",
    "phone_fax": "dolorem",
    "mobile": "voluptatem",
    "contact_mobile": "commodi",
    "email": "mclaughlin.beverly@example.org",
    "website": "http:\/\/www.vonrueden.com\/sit-adipisci-harum-delectus-ut-iusto-consequatur"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 23,
        "name": "Rusu Inc",
        "cui": 12345678,
        "nr_reg_comertului": "3470130325639",
        "bank": "Banca Transilvania",
        "region_id": 16,
        "region": "Constanța",
        "bank_account": "RO77EXGGXG4H52C3J1OB532K",
        "address": "P-ța Crișan nr. 6A, bl. C, et. 5, ap. 5, Mun. Flămânzi, Dâmbovița, CP 041170",
        "city": "Câmpeni",
        "phone_fax": "0349860706",
        "mobile": "0742382191",
        "contact_mobile": "0791838517",
        "email": "elisaveta.nechita@example.org",
        "website": "gabor.com"
    }
}

Request      

POST api/v1/ro/collaborators

Body Parameters

name  string  

cui  string optional  

nr_reg_comertului  string optional  

bank  string optional  

bank_account  string optional  

address  string optional  

region_id  integer  

city  string optional  

phone_fax  string optional  

mobile  string optional  

contact_mobile  string optional  

email  string optional  
Câmpul value trebuie să fie o adresă de e-mail validă.

website  string optional  
The value must be a valid URL.

Display a collaborator.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/collaborators/12" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/collaborators/12"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 24,
        "name": "Nitu-Niculae",
        "cui": 12345678,
        "nr_reg_comertului": "4080703281743",
        "bank": "Banca Transilvania",
        "region_id": 33,
        "region": "Prahova",
        "bank_account": "RO96BBHE7OQN63G7903M7O4A",
        "address": "Str. Memorandumului nr. 9A, bl. 2, et. 64, ap. 2, Mun. Țicleni, Argeș, CP 124025",
        "city": "Mun. Borsec",
        "phone_fax": "0262051613",
        "mobile": "0337243855",
        "contact_mobile": "0367566319",
        "email": "george.tanase@example.net",
        "website": "ichim.org"
    }
}

Request      

GET api/v1/ro/collaborators/{collaborator}

URL Parameters

collaborator  integer optional  

Update a collaborator.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/collaborators/voluptatem" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"ut","cui":{},"nr_reg_comertului":{},"bank":"itaque","bank_account":"excepturi","address":"laudantium","region_id":6,"city":"enim","phone_fax":"et","mobile":"sint","contact_mobile":"necessitatibus","email":"tate47@example.net","website":"https:\/\/www.miller.com\/omnis-voluptate-enim-odio-natus"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/collaborators/voluptatem"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "ut",
    "cui": {},
    "nr_reg_comertului": {},
    "bank": "itaque",
    "bank_account": "excepturi",
    "address": "laudantium",
    "region_id": 6,
    "city": "enim",
    "phone_fax": "et",
    "mobile": "sint",
    "contact_mobile": "necessitatibus",
    "email": "tate47@example.net",
    "website": "https:\/\/www.miller.com\/omnis-voluptate-enim-odio-natus"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 25,
        "name": "Ghita and Sons",
        "cui": 12345678,
        "nr_reg_comertului": "1561103431083",
        "bank": "Banca Transilvania",
        "region_id": 2,
        "region": "Alba",
        "bank_account": "RO53YIOB931I85C54B146S7Q",
        "address": "Str. Frunzișului 6A, Mun. Carei, Bistrița Năsăud, CP 928116",
        "city": "Buftea",
        "phone_fax": "0210180020",
        "mobile": "0311191823",
        "contact_mobile": "0340717777",
        "email": "nicoleta35@example.org",
        "website": "iordache.com"
    }
}

Request      

PUT api/v1/ro/collaborators/{collaborator}

PATCH api/v1/ro/collaborators/{collaborator}

URL Parameters

collaborator  string  

Body Parameters

name  string  

cui  string optional  

nr_reg_comertului  string optional  

bank  string optional  

bank_account  string optional  

address  string optional  

region_id  integer  

city  string optional  

phone_fax  string optional  

mobile  string optional  

contact_mobile  string optional  

email  string optional  
Câmpul value trebuie să fie o adresă de e-mail validă.

website  string optional  
The value must be a valid URL.

Remove a collaborator.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/collaborators/13" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/collaborators/13"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/collaborators/{collaborator}

URL Parameters

collaborator  integer  

CP List of prices for a collaborator.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/collaborator-prices-listing" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"collaborator_id":9,"work_template_id":6}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/collaborator-prices-listing"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "collaborator_id": 9,
    "work_template_id": 6
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/collaborator-prices-listing

Body Parameters

collaborator_id  integer  

work_template_id  integer optional  

CP Add/update a price to a collaborator.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/collaborator-prices" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"collaborator_id":5,"work_template_id":16,"price":1,"locked":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/collaborator-prices"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "collaborator_id": 5,
    "work_template_id": 16,
    "price": 1,
    "locked": false
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/collaborator-prices

Body Parameters

collaborator_id  integer  

work_template_id  integer  

price  integer  

locked  boolean  

CP Delete a price to a collaborator.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/collaborator-prices" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"collaborator_id":17,"work_template_id":14}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/collaborator-prices"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "collaborator_id": 17,
    "work_template_id": 14
}

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/collaborator-prices

Body Parameters

collaborator_id  integer  

work_template_id  integer  

Comenzi discounts

APIs for managing order additional prices

Add discount for order

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/order-discounts/sit" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"discount_type_id":"et","name":"rerum","value":12288943.233}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-discounts/sit"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "discount_type_id": "et",
    "name": "rerum",
    "value": 12288943.233
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/order-discounts/{order}

URL Parameters

order  string  

Body Parameters

discount_type_id  string  

name  string  

value  number  

Delete discount of the order

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/order-discounts/commodi/aut" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-discounts/commodi/aut"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (404):

{
    "message": "Resursa nu a fost gasita \/ nu exista"
}

Request      

DELETE api/v1/ro/order-discounts/{order}/{discountId}

URL Parameters

order  string  

discountId  string  

Comenzi etape lucrare

APIs for managing order work stages

Reorder order work stages

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/ows-reorder-stages" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_work_template_id":14,"order_as_response":false,"order_work_stages":[{"stage_id":18}]}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-reorder-stages"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_work_template_id": 14,
    "order_as_response": false,
    "order_work_stages": [
        {
            "stage_id": 18
        }
    ]
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/ows-reorder-stages

Body Parameters

order_work_template_id  integer  

order_as_response  boolean  

order_work_stages  object[]  

order_work_stages[].stage_id  integer  

Add new order work stage.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_work_template_id":10,"order_as_response":false,"rank":1,"work_stage_id":7}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_work_template_id": 10,
    "order_as_response": false,
    "rank": 1,
    "work_stage_id": 7
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/ows-stages

Body Parameters

order_work_template_id  integer  

order_as_response  boolean  

rank  integer  

work_stage_id  integer  

Delete a order work stage.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_work_id":4,"order_work_stage_id":6,"order_as_response":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_work_id": 4,
    "order_work_stage_id": 6,
    "order_as_response": false
}

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/ows-stages

Body Parameters

order_work_id  integer  

order_work_stage_id  integer  

order_as_response  boolean  

Confirm(check/uncheck) element type special order stage

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/ows-special-stages" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_work_id":13,"order_work_stage_id":13,"order_as_response":false,"price_type":"fix","elements":["et"]}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-special-stages"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_work_id": 13,
    "order_work_stage_id": 13,
    "order_as_response": false,
    "price_type": "fix",
    "elements": [
        "et"
    ]
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/ows-special-stages

Body Parameters

order_work_id  integer  

order_work_stage_id  integer  

order_as_response  boolean  

price_type  string  
The value must be one of fix, elemente, or arcada.

elements  string[]  

Set order stage user with default price

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/ows-user/default-cost" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_work_id":17,"order_work_stage_id":14,"order_as_response":false,"user_id":14}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-user/default-cost"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_work_id": 17,
    "order_work_stage_id": 14,
    "order_as_response": false,
    "user_id": 14
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/ows-user/default-cost

Body Parameters

order_work_id  integer  

order_work_stage_id  integer  

order_as_response  boolean  

user_id  integer  

Manual update order stage user and cost

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/ows-user" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_work_id":6,"order_work_stage_id":17,"order_as_response":false,"user_id":15,"cost":576187.494780542}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-user"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_work_id": 6,
    "order_work_stage_id": 17,
    "order_as_response": false,
    "user_id": 15,
    "cost": 576187.494780542
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/ows-user

Body Parameters

order_work_id  integer  

order_work_stage_id  integer  

order_as_response  boolean  

user_id  integer  

cost  number  

Order stages possibles actions

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/possible-actions" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_work_stage_ids":[12,13]}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/possible-actions"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_work_stage_ids": [
        12,
        13
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/ows-stages/possible-actions

Body Parameters

order_work_stage_ids  integer[]  

Update date and time of order work stage

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/update-date/et" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"date":"2022-05-12","time":"13:22","order_as_response":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/update-date/et"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "date": "2022-05-12",
    "time": "13:22",
    "order_as_response": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/ows-stages/update-date/{orderWorkStage}

URL Parameters

orderWorkStage  string  

Body Parameters

date  string  
Câmpul value nu este o dată validă. The value must be a valid date in the format Y-m-d.

time  string optional  
The value must be a valid date in the format H:i.

order_as_response  boolean  

Start a order stage

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/start" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_work_id":11,"order_work_stage_id":3,"order_as_response":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/start"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_work_id": 11,
    "order_work_stage_id": 3,
    "order_as_response": false
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/ows-stages/start

Body Parameters

order_work_id  integer  

order_work_stage_id  integer  

order_as_response  boolean  

Pause a order stage

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/pause" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_work_id":8,"order_work_stage_id":5,"order_as_response":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/pause"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_work_id": 8,
    "order_work_stage_id": 5,
    "order_as_response": false
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/ows-stages/pause

Body Parameters

order_work_id  integer  

order_work_stage_id  integer  

order_as_response  boolean  

Finish a order stage

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/finish" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_work_id":14,"order_work_stage_id":12,"order_as_response":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/finish"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_work_id": 14,
    "order_work_stage_id": 12,
    "order_as_response": false
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/ows-stages/finish

Body Parameters

order_work_id  integer  

order_work_stage_id  integer  

order_as_response  boolean  

Remake a order stage

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/remake" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_work_id":9,"order_work_stage_id":3,"order_as_response":false,"remake_parameters":{"lab_is_paying":false,"reason":{"fault":"collaborator","user_id":12}}}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/remake"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_work_id": 9,
    "order_work_stage_id": 3,
    "order_as_response": false,
    "remake_parameters": {
        "lab_is_paying": false,
        "reason": {
            "fault": "collaborator",
            "user_id": 12
        }
    }
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/ows-stages/remake

Body Parameters

order_work_id  integer  

order_work_stage_id  integer  

order_as_response  boolean  

remake_parameters  object optional  

remake_parameters.lab_is_paying  boolean  

remake_parameters.reason  object optional  

remake_parameters.reason.fault  string  
The value must be one of user, lab, or collaborator.

remake_parameters.reason.user_id  integer optional  

Comenzi fisiere

APIs for managing order`s files

Order file listing.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/order-files/id" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-files/id"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/order-files/{order}

URL Parameters

order  string  

Add file to a order.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/order-files" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: multipart/form-data" \
    -H "Accept: application/json" \
    -F "order_id=7" \
    -F "file_name=ipsa" \
    -F "file=@C:\Users\Stefi\AppData\Local\Temp\php3E92.tmp" 
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-files"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('order_id', '7');
body.append('file_name', 'ipsa');
body.append('file', document.querySelector('input[name="file"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/order-files

Body Parameters

order_id  integer  

file_name  string optional  

file  file  
The value must be a file.

Download a order file

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/order-file/cumque" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-file/cumque"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/order-file/{uuid}

URL Parameters

uuid  string  

Delete a order file.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/order-file/eligendi" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-file/eligendi"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/order-file/{uuid}

URL Parameters

uuid  string  

Comenzi lucrari

APIs for managing work stages

OT Display a listing of order works.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/order-work-templates-listing" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_id":0}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-work-templates-listing"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": 0
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/order-work-templates-listing

Body Parameters

order_id  integer  

OT Add new work on order.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/order-work-templates" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_id":16,"work_template_id":11,"order_as_response":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-work-templates"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": 16,
    "work_template_id": 11,
    "order_as_response": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/order-work-templates

Body Parameters

order_id  integer  

work_template_id  integer  

order_as_response  boolean  

OT Remove a order work.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/order-work-templates/quis" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-work-templates/quis"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/order-work-templates/{order_work_template}

URL Parameters

order_work_template  string  

OT Combine a order work with a work template

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/order-work-templates-combine" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_work_template_id":10,"work_template_id":14,"order_as_response":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-work-templates-combine"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_work_template_id": 10,
    "work_template_id": 14,
    "order_as_response": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/order-work-templates-combine

Body Parameters

order_work_template_id  integer  

work_template_id  integer  

order_as_response  boolean  

OT Preferred settings order work.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/owt-settings" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_work_template_id":17,"order_as_response":false,"preferred_duration":20,"ignore_extra_price":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/owt-settings"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_work_template_id": 17,
    "order_as_response": false,
    "preferred_duration": 20,
    "ignore_extra_price": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/owt-settings

Body Parameters

order_work_template_id  integer  

order_as_response  boolean  

preferred_duration  integer optional  

ignore_extra_price  boolean optional  

OT Update dentition and dentition arcada for order work.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/owt-dentition" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_work_template_id":13,"order_as_response":false,"dentition":[{"form":12,"xtra":[false,false]}],"arcada_dentition":{"upper":false,"lower":false}}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/owt-dentition"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_work_template_id": 13,
    "order_as_response": false,
    "dentition": [
        {
            "form": 12,
            "xtra": [
                false,
                false
            ]
        }
    ],
    "arcada_dentition": {
        "upper": false,
        "lower": false
    }
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/owt-dentition

Body Parameters

order_work_template_id  integer  

order_as_response  boolean  

dentition  object[] optional  

dentition[].form  integer  

dentition[].xtra  boolean[]  

arcada_dentition  object optional  

arcada_dentition.upper  boolean optional  

arcada_dentition.lower  boolean optional  

Comenzi PA brands

APIs for managing order additional prices

List of brands

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/additional-prices-brands" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-brands"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/additional-prices-brands

Add new brand

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-brands" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"sed"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-brands"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "sed"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/additional-prices-brands

Body Parameters

name  string  

Brand detailed

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/additional-prices-brands/consequatur" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-brands/consequatur"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/additional-prices-brands/{additional_prices_brand}

URL Parameters

additional_prices_brand  string  

Update a brand

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-brands/ut" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"inventore"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-brands/ut"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "inventore"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/additional-prices-brands/{additional_prices_brand}

PATCH api/v1/ro/additional-prices-brands/{additional_prices_brand}

URL Parameters

additional_prices_brand  string  

Body Parameters

name  string  

Delete a brand

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-brands/placeat" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-brands/placeat"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/additional-prices-brands/{additional_prices_brand}

URL Parameters

additional_prices_brand  string  

Comenzi PA categorii

APIs for managing order additional prices

List of categories

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/additional-prices-categories" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-categories"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/additional-prices-categories

Add new category

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-categories" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"accusamus"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-categories"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "accusamus"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/additional-prices-categories

Body Parameters

name  string  

Category detailed

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/additional-prices-categories/cupiditate" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-categories/cupiditate"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/additional-prices-categories/{additional_prices_category}

URL Parameters

additional_prices_category  string  

Update a category

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-categories/et" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"nisi"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-categories/et"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "nisi"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/additional-prices-categories/{additional_prices_category}

PATCH api/v1/ro/additional-prices-categories/{additional_prices_category}

URL Parameters

additional_prices_category  string  

Body Parameters

name  string  

Delete a category

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-categories/nostrum" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-categories/nostrum"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/additional-prices-categories/{additional_prices_category}

URL Parameters

additional_prices_category  string  

Comenzi PA produse

APIs for managing order additional prices

List of products

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/additional-prices-products" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-products"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/additional-prices-products

Add new product

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-products" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"brand_id":2,"category_id":11,"name":"nam","price":1514783,"default_invoicing":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-products"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "brand_id": 2,
    "category_id": 11,
    "name": "nam",
    "price": 1514783,
    "default_invoicing": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/additional-prices-products

Body Parameters

brand_id  integer  

category_id  integer  

name  string  

price  number  

default_invoicing  boolean optional  

Product detailed

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/additional-prices-products/cupiditate" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-products/cupiditate"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/additional-prices-products/{additional_prices_product}

URL Parameters

additional_prices_product  string  

Update a product

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-products/velit" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"brand_id":2,"category_id":16,"name":"beatae","price":2273246.23441,"default_invoicing":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-products/velit"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "brand_id": 2,
    "category_id": 16,
    "name": "beatae",
    "price": 2273246.23441,
    "default_invoicing": false
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/additional-prices-products/{additional_prices_product}

PATCH api/v1/ro/additional-prices-products/{additional_prices_product}

URL Parameters

additional_prices_product  string  

Body Parameters

brand_id  integer  

category_id  integer  

name  string  

price  number  

default_invoicing  boolean optional  

Delete a product

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-products/vitae" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/additional-prices-products/vitae"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/additional-prices-products/{additional_prices_product}

URL Parameters

additional_prices_product  string  

Comenzi plati

APIs for managing order additional prices

Add payment for order

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/order-payments/et" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"type":"cash","name":"et","value":493611.61,"order_id":10,"date":"2022-05-12"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-payments/et"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "type": "cash",
    "name": "et",
    "value": 493611.61,
    "order_id": 10,
    "date": "2022-05-12"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/order-payments/{order}

URL Parameters

order  string  

Body Parameters

type  string  
The value must be one of cash or op.

name  string optional  

value  number  

order_id  integer optional  

date  string  
The value must be a valid date in the format Y-m-d.

Delete payment of the order

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/order-payments/enim/dicta" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-payments/enim/dicta"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (404):

{
    "message": "Resursa nu a fost gasita \/ nu exista"
}

Request      

DELETE api/v1/ro/order-payments/{order}/{paymentId}

URL Parameters

order  string  

paymentId  string  

Comenzi preturi aditionale

APIs for managing order additional prices

Add a additional price

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/order-additional-prices" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_id":5,"name":"dicta","description":"ducimus","quantity":284775.565601,"price_per_unit":10076.91288051,"to_be_invoiced":false,"order_as_response":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-additional-prices"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": 5,
    "name": "dicta",
    "description": "ducimus",
    "quantity": 284775.565601,
    "price_per_unit": 10076.91288051,
    "to_be_invoiced": false,
    "order_as_response": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/order-additional-prices

Body Parameters

order_id  integer  

name  string  

description  string optional  

quantity  number optional  

price_per_unit  number  

to_be_invoiced  boolean optional  

order_as_response  boolean  

Update an additional price

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/order-additional-prices/illum" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"to_be_invoiced":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-additional-prices/illum"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "to_be_invoiced": false
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/order-additional-prices/{order_additional_price}

PATCH api/v1/ro/order-additional-prices/{order_additional_price}

URL Parameters

order_additional_price  string  

Body Parameters

to_be_invoiced  boolean  

Remove the specified resource from storage.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/order-additional-prices/id" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-additional-prices/id"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/order-additional-prices/{order_additional_price}

URL Parameters

order_additional_price  string  

Specific order additional prices

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/order-additional-prices/listing" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_id":3}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-additional-prices/listing"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": 3
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/order-additional-prices/listing

Body Parameters

order_id  integer  

Add product as additional price

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/order-additional-prices/product" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_id":4,"product_id":11,"description":"facilis","quantity":5845.54189,"order_as_response":false,"to_be_invoiced":false,"default_invoicing":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-additional-prices/product"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": 4,
    "product_id": 11,
    "description": "facilis",
    "quantity": 5845.54189,
    "order_as_response": false,
    "to_be_invoiced": false,
    "default_invoicing": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/order-additional-prices/product

Body Parameters

order_id  integer  

product_id  integer  

description  string optional  

quantity  number optional  

order_as_response  boolean  

to_be_invoiced  boolean optional  

default_invoicing  boolean optional  

Comenzi

APIs for managing work stages

Update order details.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/order-details/quibusdam" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"dentition_color":"laudantium","dentition_shape":"laudantium","face_shape":"illum","order_details":"neque"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-details/quibusdam"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "dentition_color": "laudantium",
    "dentition_shape": "laudantium",
    "face_shape": "illum",
    "order_details": "neque"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/order-details/{order}

URL Parameters

order  string  

Body Parameters

dentition_color  string optional  

dentition_shape  string optional  

face_shape  string optional  

order_details  string optional  

Display a listing of orders.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/orders" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/orders"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/orders

Add new order

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/orders" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"start_date":"2022-05-12","collaborator_id":6,"dentist_id":11,"patient_id":12}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/orders"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "start_date": "2022-05-12",
    "collaborator_id": 6,
    "dentist_id": 11,
    "patient_id": 12
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/orders

Body Parameters

start_date  string  
The value must be a valid date in the format Y-m-d.

collaborator_id  integer  

dentist_id  integer  

patient_id  integer  

Display a order.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/orders/ipsa" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/orders/ipsa"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/orders/{order}

URL Parameters

order  string  

Update a order.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/orders/consectetur" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"start_date":"2022-05-12","collaborator_id":19,"dentist_id":5,"patient_id":4}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/orders/consectetur"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "start_date": "2022-05-12",
    "collaborator_id": 19,
    "dentist_id": 5,
    "patient_id": 4
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/orders/{order}

PATCH api/v1/ro/orders/{order}

URL Parameters

order  string  

Body Parameters

start_date  string  
The value must be a valid date in the format Y-m-d.

collaborator_id  integer  

dentist_id  integer  

patient_id  integer  

Delete a order.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/orders/doloremque" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/orders/doloremque"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/orders/{order}

URL Parameters

order  string  

Display a listing of canceled orders.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/canceled-orders" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/canceled-orders"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/canceled-orders

Order list possibles actions

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/orders/possible-actions" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/orders/possible-actions"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/orders/possible-actions

Send a order in production

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/orders/send-to-prod" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_id":3}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/orders/send-to-prod"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": 3
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/orders/send-to-prod

Body Parameters

order_id  integer  

Finish a order.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/orders-finish/non" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/orders-finish/non"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/orders-finish/{order}

URL Parameters

order  string  

Cancel order

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/cancel-order/et" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"reason":"aut","appears_on_payment_document":false,"remake":false,"canceled_order_stages_updated_costs":[{"stage_id":2,"cost_per_unit":63393053}]}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/cancel-order/et"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "reason": "aut",
    "appears_on_payment_document": false,
    "remake": false,
    "canceled_order_stages_updated_costs": [
        {
            "stage_id": 2,
            "cost_per_unit": 63393053
        }
    ]
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/cancel-order/{order}

URL Parameters

order  string  

Body Parameters

reason  string  

appears_on_payment_document  boolean  

remake  boolean  

canceled_order_stages_updated_costs  object[] optional  

canceled_order_stages_updated_costs[].stage_id  integer  

canceled_order_stages_updated_costs[].cost_per_unit  number  

Get overview times

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/order-overview-times" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_id":14,"order_as_response":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-overview-times"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": 14,
    "order_as_response": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/order-overview-times

Body Parameters

order_id  integer  

order_as_response  boolean  

Order empty special stages

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/empty-special-stages" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_id":6}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/empty-special-stages"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": 6
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/ows-stages/empty-special-stages

Body Parameters

order_id  integer  

Delete specific id`a of empty special stages from order

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/delete-empty-special-stages-ids" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_id":8,"order_as_response":false,"stages_ids":[18,7]}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/delete-empty-special-stages-ids"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": 8,
    "order_as_response": false,
    "stages_ids": [
        18,
        7
    ]
}

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/ows-stages/delete-empty-special-stages-ids

Body Parameters

order_id  integer  

order_as_response  boolean  

stages_ids  integer[]  

Delete specific id`a of empty special stages from order

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/delete-empty-special-stages" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_id":17,"order_as_response":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-stages/delete-empty-special-stages"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": 17,
    "order_as_response": false
}

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/ows-stages/delete-empty-special-stages

Body Parameters

order_id  integer  

order_as_response  boolean  

Dashboard

APIs for managing dashboard

Orders dashboard by status

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/orders-dashboard" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"only_to_send":false,"display_all":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/orders-dashboard"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "only_to_send": false,
    "display_all": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/orders-dashboard

Body Parameters

only_to_send  boolean optional  

display_all  boolean optional  

Skip order work stage

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/skip-technician/aliquam" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/skip-technician/aliquam"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/skip-technician/{orderWorkStage}

URL Parameters

orderWorkStage  string  

Dentisti

APIs for managing Dentists

Dentists listing.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/dentists?sort=-id%2Cfirst_name%2Clast_name" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/dentists"
);

let params = {
    "sort": "-id,first_name,last_name",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 21,
            "first_name": "Bernard",
            "last_name": "Man",
            "cnp": "1690304012226",
            "phone_fax": "0761842572",
            "email": "adobrescu@example.com"
        },
        {
            "id": 22,
            "first_name": "Camelia",
            "last_name": "Sava",
            "cnp": "1781208249381",
            "phone_fax": "0783294499",
            "email": "ardelean.mirela@example.com"
        }
    ]
}

Request      

GET api/v1/ro/dentists

Query Parameters

sort  string optional  
Field to sort by. Sorting ASC id Sorting DESC -id

filter[collaborators.name]  string optional  
Field to filter by collaborator id and/or name.

Store a newly created dentist.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/dentists" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"first_name":"et","last_name":"id","cnp":12422.58169398,"email":"mohammad.cummings@example.org","phone_fax":"omnis","collaborator_id":3,"order":{}}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/dentists"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "et",
    "last_name": "id",
    "cnp": 12422.58169398,
    "email": "mohammad.cummings@example.org",
    "phone_fax": "omnis",
    "collaborator_id": 3,
    "order": {}
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 23,
        "first_name": "Vasilică",
        "last_name": "Toth",
        "cnp": "6721003347197",
        "phone_fax": "0256939114",
        "email": "niculita.bodea@example.com"
    }
}

Request      

POST api/v1/ro/dentists

Body Parameters

first_name  string  

last_name  string  

cnp  number optional  

email  string optional  
Câmpul value trebuie să fie o adresă de e-mail validă.

phone_fax  string optional  

collaborator_id  integer optional  

order  string optional  

Display a dentist.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/dentists/illo" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/dentists/illo"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 24,
        "first_name": "Cazimir",
        "last_name": "Ursu",
        "cnp": "5400202382767",
        "phone_fax": "0744536289",
        "email": "gal.agata@example.org"
    }
}

Request      

GET api/v1/ro/dentists/{dentist}

URL Parameters

dentist  string  

Update a dentist.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/dentists/nisi" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"first_name":"velit","last_name":"tenetur","cnp":0.3,"email":"xlueilwitz@example.com","phone_fax":"numquam","collaborator_id":11,"order":{}}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/dentists/nisi"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "velit",
    "last_name": "tenetur",
    "cnp": 0.3,
    "email": "xlueilwitz@example.com",
    "phone_fax": "numquam",
    "collaborator_id": 11,
    "order": {}
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 25,
        "first_name": "Eremia",
        "last_name": "Pintilie",
        "cnp": "3460815234314",
        "phone_fax": "0764787396",
        "email": "gbotezatu@example.org"
    }
}

Request      

PUT api/v1/ro/dentists/{dentist}

PATCH api/v1/ro/dentists/{dentist}

URL Parameters

dentist  string  

Body Parameters

first_name  string  

last_name  string  

cnp  number optional  

email  string optional  
Câmpul value trebuie să fie o adresă de e-mail validă.

phone_fax  string optional  

collaborator_id  integer optional  

order  string optional  

Remove a dentist.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/dentists/repellat" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/dentists/repellat"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/dentists/{dentist}

URL Parameters

dentist  string  

DC List of collaborators of a dentist.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/dentist-collaborators-listing" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"dentist_id":9}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/dentist-collaborators-listing"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "dentist_id": 9
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/dentist-collaborators-listing

Body Parameters

dentist_id  integer  

DC Add a collaborator to a dentist.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/dentist-collaborators" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"dentist_id":2,"collaborator_id":11}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/dentist-collaborators"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "dentist_id": 2,
    "collaborator_id": 11
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/dentist-collaborators

Body Parameters

dentist_id  integer  

collaborator_id  integer  

DC Remove a collaborator from a dentist.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/dentist-collaborators" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"dentist_id":15,"collaborator_id":1}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/dentist-collaborators"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "dentist_id": 15,
    "collaborator_id": 1
}

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/dentist-collaborators

Body Parameters

dentist_id  integer  

collaborator_id  integer  

DP List of prices for a dentist.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/dentist-prices-listing" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"dentist_id":10,"work_template_id":8}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/dentist-prices-listing"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "dentist_id": 10,
    "work_template_id": 8
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/dentist-prices-listing

Body Parameters

dentist_id  integer  

work_template_id  integer optional  

DP Add/update a price to a dentist.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/dentist-prices" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"dentist_id":10,"work_template_id":5,"price":10,"locked":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/dentist-prices"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "dentist_id": 10,
    "work_template_id": 5,
    "price": 10,
    "locked": false
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/dentist-prices

Body Parameters

dentist_id  integer  

work_template_id  integer  

price  integer  

locked  boolean  

DP Delete a price to a dentist.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/dentist-prices" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"dentist_id":7,"work_template_id":18}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/dentist-prices"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "dentist_id": 7,
    "work_template_id": 18
}

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/dentist-prices

Body Parameters

dentist_id  integer  

work_template_id  integer  

Departamente

APIs for managing departments

Display a listing of departments.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/departments" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/departments"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/departments

Store a newly created department.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/departments" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"temporibus"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/departments"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "temporibus"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/departments

Body Parameters

name  string  

Show the specified department.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/departments/dolor" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/departments/dolor"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/departments/{department}

URL Parameters

department  string  

Update the specified department.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/departments/voluptas" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"aut"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/departments/voluptas"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "aut"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/departments/{department}

PATCH api/v1/ro/departments/{department}

URL Parameters

department  string  

Body Parameters

name  string  

Delete the specified department.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/departments/debitis" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/departments/debitis"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/departments/{department}

URL Parameters

department  string  

Documente de plata

APIs for managing work stages

Add discount to payment

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/discounts/reiciendis" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"discount_type_id":"facere","name":"illo","value":20.483105}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/discounts/reiciendis"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "discount_type_id": "facere",
    "name": "illo",
    "value": 20.483105
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/payment-documents/discounts/{payment_document}

URL Parameters

payment_document  string  

Body Parameters

discount_type_id  string  

name  string  

value  number  

Remove discount from payment

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/discounts/architecto" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"discount_id":"maiores"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/discounts/architecto"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "discount_id": "maiores"
}

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/payment-documents/discounts/{payment_document}

URL Parameters

payment_document  string  

Body Parameters

discount_id  string  

Display a listing of payment documents.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/payment-documents" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/payment-documents

Add a new payment document.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"collaborator_id":12,"dentist_id":14,"detailed_payment":false,"lab_invoice_profile_id":"sint"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "collaborator_id": 12,
    "dentist_id": 14,
    "detailed_payment": false,
    "lab_invoice_profile_id": "sint"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/payment-documents

Body Parameters

collaborator_id  integer  

dentist_id  integer optional  

detailed_payment  boolean  

lab_invoice_profile_id  string  

Display a payment document.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/payment-documents/enim" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/enim"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/payment-documents/{payment_document}

URL Parameters

payment_document  string  

Remove a payment document.

requires authentication

.

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/corporis" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/corporis"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/payment-documents/{payment_document}

URL Parameters

payment_document  string  

Available orders for a payment document

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/available-orders/accusantium" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"filters":{"patient_filtering":{"patient_name":"at"},"dentist_filtering":{"dentist_name":"aut"},"date_filtering":{"start_date":{"interval_start":"12-05-2022","interval_end":"12-05-2022"},"end_date":{"interval_start":"12-05-2022","interval_end":"12-05-2022"}}}}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/available-orders/accusantium"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "filters": {
        "patient_filtering": {
            "patient_name": "at"
        },
        "dentist_filtering": {
            "dentist_name": "aut"
        },
        "date_filtering": {
            "start_date": {
                "interval_start": "12-05-2022",
                "interval_end": "12-05-2022"
            },
            "end_date": {
                "interval_start": "12-05-2022",
                "interval_end": "12-05-2022"
            }
        }
    }
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/payment-documents/available-orders/{payment_document}

URL Parameters

payment_document  string  

Body Parameters

filters  object optional  

filters.patient_filtering  object optional  

filters.patient_filtering.patient_name  string optional  

filters.dentist_filtering  object optional  

filters.dentist_filtering.dentist_name  string optional  

filters.date_filtering  object optional  

filters.date_filtering.start_date  object optional  

filters.date_filtering.start_date.interval_start  string optional  
The value must be a valid date in the format d-m-Y.

filters.date_filtering.start_date.interval_end  string optional  
The value must be a valid date in the format d-m-Y.

filters.date_filtering.end_date  object optional  

filters.date_filtering.end_date.interval_start  string optional  
The value must be a valid date in the format d-m-Y.

filters.date_filtering.end_date.interval_end  string optional  
The value must be a valid date in the format d-m-Y.

Orders detailed works

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/orders-details" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_ids":[{"order_id":9}]}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/orders-details"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_ids": [
        {
            "order_id": 9
        }
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/payment-documents/orders-details

Body Parameters

order_ids  object[] optional  

order_ids[].order_id  integer  

Add orders to a payment document.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/add-orders/aut" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_ids_to_be_added":[{"order_id":8}],"detailed_payment":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/add-orders/aut"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_ids_to_be_added": [
        {
            "order_id": 8
        }
    ],
    "detailed_payment": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/payment-documents/add-orders/{payment_document}

URL Parameters

payment_document  string  

Body Parameters

order_ids_to_be_added  object[] optional  

order_ids_to_be_added[].order_id  integer  

detailed_payment  boolean  

Remove order from payment document

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/remove-orders/officiis" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_id_to_be_removed":"velit","detailed_payment":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/remove-orders/officiis"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id_to_be_removed": "velit",
    "detailed_payment": false
}

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/payment-documents/remove-orders/{payment_document}

URL Parameters

payment_document  string  

Body Parameters

order_id_to_be_removed  string  

detailed_payment  boolean  

Lock a payment document

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/lock/molestiae" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"detailed_payment":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/lock/molestiae"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "detailed_payment": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/payment-documents/lock/{payment_document}

URL Parameters

payment_document  string  

Body Parameters

detailed_payment  boolean  

Mark payment document as paid

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/paid/minima" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"detailed_payment":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/paid/minima"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "detailed_payment": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/payment-documents/paid/{payment_document}

URL Parameters

payment_document  string  

Body Parameters

detailed_payment  boolean  

Add payment to payment document

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/add-payment/distinctio" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"type":"op","name":"provident","value":0.331841,"order_id":7,"date":"2022-05-12"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/add-payment/distinctio"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "type": "op",
    "name": "provident",
    "value": 0.331841,
    "order_id": 7,
    "date": "2022-05-12"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/payment-documents/add-payment/{payment_document}

URL Parameters

payment_document  string  

Body Parameters

type  string  
The value must be one of cash or op.

name  string optional  

value  number  

order_id  integer optional  

date  string  
The value must be a valid date in the format Y-m-d.

Remove payment from payment document

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/remove-payment/facere" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"order_id":1,"payment_id":9}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/remove-payment/facere"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "order_id": 1,
    "payment_id": 9
}

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/payment-documents/remove-payment/{payment_document}

URL Parameters

payment_document  string  

Body Parameters

order_id  integer optional  

payment_id  integer  

Get all payments of a payment document

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/payment-documents/payments/eum" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/payments/eum"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/payment-documents/payments/{payment_document}

URL Parameters

payment_document  string  

Generate invoice

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/generate-invoice/sed" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"collaborator_id":"sunt","invoice_series_id":"reiciendis","invoice_date":"2022-05-12","invoice_services":[{"service_name":"est","amount":4,"unit_price":5.423}]}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/generate-invoice/sed"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "collaborator_id": "sunt",
    "invoice_series_id": "reiciendis",
    "invoice_date": "2022-05-12",
    "invoice_services": [
        {
            "service_name": "est",
            "amount": 4,
            "unit_price": 5.423
        }
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/payment-documents/generate-invoice/{payment_document}

URL Parameters

payment_document  string  

Body Parameters

collaborator_id  string  

invoice_series_id  string  

invoice_date  string  
The value must be a valid date in the format Y-m-d.

invoice_services  object[] optional  

invoice_services[].service_name  string  

invoice_services[].amount  integer  

invoice_services[].unit_price  number  

Generate receipt

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/generate-receipt/explicabo" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"receipt_series_id":"distinctio","receipt_date":"2022-05-12","payment_id":"ea"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/payment-documents/generate-receipt/explicabo"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "receipt_series_id": "distinctio",
    "receipt_date": "2022-05-12",
    "payment_id": "ea"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/payment-documents/generate-receipt/{payment_document}

URL Parameters

payment_document  string  

Body Parameters

receipt_series_id  string  

receipt_date  string  
The value must be a valid date in the format Y-m-d.

payment_id  string  

DP Tipuri reduceri

APIs for managing discount type

Display a listing discount types.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/discount-types" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/discount-types"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/discount-types

Store a newly created discount type.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/discount-types" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"in"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/discount-types"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "in"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/discount-types

Body Parameters

name  string  

Show the specified discount type.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/discount-types/quae" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/discount-types/quae"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/discount-types/{discount_type}

URL Parameters

discount_type  string  

Update the specified discount type.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/discount-types/dolores" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"qui"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/discount-types/dolores"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "qui"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/discount-types/{discount_type}

PATCH api/v1/ro/discount-types/{discount_type}

URL Parameters

discount_type  string  

Body Parameters

name  string  

Etape lucru utilizatori

APIs for managing work stage users

Store a newly user to a work stage.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/work-stage-users" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"work_stage_id":20,"user_id":4,"price":56571199.3877}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-stage-users"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "work_stage_id": 20,
    "user_id": 4,
    "price": 56571199.3877
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 101,
        "work_stage_id": 1,
        "user_id": 1,
        "price": 103,
        "rank": 9,
        "user": {
            "id": 1,
            "username": "docs.superadmin",
            "first_name": "Super",
            "last_name": "Admin",
            "status": "active",
            "roles": [
                "superadmin"
            ]
        }
    }
}

Request      

POST api/v1/ro/work-stage-users

Body Parameters

work_stage_id  integer  

user_id  integer  

price  number  

Remove a user attached to a work stage.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/work-stage-users/10" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-stage-users/10"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/work-stage-users/{work_stage_user}

URL Parameters

work_stage_user  integer  

Updates work stage users on specified work stage

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/work-stage-users" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"work_stage_id":15,"work_stage_users":"ullam"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-stage-users"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "work_stage_id": 15,
    "work_stage_users": "ullam"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 102,
            "work_stage_id": 1,
            "user_id": 1,
            "price": 78,
            "rank": 8,
            "user": {
                "id": 1,
                "username": "docs.superadmin",
                "first_name": "Super",
                "last_name": "Admin",
                "status": "active",
                "roles": [
                    "superadmin"
                ]
            }
        },
        {
            "id": 103,
            "work_stage_id": 1,
            "user_id": 1,
            "price": 10,
            "rank": 3,
            "user": {
                "id": 1,
                "username": "docs.superadmin",
                "first_name": "Super",
                "last_name": "Admin",
                "status": "active",
                "roles": [
                    "superadmin"
                ]
            }
        }
    ]
}

Request      

PUT api/v1/ro/work-stage-users

Body Parameters

work_stage_id  integer  

work_stage_users  required optional  

work_stage_users[].user_id  integer  

Display all users attached to a work stage.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/work-stage-users-listing/1" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-stage-users-listing/1"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 104,
            "work_stage_id": 1,
            "user_id": 1,
            "price": 33,
            "rank": 5,
            "user": {
                "id": 1,
                "username": "docs.superadmin",
                "first_name": "Super",
                "last_name": "Admin",
                "status": "active",
                "roles": [
                    "superadmin"
                ]
            }
        },
        {
            "id": 105,
            "work_stage_id": 1,
            "user_id": 1,
            "price": 123,
            "rank": 3,
            "user": {
                "id": 1,
                "username": "docs.superadmin",
                "first_name": "Super",
                "last_name": "Admin",
                "status": "active",
                "roles": [
                    "superadmin"
                ]
            }
        }
    ]
}

Request      

GET api/v1/ro/work-stage-users-listing/{work_stage}

URL Parameters

work_stage  integer  
work stage id

Etape lucru

APIs for managing work stages

Work stages listing.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/work-stages" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-stages"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 21,
            "name": "Est fuga qui quasi corrupti.",
            "type": "bont",
            "price_type": "fix",
            "min_duration": 99,
            "cost": 5861.06,
            "remake_cost": 9810.2,
            "special_cost": 8193.49,
            "description": "Id amet dolores laudantium quis fugiat non iusto. Omnis ut provident voluptas sapiente dignissimos accusantium dolores. Animi est sed enim. Et qui ut sunt et sed voluptatem.",
            "confirmation_required": true,
            "to_send": true,
            "extra_cost_applied": false,
            "multi_factor_dentition": {
                "1": true,
                "2": true,
                "3": true,
                "4": true,
                "5": true,
                "6": true,
                "7": true
            },
            "users": []
        },
        {
            "id": 22,
            "name": "Totam culpa cum modi.",
            "type": "extra",
            "price_type": "fix",
            "min_duration": 62,
            "cost": 3837.05,
            "remake_cost": 8322.26,
            "special_cost": 7630.74,
            "description": "Id facilis quo tempore consequatur. Ipsa dolore suscipit minus non. Provident reiciendis iste non. Impedit et corporis est tenetur ullam. Quibusdam dolorum at voluptatibus qui sapiente soluta quia.",
            "confirmation_required": true,
            "to_send": false,
            "extra_cost_applied": true,
            "multi_factor_dentition": {
                "1": true,
                "2": true,
                "3": true,
                "4": true,
                "5": true,
                "6": true,
                "7": true
            },
            "users": []
        }
    ]
}

Request      

GET api/v1/ro/work-stages

Store a newly created work stage.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/work-stages" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"qui","type":"external","price_type":"elemente","min_duration":6,"cost":373.434062,"to_send":false,"remake_cost":26395093.4914,"special_cost":0.27,"description":"alias","confirmation_required":false,"extra_cost_applied":false,"multi_factor_dentition":{"1":false,"2":false,"3":false,"4":false,"5":false,"6":false,"7":false}}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-stages"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "qui",
    "type": "external",
    "price_type": "elemente",
    "min_duration": 6,
    "cost": 373.434062,
    "to_send": false,
    "remake_cost": 26395093.4914,
    "special_cost": 0.27,
    "description": "alias",
    "confirmation_required": false,
    "extra_cost_applied": false,
    "multi_factor_dentition": {
        "1": false,
        "2": false,
        "3": false,
        "4": false,
        "5": false,
        "6": false,
        "7": false
    }
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 23,
        "name": "Omnis est qui ea excepturi.",
        "type": "implant",
        "price_type": "arcada",
        "min_duration": 32,
        "cost": 2932.29,
        "remake_cost": 9408.59,
        "special_cost": 5913.74,
        "description": "Voluptas dolorem et et consequatur assumenda quia corrupti. Cupiditate aliquid dolor aut et laboriosam error. Perferendis vitae voluptatem aut voluptatem.",
        "confirmation_required": true,
        "to_send": true,
        "extra_cost_applied": false,
        "multi_factor_dentition": {
            "1": true,
            "2": true,
            "3": true,
            "4": true,
            "5": true,
            "6": true,
            "7": true
        },
        "users": []
    }
}

Request      

POST api/v1/ro/work-stages

Body Parameters

name  string  

type  string  
The value must be one of trial, normal, implant, special, external, bont, gingie, or extra.

price_type  string  
The value must be one of fix, elemente, or arcada.

min_duration  integer  

cost  number  

to_send  boolean  

remake_cost  number  

special_cost  number  

description  string optional  

confirmation_required  boolean optional  

extra_cost_applied  boolean  

multi_factor_dentition  object optional  

multi_factor_dentition.1  boolean  

multi_factor_dentition.2  boolean  

multi_factor_dentition.3  boolean  

multi_factor_dentition.4  boolean  

multi_factor_dentition.5  boolean  

multi_factor_dentition.6  boolean  

multi_factor_dentition.7  boolean  

Display a work stages.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/work-stages/4" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-stages/4"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 24,
        "name": "Dicta sed itaque non.",
        "type": "bont",
        "price_type": "elemente",
        "min_duration": 87,
        "cost": 8628.89,
        "remake_cost": 4188.82,
        "special_cost": 6830.53,
        "description": "Iusto sequi nam corrupti commodi fugiat voluptate repudiandae dignissimos. Magnam cum consequatur nemo distinctio nemo. Esse explicabo veritatis earum dolores nihil odio nobis.",
        "confirmation_required": false,
        "to_send": false,
        "extra_cost_applied": true,
        "multi_factor_dentition": {
            "1": true,
            "2": true,
            "3": true,
            "4": true,
            "5": true,
            "6": true,
            "7": true
        },
        "users": []
    }
}

Request      

GET api/v1/ro/work-stages/{work_stage}

URL Parameters

work_stage  integer  

Update a work stages.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/work-stages/2" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"aut","type":"trial","price_type":"fix","min_duration":1,"cost":53580747.6898,"to_send":false,"remake_cost":17.240101,"special_cost":25934.076,"description":"eaque","confirmation_required":false,"extra_cost_applied":false,"multi_factor_dentition":{"1":false,"2":false,"3":false,"4":false,"5":false,"6":false,"7":false}}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-stages/2"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "aut",
    "type": "trial",
    "price_type": "fix",
    "min_duration": 1,
    "cost": 53580747.6898,
    "to_send": false,
    "remake_cost": 17.240101,
    "special_cost": 25934.076,
    "description": "eaque",
    "confirmation_required": false,
    "extra_cost_applied": false,
    "multi_factor_dentition": {
        "1": false,
        "2": false,
        "3": false,
        "4": false,
        "5": false,
        "6": false,
        "7": false
    }
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 25,
        "name": "Et est alias ad optio.",
        "type": "extra",
        "price_type": "fix",
        "min_duration": 14,
        "cost": 3977.61,
        "remake_cost": 6079.67,
        "special_cost": 8111.42,
        "description": "Dolor eos qui earum officiis ut eius soluta. Voluptates ipsum totam ipsam culpa et. Doloremque blanditiis facere soluta repellendus velit iure a.",
        "confirmation_required": false,
        "to_send": true,
        "extra_cost_applied": false,
        "multi_factor_dentition": {
            "1": true,
            "2": true,
            "3": true,
            "4": true,
            "5": true,
            "6": true,
            "7": true
        },
        "users": []
    }
}

Request      

PUT api/v1/ro/work-stages/{work_stage}

PATCH api/v1/ro/work-stages/{work_stage}

URL Parameters

work_stage  integer  

Body Parameters

name  string  

type  string  
The value must be one of trial, normal, implant, special, external, bont, gingie, or extra.

price_type  string  
The value must be one of fix, elemente, or arcada.

min_duration  integer  

cost  number  

to_send  boolean  

remake_cost  number  

special_cost  number  

description  string optional  

confirmation_required  boolean optional  

extra_cost_applied  boolean  

multi_factor_dentition  object optional  

multi_factor_dentition.1  boolean  

multi_factor_dentition.2  boolean  

multi_factor_dentition.3  boolean  

multi_factor_dentition.4  boolean  

multi_factor_dentition.5  boolean  

multi_factor_dentition.6  boolean  

multi_factor_dentition.7  boolean  

Remove a work stages.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/work-stages/18" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-stages/18"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/work-stages/{work_stage}

URL Parameters

work_stage  integer  

Reset all work stages

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/work-stages-reset" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-stages-reset"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/work-stages-reset

Facturi serii

APIs for managing invoice series

Create invoice serie

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/invoice-series" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"series":"ea","lab_invoice_profile_id":6,"vat":12,"start_no":4,"active":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/invoice-series"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "series": "ea",
    "lab_invoice_profile_id": 6,
    "vat": 12,
    "start_no": 4,
    "active": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/invoice-series

Body Parameters

series  string  

lab_invoice_profile_id  integer  

vat  integer  

start_no  integer  

active  boolean  

Display invoice series

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/invoice-series/eum" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/invoice-series/eum"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/invoice-series/{lab_invoice_profile_id?}

URL Parameters

lab_invoice_profile_id  string optional  

Activate invoice serie

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/invoice-series/activate/cum" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/invoice-series/activate/cum"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/invoice-series/activate/{invoice_series}

URL Parameters

invoice_series  string  

Facturi

APIs for managing payment documents

Display list of invoices

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/invoices" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/invoices"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/invoices

Display the specified resource.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/invoices/exercitationem" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/invoices/exercitationem"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/invoices/{invoice}

URL Parameters

invoice  string  

Generate invoice's PDF document.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/invoices/nulla/generate-pdf" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/invoices/nulla/generate-pdf"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/invoices/{invoice}/generate-pdf

URL Parameters

invoice  string  

Grafice

APIs for managing charts

Listing of stages per days number.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/reports/trial-stages" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"number_of_days":2}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/reports/trial-stages"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "number_of_days": 2
}

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/reports/trial-stages

Body Parameters

number_of_days  integer optional  

Listing of top debtors.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/reports/top-debtors" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"number_of_debtors":10}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/reports/top-debtors"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "number_of_debtors": 10
}

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/reports/top-debtors

Body Parameters

number_of_debtors  integer optional  

Listing of orders total per month.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/reports/orders-chart/ducimus" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"number_of_months":12}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/reports/orders-chart/ducimus"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "number_of_months": 12
}

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/reports/orders-chart/{collaborator?}

URL Parameters

collaborator  string optional  

Body Parameters

number_of_months  integer optional  

Ranking of collaborators per orders value.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/reports/orders-chart-collaborators" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"number_of_months":12}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/reports/orders-chart-collaborators"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "number_of_months": 12
}

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/reports/orders-chart-collaborators

Body Parameters

number_of_months  integer optional  

Listing of works per days number.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/reports/works-chart/rerum" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"number_of_months":15}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/reports/works-chart/rerum"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "number_of_months": 15
}

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/reports/works-chart/{workTemplate?}

URL Parameters

workTemplate  string optional  

Body Parameters

number_of_months  integer optional  

Ranking of work orders number.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/reports/works-chart-orders" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"number_of_months":10}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/reports/works-chart-orders"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "number_of_months": 10
}

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/reports/works-chart-orders

Body Parameters

number_of_months  integer optional  

Ranking of technician's completed stages value.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/reports/completed-stages/technician/quia" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"number_of_months":4}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/reports/completed-stages/technician/quia"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "number_of_months": 4
}

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/reports/completed-stages/technician/{user}

URL Parameters

user  string  

Body Parameters

number_of_months  integer optional  

Listing of technician's completed stage(s) value per months number.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/reports/completed-stages/technician/reiciendis/stages/doloremque" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"number_of_months":4}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/reports/completed-stages/technician/reiciendis/stages/doloremque"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "number_of_months": 4
}

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/reports/completed-stages/technician/{user}/stages/{workStage?}

URL Parameters

user  string  

workStage  string optional  

Body Parameters

number_of_months  integer optional  

Ranking of technician's assigned stages value.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/reports/assigned-stages/technician/voluptatibus" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/reports/assigned-stages/technician/voluptatibus"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/reports/assigned-stages/technician/{user}

URL Parameters

user  string  

Judete

APIs for managing regions

Regions listing.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/regions" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/regions"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 44,
            "title": "region title"
        },
        {
            "id": null,
            "title": "region title"
        }
    ]
}

Request      

GET api/v1/ro/regions

Store a newly created region.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/regions" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"title":"rem"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/regions"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": "rem"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 46,
        "title": "region title"
    }
}

Request      

POST api/v1/ro/regions

Body Parameters

title  string  

Display a region.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/regions/13" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/regions/13"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 47,
        "title": "region title"
    }
}

Request      

GET api/v1/ro/regions/{region}

URL Parameters

region  integer  

Update a region.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/regions/provident" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"title":"velit"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/regions/provident"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": "velit"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 48,
        "title": "region title"
    }
}

Request      

PUT api/v1/ro/regions/{region}

PATCH api/v1/ro/regions/{region}

URL Parameters

region  string  

Body Parameters

title  string  

Loguri

APIs for managing logs

Logs listing.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/logs" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"logs_number":14}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/logs"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "logs_number": 14
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/logs

Body Parameters

logs_number  integer optional  

Pacienti

APIs for managing patients

Patients listing.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/patients" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/patients"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 21,
            "first_name": "Aurelia",
            "last_name": "Chiriac",
            "cnp": "6610929527946",
            "mobile": "0771131242",
            "phone_fax": "0233376967",
            "email": "bebe77@example.org",
            "address": "Aleea Învățătorului 6\/9, Fetești, Harghita, CP 908477"
        },
        {
            "id": 22,
            "first_name": "Daiana",
            "last_name": "Bogdan",
            "cnp": "1900304181516",
            "mobile": "0772915460",
            "phone_fax": "0709583041",
            "email": "leonard03@example.org",
            "address": "Aleea 1 Decembrie 4\/1, Cajvana, Ilfov, CP 295313"
        }
    ]
}

Request      

GET api/v1/ro/patients

Store a newly created patient.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/patients" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"last_name":"ut","first_name":"","cnp":62,"email":"valentina86@example.net","mobile":"qui","phone_fax":"vitae","address":"qui"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/patients"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "last_name": "ut",
    "first_name": "",
    "cnp": 62,
    "email": "valentina86@example.net",
    "mobile": "qui",
    "phone_fax": "vitae",
    "address": "qui"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 23,
        "first_name": "Margareta",
        "last_name": "Oprea",
        "cnp": "1850601394486",
        "mobile": "0312308897",
        "phone_fax": "0351131147",
        "email": "sdiaconescu@example.net",
        "address": "Calea Independenței 7A, Mun. Chișineu-Criș, Călărași, CP 663705"
    }
}

Request      

POST api/v1/ro/patients

Body Parameters

last_name  string  

first_name  string  

cnp  number optional  

email  string optional  
Câmpul value trebuie să fie o adresă de e-mail validă.

mobile  string optional  

phone_fax  string optional  

address  string optional  

Display a patient.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/patients/ut" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/patients/ut"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 24,
        "first_name": "Otilia",
        "last_name": "Vasilescu",
        "cnp": "4290509435217",
        "mobile": "0793216932",
        "phone_fax": "0770154657",
        "email": "lili32@example.com",
        "address": "Calea Vlad Țepeș 6\/6, Aleșd, Gorj, CP 824250"
    }
}

Request      

GET api/v1/ro/patients/{patient}

URL Parameters

patient  string  

Update a patient.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/patients/delectus" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"last_name":"qui","first_name":"","cnp":2358.175414828,"email":"dkassulke@example.org","mobile":"eum","phone_fax":"sint","address":"aut"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/patients/delectus"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "last_name": "qui",
    "first_name": "",
    "cnp": 2358.175414828,
    "email": "dkassulke@example.org",
    "mobile": "eum",
    "phone_fax": "sint",
    "address": "aut"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 25,
        "first_name": "Rafila",
        "last_name": "Stefan",
        "cnp": "3991117350233",
        "mobile": "0745400205",
        "phone_fax": "0769443457",
        "email": "costel.moldovan@example.com",
        "address": "Splaiul Frunzișului 5, Mun. Panciu, Mehedinți, CP 752877"
    }
}

Request      

PUT api/v1/ro/patients/{patient}

PATCH api/v1/ro/patients/{patient}

URL Parameters

patient  string  

Body Parameters

last_name  string  

first_name  string  

cnp  number optional  

email  string optional  
Câmpul value trebuie să fie o adresă de e-mail validă.

mobile  string optional  

phone_fax  string optional  

address  string optional  

Remove a patient.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/patients/enim" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/patients/enim"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/patients/{patient}

URL Parameters

patient  string optional  
numeric required

Profil laborator

APIs for managing laboratory's profile

Lab profile.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/lab-profile" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/lab-profile"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "name": "Profil laborator xxxxxx",
        "address": "B-dul. Jiului 2A, Mun. Slatina, Sălaj, CP 119190",
        "region_id": 0,
        "region": null,
        "city": "Mun. Iași",
        "saturday": null,
        "sunday": null,
        "phone_fax": "0759428888",
        "mobile1": "0742216127",
        "mobile2": "0723465812",
        "email1": "kalbu@example.com",
        "email2": "umoldovan@example.net",
        "website": "https:\/\/xxxxxx.ro",
        "facebook": "https:\/\/www.facebook.com\/xxxxxx",
        "linkedin": "https:\/\/www.linkedin.com\/in\/xxxxxx",
        "logo": null,
        "cover": null,
        "users_occupancy_threshold_busy_working": 0,
        "users_occupancy_threshold_full_working": 0,
        "users_occupancy_threshold_busy_waiting": 0,
        "users_occupancy_threshold_full_waiting": 0,
        "same_user_option": null,
        "show_dashboard": null,
        "show_calendar": null,
        "force_finish_order": null,
        "lab_invoice_profile_id": null,
        "lab_invoice_profile": null,
        "payment_document_title": null,
        "payment_document_text": null,
        "technician_report_title": null,
        "technician_report_text": null,
        "company_description": null,
        "currency": null
    }
}

Request      

GET api/v1/ro/lab-profile

Update lab profile.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/lab-profile" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"repudiandae","city":"cupiditate","region_id":11,"address":"sed","phone_fax":"voluptatem","mobile1":"ut","mobile2":"enim","email1":"rath.magnus@example.net","email2":"fernser@example.org","website":"https:\/\/yoursite.com","facebook":"https:\/\/www.facebook.com\/xxxxx | https:\/\/fb.com\/xxxx","linkedin":"https:\/\/www.linkedin.com\/in\/xxxxxxx","saturday":false,"sunday":false,"users_occupancy_threshold_busy_waiting":8,"users_occupancy_threshold_busy_working":0,"users_occupancy_threshold_full_waiting":18,"users_occupancy_threshold_full_working":6}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/lab-profile"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "repudiandae",
    "city": "cupiditate",
    "region_id": 11,
    "address": "sed",
    "phone_fax": "voluptatem",
    "mobile1": "ut",
    "mobile2": "enim",
    "email1": "rath.magnus@example.net",
    "email2": "fernser@example.org",
    "website": "https:\/\/yoursite.com",
    "facebook": "https:\/\/www.facebook.com\/xxxxx | https:\/\/fb.com\/xxxx",
    "linkedin": "https:\/\/www.linkedin.com\/in\/xxxxxxx",
    "saturday": false,
    "sunday": false,
    "users_occupancy_threshold_busy_waiting": 8,
    "users_occupancy_threshold_busy_working": 0,
    "users_occupancy_threshold_full_waiting": 18,
    "users_occupancy_threshold_full_working": 6
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "name": "Profil laborator xxxxxx",
        "address": "Splaiul Zidarilor 6\/3, Mun. Dăbuleni, Brăila, CP 204827",
        "region_id": 33,
        "region": "Prahova",
        "city": "Copșa Mică",
        "saturday": null,
        "sunday": null,
        "phone_fax": "0331087158",
        "mobile1": "0753903303",
        "mobile2": "0783348170",
        "email1": "preda.daciana@example.net",
        "email2": "pdinca@example.net",
        "website": "https:\/\/xxxxxx.ro",
        "facebook": "https:\/\/www.facebook.com\/xxxxxx",
        "linkedin": "https:\/\/www.linkedin.com\/in\/xxxxxx",
        "logo": null,
        "cover": null,
        "users_occupancy_threshold_busy_working": 0,
        "users_occupancy_threshold_full_working": 0,
        "users_occupancy_threshold_busy_waiting": 0,
        "users_occupancy_threshold_full_waiting": 0,
        "same_user_option": null,
        "show_dashboard": null,
        "show_calendar": null,
        "force_finish_order": null,
        "lab_invoice_profile_id": null,
        "lab_invoice_profile": null,
        "payment_document_title": null,
        "payment_document_text": null,
        "technician_report_title": null,
        "technician_report_text": null,
        "company_description": null,
        "currency": null
    }
}

Request      

PUT api/v1/ro/lab-profile

Body Parameters

name  string  

city  string optional  

region_id  integer  

address  string optional  

phone_fax  string optional  

mobile1  string optional  

mobile2  string optional  

email1  string optional  
Câmpul value trebuie să fie o adresă de e-mail validă.

email2  string optional  
Câmpul value trebuie să fie o adresă de e-mail validă.

website  string optional  
The value must be a valid URL.

facebook  string optional  
The value must be a valid URL.

linkedin  string optional  
The value must be a valid URL.

saturday  boolean  

sunday  boolean  

users_occupancy_threshold_busy_waiting  integer  

users_occupancy_threshold_busy_working  integer  
Min value 0.

users_occupancy_threshold_full_waiting  integer  
Min value 0.

users_occupancy_threshold_full_working  integer  
Min value 0.

Update lab settings.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/lab-profile-settings" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"same_user_option":false,"show_calendar":false,"show_dashboard":false,"force_finish_order":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/lab-profile-settings"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "same_user_option": false,
    "show_calendar": false,
    "show_dashboard": false,
    "force_finish_order": false
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "name": "Profil laborator xxxxxx",
        "address": "Str. Bega 519, Sebiș, Caraș-Severin, CP 728947",
        "region_id": 37,
        "region": "Suceava",
        "city": "Mun. Otopeni",
        "saturday": null,
        "sunday": null,
        "phone_fax": "0354757929",
        "mobile1": "0351453656",
        "mobile2": "0759918227",
        "email1": "codruta13@example.com",
        "email2": "sbalan@example.org",
        "website": "https:\/\/xxxxxx.ro",
        "facebook": "https:\/\/www.facebook.com\/xxxxxx",
        "linkedin": "https:\/\/www.linkedin.com\/in\/xxxxxx",
        "logo": null,
        "cover": null,
        "users_occupancy_threshold_busy_working": 0,
        "users_occupancy_threshold_full_working": 0,
        "users_occupancy_threshold_busy_waiting": 0,
        "users_occupancy_threshold_full_waiting": 0,
        "same_user_option": null,
        "show_dashboard": null,
        "show_calendar": null,
        "force_finish_order": null,
        "lab_invoice_profile_id": null,
        "lab_invoice_profile": null,
        "payment_document_title": null,
        "payment_document_text": null,
        "technician_report_title": null,
        "technician_report_text": null,
        "company_description": null,
        "currency": null
    }
}

Request      

PUT api/v1/ro/lab-profile-settings

Body Parameters

same_user_option  boolean  
to be filled!!.

show_calendar  boolean  
to be filled!!.

show_dashboard  boolean  
to be filled!!.

force_finish_order  boolean  
to be filled!!.

Update lab logo and/or cover.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/lab-profile-logo-and-cover" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: multipart/form-data" \
    -H "Accept: application/json" \
    -F "logo=@C:\Users\Stefi\AppData\Local\Temp\php154B.tmp"     -F "cover=@C:\Users\Stefi\AppData\Local\Temp\php154C.tmp" 
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/lab-profile-logo-and-cover"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('logo', document.querySelector('input[name="logo"]').files[0]);
body.append('cover', document.querySelector('input[name="cover"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "name": "Profil laborator xxxxxx",
        "address": "B-dul. Someș nr. 1B, bl. 76, ap. 82, Covasna, Bistrița Năsăud, CP 626014",
        "region_id": 10,
        "region": "Brăila",
        "city": "Mun. Vașcău",
        "saturday": null,
        "sunday": null,
        "phone_fax": "0339705468",
        "mobile1": "0747808773",
        "mobile2": "0797160886",
        "email1": "uneacsu@example.org",
        "email2": "roxana92@example.com",
        "website": "https:\/\/xxxxxx.ro",
        "facebook": "https:\/\/www.facebook.com\/xxxxxx",
        "linkedin": "https:\/\/www.linkedin.com\/in\/xxxxxx",
        "logo": null,
        "cover": null,
        "users_occupancy_threshold_busy_working": 0,
        "users_occupancy_threshold_full_working": 0,
        "users_occupancy_threshold_busy_waiting": 0,
        "users_occupancy_threshold_full_waiting": 0,
        "same_user_option": null,
        "show_dashboard": null,
        "show_calendar": null,
        "force_finish_order": null,
        "lab_invoice_profile_id": null,
        "lab_invoice_profile": null,
        "payment_document_title": null,
        "payment_document_text": null,
        "technician_report_title": null,
        "technician_report_text": null,
        "company_description": null,
        "currency": null
    }
}

Request      

POST api/v1/ro/lab-profile-logo-and-cover

Body Parameters

logo  file optional  

cover  file optional  

Update lab profile's additional details.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/lab-profile-additional-details" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"payment_document_title":"eum","payment_document_text":"qui","technician_report_title":"quasi","technician_report_text":"dolores","company_description":"laboriosam","currency":"RON"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/lab-profile-additional-details"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "payment_document_title": "eum",
    "payment_document_text": "qui",
    "technician_report_title": "quasi",
    "technician_report_text": "dolores",
    "company_description": "laboriosam",
    "currency": "RON"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/lab-profile-additional-details

Body Parameters

payment_document_title  string optional  

payment_document_text  string optional  

technician_report_title  string optional  

technician_report_text  string optional  

company_description  string optional  

currency  string optional  
The value must be one of RON or EUR.

Profiluri facturare

APIs for managing lab invoice profiles

Display a listing of invoice profiles.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/lab-invoice-profiles" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/lab-invoice-profiles"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 4,
            "is_default_profile": false,
            "name": "Invoice profile xxxxxx",
            "cui": 62370014,
            "nr_reg_comertului": "JXX81124\/2008",
            "address": "P-ța Constantin Brâncuși 5B, Mioveni, Mehedinți, CP 047064",
            "region_id": 20,
            "region": "Galați",
            "city": "Mun. Mediaș",
            "phone_fax": "0358486193",
            "mobile1": "0249285735",
            "mobile2": "0731996223",
            "email1": "szasz.mariana@example.net",
            "email2": "ovidiu93@example.net",
            "website": "https:\/\/xxxxxx.ro",
            "invoice_series": "j",
            "invoice_no": 59548,
            "receipt_series": "p",
            "receipt_no": 49796,
            "bank": "Bank Moraru-Bogdan",
            "bank_account": "RO47PPLC587V4ZI57LYUNX31",
            "logo": null,
            "cover": null,
            "proforma_start_no": 19744,
            "proforma_series": "o"
        },
        {
            "id": 5,
            "is_default_profile": false,
            "name": "Invoice profile xxxxxx",
            "cui": 95273961,
            "nr_reg_comertului": "JXX41447\/2012",
            "address": "Aleea Păcurari 7\/9, Mun. Însurăței, Arad, CP 262425",
            "region_id": 27,
            "region": "Ilfov",
            "city": "Mun. Ștefănești, Argeș",
            "phone_fax": "0740434750",
            "mobile1": "0727550538",
            "mobile2": "0347446870",
            "email1": "vasilica75@example.net",
            "email2": "fratila.maria@example.net",
            "website": "https:\/\/xxxxxx.ro",
            "invoice_series": "m",
            "invoice_no": 54570,
            "receipt_series": "a",
            "receipt_no": 49033,
            "bank": "Bank Iorga Group",
            "bank_account": "RO55SBRT5XS085Z5E8S83A3G",
            "logo": null,
            "cover": null,
            "proforma_start_no": 83140,
            "proforma_series": "j"
        }
    ]
}

Request      

GET api/v1/ro/lab-invoice-profiles

Store a newly created invoice profile.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/lab-invoice-profiles" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"quo","city":{},"address":"incidunt","region_id":6,"phone_fax":"fuga","mobile1":"quia","mobile2":"sed","email1":"amy.hartmann@example.org","email2":"lenora22@example.org","website":"http:\/\/www.schumm.com\/","cui":"repellat","nr_reg_comertului":{},"proforma_start_no":7,"proforma_series":"tempore","bank":"voluptates","bank_account":"earum"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/lab-invoice-profiles"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "quo",
    "city": {},
    "address": "incidunt",
    "region_id": 6,
    "phone_fax": "fuga",
    "mobile1": "quia",
    "mobile2": "sed",
    "email1": "amy.hartmann@example.org",
    "email2": "lenora22@example.org",
    "website": "http:\/\/www.schumm.com\/",
    "cui": "repellat",
    "nr_reg_comertului": {},
    "proforma_start_no": 7,
    "proforma_series": "tempore",
    "bank": "voluptates",
    "bank_account": "earum"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 6,
        "is_default_profile": false,
        "name": "Invoice profile xxxxxx",
        "cui": 35517161,
        "nr_reg_comertului": "JXX31536\/1987",
        "address": "Str. Mircea cel Bătrân nr. 1B, bl. A, ap. 7, Sângeorgiu de Pădure, Maramureț, CP 244016",
        "region_id": 3,
        "region": "Arad",
        "city": "Mun. Berbești",
        "phone_fax": "0312548921",
        "mobile1": "0255375391",
        "mobile2": "0249079258",
        "email1": "grigore.covaci@example.net",
        "email2": "dinca.margareta@example.net",
        "website": "https:\/\/xxxxxx.ro",
        "invoice_series": "x",
        "invoice_no": 73395,
        "receipt_series": "y",
        "receipt_no": 22312,
        "bank": "Bank Alexandru Inc",
        "bank_account": "RO43VQEI4W861X993974B5B2",
        "logo": null,
        "cover": null,
        "proforma_start_no": 80827,
        "proforma_series": "u"
    }
}

Request      

POST api/v1/ro/lab-invoice-profiles

Body Parameters

name  string  

city  string optional  

address  string optional  

region_id  integer  

phone_fax  string optional  

mobile1  string optional  

mobile2  string optional  

email1  string optional  
Câmpul value trebuie să fie o adresă de e-mail validă.

email2  string optional  
Câmpul value trebuie să fie o adresă de e-mail validă.

website  string optional  
The value must be a valid URL.

cui  string  

nr_reg_comertului  string optional  

proforma_start_no  integer  

proforma_series  string  

bank  string optional  

bank_account  string optional  

Display a invoice profile.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/lab-invoice-profiles/19" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/lab-invoice-profiles/19"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 7,
        "is_default_profile": false,
        "name": "Invoice profile xxxxxx",
        "cui": 60028232,
        "nr_reg_comertului": "JXX94575\/1994",
        "address": "P-ța Franklin Delano Rosevelt nr. 7, bl. D, sc. B, et. 1, ap. 9, Videle, Caraș-Severin, CP 162012",
        "region_id": 20,
        "region": "Galați",
        "city": "Mun. Uricani",
        "phone_fax": "0700423517",
        "mobile1": "0744314366",
        "mobile2": "0366170213",
        "email1": "romeo.mazilu@example.com",
        "email2": "ivascu.aurel@example.org",
        "website": "https:\/\/xxxxxx.ro",
        "invoice_series": "k",
        "invoice_no": 87836,
        "receipt_series": "x",
        "receipt_no": 56718,
        "bank": "Bank Voinea, Parvu and Muntean",
        "bank_account": "RO50JZZP2AY22TCH5P6N9L0K",
        "logo": null,
        "cover": null,
        "proforma_start_no": 83030,
        "proforma_series": "f"
    }
}

Request      

GET api/v1/ro/lab-invoice-profiles/{lab_invoice_profile}

URL Parameters

lab_invoice_profile  integer  

Update a invoice profile.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/lab-invoice-profiles/10" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"sed","city":{},"address":"id","region_id":14,"phone_fax":"illum","mobile1":"accusamus","mobile2":"natus","email1":"uklocko@example.net","email2":"lroob@example.net","website":"https:\/\/luettgen.info\/voluptate-ut-dolorem-porro-neque-ipsam-enim-dolores.html","cui":"aliquid","nr_reg_comertului":{},"proforma_start_no":14,"proforma_series":"consequatur","bank":"quam","bank_account":"cupiditate"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/lab-invoice-profiles/10"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "sed",
    "city": {},
    "address": "id",
    "region_id": 14,
    "phone_fax": "illum",
    "mobile1": "accusamus",
    "mobile2": "natus",
    "email1": "uklocko@example.net",
    "email2": "lroob@example.net",
    "website": "https:\/\/luettgen.info\/voluptate-ut-dolorem-porro-neque-ipsam-enim-dolores.html",
    "cui": "aliquid",
    "nr_reg_comertului": {},
    "proforma_start_no": 14,
    "proforma_series": "consequatur",
    "bank": "quam",
    "bank_account": "cupiditate"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 8,
        "is_default_profile": false,
        "name": "Invoice profile xxxxxx",
        "cui": 62818471,
        "nr_reg_comertului": "JXX38839\/2017",
        "address": "B-dul. Meșterilor 1B, Deva, Ialomița, CP 592146",
        "region_id": 0,
        "region": null,
        "city": "Fierbinți-Târg",
        "phone_fax": "0771574424",
        "mobile1": "0766100989",
        "mobile2": "0739993937",
        "email1": "paulica.negrea@example.org",
        "email2": "ystanescu@example.net",
        "website": "https:\/\/xxxxxx.ro",
        "invoice_series": "f",
        "invoice_no": 45750,
        "receipt_series": "q",
        "receipt_no": 11785,
        "bank": "Bank Oancea, Pascu and Vaduva",
        "bank_account": "RO34TWLQ820IP3X5XT26I0LC",
        "logo": null,
        "cover": null,
        "proforma_start_no": 24183,
        "proforma_series": "n"
    }
}

Request      

PUT api/v1/ro/lab-invoice-profiles/{lab_invoice_profile}

PATCH api/v1/ro/lab-invoice-profiles/{lab_invoice_profile}

URL Parameters

lab_invoice_profile  integer  

Body Parameters

name  string  

city  string optional  

address  string optional  

region_id  integer  

phone_fax  string optional  

mobile1  string optional  

mobile2  string optional  

email1  string optional  
Câmpul value trebuie să fie o adresă de e-mail validă.

email2  string optional  
Câmpul value trebuie să fie o adresă de e-mail validă.

website  string optional  
The value must be a valid URL.

cui  string  

nr_reg_comertului  string optional  

proforma_start_no  integer  

proforma_series  string  

bank  string optional  

bank_account  string optional  

Remove a invoice profile.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/lab-invoice-profiles/3" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/lab-invoice-profiles/3"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/lab-invoice-profiles/{lab_invoice_profile}

URL Parameters

lab_invoice_profile  integer  

Update a lab invoice logo and/or cover.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/lab-invoice-profile-logo-and-cover/15" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: multipart/form-data" \
    -H "Accept: application/json" \
    -F "logo=@C:\Users\Stefi\AppData\Local\Temp\php1D7B.tmp"     -F "cover=@C:\Users\Stefi\AppData\Local\Temp\php1D7C.tmp" 
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/lab-invoice-profile-logo-and-cover/15"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('logo', document.querySelector('input[name="logo"]').files[0]);
body.append('cover', document.querySelector('input[name="cover"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 9,
        "is_default_profile": false,
        "name": "Invoice profile xxxxxx",
        "cui": 96965140,
        "nr_reg_comertului": "JXX58524\/2013",
        "address": "Calea Decebal nr. 5\/2, bl. D, et. 72, ap. 5, Baia Mare, Alba, CP 103804",
        "region_id": 31,
        "region": "Neamț",
        "city": "Mun. Gheorgheni",
        "phone_fax": "0361496571",
        "mobile1": "0246653110",
        "mobile2": "0784865800",
        "email1": "rvasiliu@example.net",
        "email2": "dgherman@example.com",
        "website": "https:\/\/xxxxxx.ro",
        "invoice_series": "p",
        "invoice_no": 99866,
        "receipt_series": "k",
        "receipt_no": 89030,
        "bank": "Bank Mirea Ltd",
        "bank_account": "RO44CPOW3U4I6AFU87B932W3",
        "logo": null,
        "cover": null,
        "proforma_start_no": 51483,
        "proforma_series": "b"
    }
}

Request      

POST api/v1/ro/lab-invoice-profile-logo-and-cover/{lab_invoice_profile}

URL Parameters

lab_invoice_profile  integer  

Body Parameters

logo  file optional  

cover  file optional  

Set as default invoice profile for lab.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/default-lab-invoice-profile/18" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/default-lab-invoice-profile/18"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "name": "Profil laborator xxxxxx",
        "address": "Calea Frasinului 1\/2, Mun. Târgu Lăpuș, Covasna, CP 781019",
        "region_id": 33,
        "region": "Prahova",
        "city": "Uricani",
        "saturday": null,
        "sunday": null,
        "phone_fax": "0759772835",
        "mobile1": "0701928884",
        "mobile2": "0215521984",
        "email1": "daniela.puiu@example.org",
        "email2": "eliza.buda@example.com",
        "website": "https:\/\/xxxxxx.ro",
        "facebook": "https:\/\/www.facebook.com\/xxxxxx",
        "linkedin": "https:\/\/www.linkedin.com\/in\/xxxxxx",
        "logo": null,
        "cover": null,
        "users_occupancy_threshold_busy_working": 0,
        "users_occupancy_threshold_full_working": 0,
        "users_occupancy_threshold_busy_waiting": 0,
        "users_occupancy_threshold_full_waiting": 0,
        "same_user_option": null,
        "show_dashboard": null,
        "show_calendar": null,
        "force_finish_order": null,
        "lab_invoice_profile_id": null,
        "lab_invoice_profile": null,
        "payment_document_title": null,
        "payment_document_text": null,
        "technician_report_title": null,
        "technician_report_text": null,
        "company_description": null,
        "currency": null
    }
}

Request      

POST api/v1/ro/default-lab-invoice-profile/{lab_invoice_profile}

URL Parameters

lab_invoice_profile  integer  

Rapoarte comenzi

APIs for managing order additional prices

Calculate current total value

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/orders-calculate-total" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"orders_ids":[{"order_id":8}]}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/orders-calculate-total"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "orders_ids": [
        {
            "order_id": 8
        }
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/orders-calculate-total

Body Parameters

orders_ids  object[] optional  

orders_ids[].order_id  integer  

Orders report.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/reports/orders/dolore" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"filters":{"order_id":6,"dentist_id":8,"date_filtering":{"start_date":{"interval_start":"12-05-2022","interval_end":"12-05-2022"},"end_date":{"interval_start":"12-05-2022","interval_end":"12-05-2022"}},"status":{"is_complete":false},"invoice":{"only_fiscal":false,"only_proforma":false,"only_no_invoice":false},"is_paid_fully":false,"zero_value_orders":false}}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/reports/orders/dolore"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "filters": {
        "order_id": 6,
        "dentist_id": 8,
        "date_filtering": {
            "start_date": {
                "interval_start": "12-05-2022",
                "interval_end": "12-05-2022"
            },
            "end_date": {
                "interval_start": "12-05-2022",
                "interval_end": "12-05-2022"
            }
        },
        "status": {
            "is_complete": false
        },
        "invoice": {
            "only_fiscal": false,
            "only_proforma": false,
            "only_no_invoice": false
        },
        "is_paid_fully": false,
        "zero_value_orders": false
    }
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/reports/orders/{collaborator}

URL Parameters

collaborator  string  

Body Parameters

filters  object optional  

filters.order_id  integer optional  

filters.dentist_id  integer optional  

filters.date_filtering  object optional  

filters.date_filtering.start_date  object optional  

filters.date_filtering.start_date.interval_start  string optional  
The value must be a valid date in the format d-m-Y.

filters.date_filtering.start_date.interval_end  string optional  
The value must be a valid date in the format d-m-Y.

filters.date_filtering.end_date  object optional  

filters.date_filtering.end_date.interval_start  string optional  
The value must be a valid date in the format d-m-Y.

filters.date_filtering.end_date.interval_end  string optional  
The value must be a valid date in the format d-m-Y.

filters.status  object optional  

filters.status.is_complete  boolean optional  

filters.invoice  object optional  

filters.invoice.only_fiscal  boolean optional  

filters.invoice.only_proforma  boolean optional  

filters.invoice.only_no_invoice  boolean optional  

filters.is_paid_fully  boolean optional  

filters.zero_value_orders  boolean optional  

Send an order to invoicing.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/reports/send-to-invoicing/illum" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/reports/send-to-invoicing/illum"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/reports/send-to-invoicing/{order}

URL Parameters

order  string  

Roluri

APIs for managing roles

Roles listing.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/roles" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/roles"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 8,
            "name": "role title",
            "permissions_names": [],
            "permissions": []
        },
        {
            "id": null,
            "name": "role title",
            "permissions_names": [],
            "permissions": []
        }
    ]
}

Request      

GET api/v1/ro/roles

Store a newly created role.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/roles" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"blanditiis"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/roles"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "blanditiis"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 10,
        "name": "role title",
        "permissions_names": [],
        "permissions": []
    }
}

Request      

POST api/v1/ro/roles

Body Parameters

name  string  

Display a role.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/roles/12" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/roles/12"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 11,
        "name": "role title",
        "permissions_names": [],
        "permissions": []
    }
}

Request      

GET api/v1/ro/roles/{role}

URL Parameters

role  integer  

Update a role.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/roles/nemo" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"reprehenderit","permissions":["sit","porro"]}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/roles/nemo"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "reprehenderit",
    "permissions": [
        "sit",
        "porro"
    ]
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 12,
        "name": "role title",
        "permissions_names": [],
        "permissions": []
    }
}

Request      

PUT api/v1/ro/roles/{role}

PATCH api/v1/ro/roles/{role}

URL Parameters

role  string  

Body Parameters

name  string  

permissions  string[]  

Remove a role.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/roles/ducimus" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/roles/ducimus"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (200):

1

Request      

DELETE api/v1/ro/roles/{role}

URL Parameters

role  string  

Permissions names listing.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/permissions-list" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/permissions-list"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        "permissions1",
        "permissions2"
    ]
}

Request      

GET api/v1/ro/permissions-list

Permissions detailed listing.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/permissions-detailed" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/permissions-detailed"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "name": "Permission name",
            "shortName": "lang_permissions.Permission short description",
            "category": "lang_permissions.Permission category",
            "subcategory": "lang_permissions.Permission subcategory",
            "short_description": "lang_permissions.Permission short description",
            "description": "lang_permissions.Permission description",
            "guard": "api"
        },
        {
            "name": "Permission name",
            "shortName": "lang_permissions.Permission short description",
            "category": "lang_permissions.Permission category",
            "subcategory": "lang_permissions.Permission subcategory",
            "short_description": "lang_permissions.Permission short description",
            "description": "lang_permissions.Permission description",
            "guard": "api"
        }
    ]
}

Request      

GET api/v1/ro/permissions-detailed

Permission detailed.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/permission/iusto" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/permission/iusto"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "name": "Permission name",
        "shortName": "lang_permissions.Permission short description",
        "category": "lang_permissions.Permission category",
        "subcategory": "lang_permissions.Permission subcategory",
        "short_description": "lang_permissions.Permission short description",
        "description": "lang_permissions.Permission description",
        "guard": "api"
    }
}

Request      

GET api/v1/ro/permission/{permission_name}

URL Parameters

permission_name  string  

Rute tehnice

api/technical/central_migrate_fresh

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/technical/central_migrate_fresh" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/technical/central_migrate_fresh"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


<script type="text/javascript">alert('Found the following N+1 queries in this request:\n\nModel: App\\Models\\User => Relation: media - You should add "with(\'media\')" to eager-load this relation.\nModel: App\\Models\\User => Relation: App\\Models\\Role - You should add "with(\'App\\Models\\Role\')" to eager-load this relation.\nModel: App\\Models\\User => Relation: App\\Models\\Role - You should add "with(\'App\\Models\\Role\')" to eager-load this relation.\nModel: App\\Models\\User => Relation: roles - You should add "with(\'roles\')" to eager-load this relation.\nModel: App\\Models\\User => Relation: permissions - You should add "with(\'permissions\')" to eager-load this relation.\nModel: App\\Models\\Dentist => Relation: templatesPrice - You should add "with(\'templatesPrice\')" to eager-load this relation.\nModel: App\\Models\\Collaborator => Relation: templatesPrice - You should add "with(\'templatesPrice\')" to eager-load this relation.\nModel: App\\Models\\Collaborator => Relation: App\\Models\\Region - You should add "with(\'App\\Models\\Region\')" to eager-load this relation.\nModel: App\\Models\\Collaborator => Relation: App\\Models\\Region - You should add "with(\'App\\Models\\Region\')" to eager-load this relation.\nModel: App\\Models\\Collaborator => Relation: App\\Models\\Region - You should add "with(\'App\\Models\\Region\')" to eager-load this relation.\nModel: App\\Models\\Collaborator => Relation: App\\Models\\Region - You should add "with(\'App\\Models\\Region\')" to eager-load this relation.\nModel: App\\Models\\Collaborator => Relation: App\\Models\\Region - You should add "with(\'App\\Models\\Region\')" to eager-load this relation.\nModel: App\\Models\\WorkStage => Relation: users - You should add "with(\'users\')" to eager-load this relation.\nModel: App\\Models\\WorkStageUser => Relation: user - You should add "with(\'user\')" to eager-load this relation.\nModel: App\\Models\\User => Relation: roles - You should add "with(\'roles\')" to eager-load this relation.\nModel: App\\Models\\LabProfile => Relation: region - You should add "with(\'region\')" to eager-load this relation.\nModel: App\\Models\\LabProfile => Relation: media - You should add "with(\'media\')" to eager-load this relation.\nModel: App\\Models\\LabProfile => Relation: App\\Models\\LabInvoiceProfile - You should add "with(\'App\\Models\\LabInvoiceProfile\')" to eager-load this relation.\nModel: App\\Models\\LabInvoiceProfile => Relation: region - You should add "with(\'region\')" to eager-load this relation.\nModel: App\\Models\\LabInvoiceProfile => Relation: media - You should add "with(\'media\')" to eager-load this relation.\nModel: App\\Models\\WorkTemplate => Relation: workStagesOrdered - You should add "with(\'workStagesOrdered\')" to eager-load this relation.\nModel: App\\Models\\WorkTemplate => Relation: App\\Models\\WorkTemplateStage - You should add "with(\'App\\Models\\WorkTemplateStage\')" to eager-load this relation.\nModel: App\\Models\\WorkTemplate => Relation: templateStagesOrdered - You should add "with(\'templateStagesOrdered\')" to eager-load this relation.\n')</script>

Request      

GET api/technical/central_migrate_fresh

api/technical/central_seed

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/technical/central_seed" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/technical/central_seed"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

{
    "message": "SQLSTATE[42S02]: Base table or view not found: 1146 Table 'lab_docs.personal_access_tokens' doesn't exist (SQL: select * from `personal_access_tokens` where `token` = 3e629c04ea2dcaa36ac2473c34cf25a4adf77408e9daf0a3c7c7d1fa73e0e0e4 limit 1)",
    "warning_queries": [
        {
            "count": 136,
            "time": 145.18,
            "query": "select * from `media` where `media`.`model_id` = ? and `media`.`model_id` is not null and `media`.`model_type` = ?",
            "model": "App\\Models\\User",
            "relatedModel": "media",
            "relation": "media",
            "sources": [
                {
                    "index": 17,
                    "name": "\\vendor\\spatie\\laravel-medialibrary\\src\\InteractsWithMedia.php",
                    "line": 562
                },
                {
                    "index": 18,
                    "name": "\\vendor\\spatie\\laravel-medialibrary\\src\\MediaCollections\\MediaRepository.php",
                    "line": 33
                },
                {
                    "index": 19,
                    "name": "\\vendor\\spatie\\laravel-medialibrary\\src\\InteractsWithMedia.php",
                    "line": 290
                },
                {
                    "index": 20,
                    "name": "\\vendor\\spatie\\laravel-medialibrary\\src\\InteractsWithMedia.php",
                    "line": 301
                },
                {
                    "index": 21,
                    "name": "\\app\\Models\\User.php",
                    "line": 238
                },
                {
                    "index": 27,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\DelegatesToResource.php",
                    "line": 140
                },
                {
                    "index": 28,
                    "name": "\\app\\Http\\Resources\\UserCompleteResource.php",
                    "line": 31
                },
                {
                    "index": 29,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 95
                },
                {
                    "index": 30,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\ResourceResponse.php",
                    "line": 39
                },
                {
                    "index": 31,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 221
                },
                {
                    "index": 32,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 137
                },
                {
                    "index": 33,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 34,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 35,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 36,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 37,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 38,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 39,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 40,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 41,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 42,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 43,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 44,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 45,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 46,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 47,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 48,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 49,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                }
            ]
        },
        {
            "count": 136,
            "time": 96.90000000000018,
            "query": "select `id` from `roles` inner join `model_has_roles` on `roles`.`id` = `model_has_roles`.`role_id` where `model_has_roles`.`model_id` = ? and `model_has_roles`.`model_type` = ?",
            "model": "App\\Models\\User",
            "relatedModel": "App\\Models\\Role",
            "relation": "App\\Models\\Role",
            "sources": [
                {
                    "index": 11,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\Traits\\ForwardsCalls.php",
                    "line": 23
                },
                {
                    "index": 12,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\Traits\\ForwardsCalls.php",
                    "line": 52
                },
                {
                    "index": 14,
                    "name": "\\app\\Http\\Resources\\UserCompleteResource.php",
                    "line": 33
                },
                {
                    "index": 15,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 95
                },
                {
                    "index": 16,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\ResourceResponse.php",
                    "line": 39
                },
                {
                    "index": 17,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 221
                },
                {
                    "index": 18,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 137
                },
                {
                    "index": 19,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 20,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 21,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 22,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 23,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 24,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 25,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 26,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 27,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 28,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 29,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 30,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 31,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 33,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 34,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 35,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 37,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 38,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 136,
            "time": 85.84999999999998,
            "query": "select `name` from `roles` inner join `model_has_roles` on `roles`.`id` = `model_has_roles`.`role_id` where `model_has_roles`.`model_id` = ? and `model_has_roles`.`model_type` = ?",
            "model": "App\\Models\\User",
            "relatedModel": "App\\Models\\Role",
            "relation": "App\\Models\\Role",
            "sources": [
                {
                    "index": 11,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\Traits\\ForwardsCalls.php",
                    "line": 23
                },
                {
                    "index": 12,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\Traits\\ForwardsCalls.php",
                    "line": 52
                },
                {
                    "index": 14,
                    "name": "\\app\\Http\\Resources\\UserCompleteResource.php",
                    "line": 34
                },
                {
                    "index": 15,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 95
                },
                {
                    "index": 16,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\ResourceResponse.php",
                    "line": 39
                },
                {
                    "index": 17,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 221
                },
                {
                    "index": 18,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 137
                },
                {
                    "index": 19,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 20,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 21,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 22,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 23,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 24,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 25,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 26,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 27,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 28,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 29,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 30,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 31,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 33,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 34,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 35,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 37,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 38,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 136,
            "time": 104.03999999999985,
            "query": "select `roles`.*, `model_has_roles`.`model_id` as `pivot_model_id`, `model_has_roles`.`role_id` as `pivot_role_id`, `model_has_roles`.`model_type` as `pivot_model_type` from `roles` inner join `model_has_roles` on `roles`.`id` = `model_has_roles`.`role_id` where `model_has_roles`.`model_id` = ? and `model_has_roles`.`model_type` = ?",
            "model": "App\\Models\\User",
            "relatedModel": "roles",
            "relation": "roles",
            "sources": [
                {
                    "index": 17,
                    "name": "\\vendor\\spatie\\laravel-permission\\src\\Traits\\HasRoles.php",
                    "line": 183
                },
                {
                    "index": 18,
                    "name": "\\vendor\\spatie\\laravel-permission\\src\\Traits\\HasRoles.php",
                    "line": 198
                },
                {
                    "index": 19,
                    "name": "\\app\\Models\\User.php",
                    "line": 194
                },
                {
                    "index": 20,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\Traits\\ForwardsCalls.php",
                    "line": 23
                },
                {
                    "index": 21,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\DelegatesToResource.php",
                    "line": 152
                },
                {
                    "index": 22,
                    "name": "\\app\\Http\\Resources\\UserCompleteResource.php",
                    "line": 35
                },
                {
                    "index": 23,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 95
                },
                {
                    "index": 24,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\ResourceResponse.php",
                    "line": 39
                },
                {
                    "index": 25,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 221
                },
                {
                    "index": 26,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 137
                },
                {
                    "index": 27,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 28,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 29,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 30,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 31,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 32,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 33,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 34,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 35,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 37,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 38,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 39,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 40,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 41,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 42,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 43,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 44,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 45,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 46,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 136,
            "time": 108.46000000000002,
            "query": "select `permissions`.*, `model_has_permissions`.`model_id` as `pivot_model_id`, `model_has_permissions`.`permission_id` as `pivot_permission_id`, `model_has_permissions`.`model_type` as `pivot_model_type` from `permissions` inner join `model_has_permissions` on `permissions`.`id` = `model_has_permissions`.`permission_id` where `model_has_permissions`.`model_id` = ? and `model_has_permissions`.`model_type` = ?",
            "model": "App\\Models\\User",
            "relatedModel": "permissions",
            "relation": "permissions",
            "sources": [
                {
                    "index": 17,
                    "name": "\\vendor\\spatie\\laravel-permission\\src\\Traits\\HasPermissions.php",
                    "line": 305
                },
                {
                    "index": 18,
                    "name": "\\app\\Models\\User.php",
                    "line": 198
                },
                {
                    "index": 19,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\Traits\\ForwardsCalls.php",
                    "line": 23
                },
                {
                    "index": 20,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\DelegatesToResource.php",
                    "line": 152
                },
                {
                    "index": 21,
                    "name": "\\app\\Http\\Resources\\UserCompleteResource.php",
                    "line": 35
                },
                {
                    "index": 22,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 95
                },
                {
                    "index": 23,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\ResourceResponse.php",
                    "line": 39
                },
                {
                    "index": 24,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 221
                },
                {
                    "index": 25,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 137
                },
                {
                    "index": 26,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 27,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 28,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 29,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 30,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 31,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 33,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 34,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 35,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 37,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 38,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 39,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 40,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 41,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 42,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 43,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 44,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 45,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 90,
            "time": 138.06,
            "query": "select `work_templates`.*, `dentist_prices`.`dentist_id` as `pivot_dentist_id`, `dentist_prices`.`work_template_id` as `pivot_work_template_id`, `dentist_prices`.`price` as `pivot_price`, `dentist_prices`.`locked` as `pivot_locked`, `dentist_prices`.`created_at` as `pivot_created_at`, `dentist_prices`.`updated_at` as `pivot_updated_at` from `work_templates` inner join `dentist_prices` on `work_templates`.`id` = `dentist_prices`.`work_template_id` where `dentist_prices`.`dentist_id` = ? and `work_templates`.`deleted_at` is null order by `name` asc",
            "model": "App\\Models\\Dentist",
            "relatedModel": "templatesPrice",
            "relation": "templatesPrice",
            "sources": [
                {
                    "index": 21,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Collections\\Traits\\EnumeratesValues.php",
                    "line": 234
                },
                {
                    "index": 24,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 206
                },
                {
                    "index": 25,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 85
                },
                {
                    "index": 26,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 27,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 28,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 29,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 30,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 31,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 33,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 34,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 35,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 37,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 38,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 39,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 40,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 41,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 42,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 43,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 44,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 45,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 130,
            "time": 164.31999999999982,
            "query": "select `work_templates`.*, `collaborator_prices`.`collaborator_id` as `pivot_collaborator_id`, `collaborator_prices`.`work_template_id` as `pivot_work_template_id`, `collaborator_prices`.`price` as `pivot_price`, `collaborator_prices`.`locked` as `pivot_locked`, `collaborator_prices`.`created_at` as `pivot_created_at`, `collaborator_prices`.`updated_at` as `pivot_updated_at` from `work_templates` inner join `collaborator_prices` on `work_templates`.`id` = `collaborator_prices`.`work_template_id` where `collaborator_prices`.`collaborator_id` = ? and `work_templates`.`deleted_at` is null order by `name` asc",
            "model": "App\\Models\\Collaborator",
            "relatedModel": "templatesPrice",
            "relation": "templatesPrice",
            "sources": [
                {
                    "index": 21,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Collections\\Traits\\EnumeratesValues.php",
                    "line": 234
                },
                {
                    "index": 24,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 206
                },
                {
                    "index": 25,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 85
                },
                {
                    "index": 26,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 27,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 28,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 29,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 30,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 31,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 33,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 34,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 35,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 37,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 38,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 39,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 40,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 41,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 42,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 43,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 44,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 45,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 26,
            "time": 18.199999999999992,
            "query": "select * from `regions` where `regions`.`id` in (36)",
            "model": "App\\Models\\Collaborator",
            "relatedModel": "App\\Models\\Region",
            "relation": "App\\Models\\Region",
            "sources": [
                {
                    "index": 17,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 207
                },
                {
                    "index": 18,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 85
                },
                {
                    "index": 19,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 20,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 21,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 22,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 23,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 24,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 25,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 26,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 27,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 28,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 29,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 30,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 31,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 33,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 34,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 35,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 37,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 38,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 26,
            "time": 23.39999999999999,
            "query": "select * from `regions` where `regions`.`id` in (37)",
            "model": "App\\Models\\Collaborator",
            "relatedModel": "App\\Models\\Region",
            "relation": "App\\Models\\Region",
            "sources": [
                {
                    "index": 17,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 207
                },
                {
                    "index": 18,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 98
                },
                {
                    "index": 19,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 20,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 21,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 22,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 23,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 24,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 25,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 26,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 27,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 28,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 29,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 30,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 31,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 33,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 34,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 35,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 37,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 38,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 26,
            "time": 14.820000000000004,
            "query": "select * from `regions` where `regions`.`id` in (16)",
            "model": "App\\Models\\Collaborator",
            "relatedModel": "App\\Models\\Region",
            "relation": "App\\Models\\Region",
            "sources": [
                {
                    "index": 17,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 207
                },
                {
                    "index": 18,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 85
                },
                {
                    "index": 19,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 20,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 21,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 22,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 23,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 24,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 25,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 26,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 27,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 28,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 29,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 30,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 31,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 33,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 34,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 35,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 37,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 38,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 26,
            "time": 14.820000000000004,
            "query": "select * from `regions` where `regions`.`id` in (33)",
            "model": "App\\Models\\Collaborator",
            "relatedModel": "App\\Models\\Region",
            "relation": "App\\Models\\Region",
            "sources": [
                {
                    "index": 17,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 207
                },
                {
                    "index": 18,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 85
                },
                {
                    "index": 19,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 20,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 21,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 22,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 23,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 24,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 25,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 26,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 27,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 28,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 29,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 30,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 31,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 33,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 34,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 35,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 37,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 38,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 26,
            "time": 15.339999999999998,
            "query": "select * from `regions` where `regions`.`id` in (2)",
            "model": "App\\Models\\Collaborator",
            "relatedModel": "App\\Models\\Region",
            "relation": "App\\Models\\Region",
            "sources": [
                {
                    "index": 17,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 207
                },
                {
                    "index": 18,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 85
                },
                {
                    "index": 19,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 20,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 21,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 22,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 23,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 24,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 25,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 26,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 27,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 28,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 29,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 30,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 31,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 33,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 34,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 35,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 37,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 38,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 150,
            "time": 184.4999999999997,
            "query": "select `users`.*, `work_stage_users`.`work_stage_id` as `pivot_work_stage_id`, `work_stage_users`.`user_id` as `pivot_user_id`, `work_stage_users`.`id` as `pivot_id`, `work_stage_users`.`price` as `pivot_price`, `work_stage_users`.`rank` as `pivot_rank` from `users` inner join `work_stage_users` on `users`.`id` = `work_stage_users`.`user_id` where `work_stage_users`.`work_stage_id` = ? order by `rank` asc",
            "model": "App\\Models\\WorkStage",
            "relatedModel": "users",
            "relation": "users",
            "sources": [
                {
                    "index": 17,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\DelegatesToResource.php",
                    "line": 140
                },
                {
                    "index": 18,
                    "name": "\\app\\Http\\Resources\\WorkStageResource.php",
                    "line": 34
                },
                {
                    "index": 19,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 95
                },
                {
                    "index": 20,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\ResourceResponse.php",
                    "line": 39
                },
                {
                    "index": 21,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 221
                },
                {
                    "index": 22,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 137
                },
                {
                    "index": 23,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 24,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 25,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 26,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 27,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 28,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 29,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 30,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 31,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 33,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 34,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 35,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 37,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 38,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 39,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 40,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 41,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 42,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 164,
            "time": 110.9,
            "query": "select * from `users` where `users`.`id` = ? limit 1",
            "model": "App\\Models\\WorkStageUser",
            "relatedModel": "user",
            "relation": "user",
            "sources": [
                {
                    "index": 18,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\DelegatesToResource.php",
                    "line": 140
                },
                {
                    "index": 19,
                    "name": "\\app\\Http\\Resources\\WorkStageUserResource.php",
                    "line": 23
                },
                {
                    "index": 20,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 95
                },
                {
                    "index": 21,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 232
                },
                {
                    "index": 22,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Collections\\Traits\\EnumeratesValues.php",
                    "line": 819
                },
                {
                    "index": 27,
                    "name": "\\vendor\\symfony\\http-foundation\\JsonResponse.php",
                    "line": 54
                },
                {
                    "index": 28,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\JsonResponse.php",
                    "line": 32
                },
                {
                    "index": 29,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\ResponseFactory.php",
                    "line": 99
                },
                {
                    "index": 30,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\ResourceResponse.php",
                    "line": 43
                },
                {
                    "index": 31,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 221
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\ResourceCollection.php",
                    "line": 117
                },
                {
                    "index": 33,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 137
                },
                {
                    "index": 34,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 35,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 36,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 37,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 38,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 39,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 40,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 41,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 42,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 43,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 44,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 45,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 46,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 47,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 48,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 49,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                }
            ]
        },
        {
            "count": 164,
            "time": 596.22,
            "query": "select `roles`.*, `model_has_roles`.`model_id` as `pivot_model_id`, `model_has_roles`.`role_id` as `pivot_role_id`, `model_has_roles`.`model_type` as `pivot_model_type` from `roles` inner join `model_has_roles` on `roles`.`id` = `model_has_roles`.`role_id` where `model_has_roles`.`model_id` = ? and `model_has_roles`.`model_type` = ?",
            "model": "App\\Models\\User",
            "relatedModel": "roles",
            "relation": "roles",
            "sources": [
                {
                    "index": 17,
                    "name": "\\vendor\\spatie\\laravel-permission\\src\\Traits\\HasRoles.php",
                    "line": 295
                },
                {
                    "index": 18,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\Traits\\ForwardsCalls.php",
                    "line": 23
                },
                {
                    "index": 19,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\DelegatesToResource.php",
                    "line": 152
                },
                {
                    "index": 20,
                    "name": "\\app\\Http\\Resources\\UserResource.php",
                    "line": 24
                },
                {
                    "index": 21,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 95
                },
                {
                    "index": 22,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 232
                },
                {
                    "index": 25,
                    "name": "\\vendor\\symfony\\http-foundation\\JsonResponse.php",
                    "line": 54
                },
                {
                    "index": 26,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\JsonResponse.php",
                    "line": 32
                },
                {
                    "index": 27,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\ResponseFactory.php",
                    "line": 99
                },
                {
                    "index": 28,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\ResourceResponse.php",
                    "line": 43
                },
                {
                    "index": 29,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 221
                },
                {
                    "index": 30,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\ResourceCollection.php",
                    "line": 117
                },
                {
                    "index": 31,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 137
                },
                {
                    "index": 32,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 33,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 34,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 35,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 36,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 37,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 38,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 39,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 40,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 41,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 42,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 43,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 44,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 45,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 46,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 47,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 48,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 49,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                }
            ]
        },
        {
            "count": 167,
            "time": 170.7099999999994,
            "query": "select * from `regions` where `regions`.`id` = ? limit 1",
            "model": "App\\Models\\LabProfile",
            "relatedModel": "region",
            "relation": "region",
            "sources": [
                {
                    "index": 19,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\DelegatesToResource.php",
                    "line": 118
                },
                {
                    "index": 20,
                    "name": "\\app\\Http\\Resources\\LabProfileResource.php",
                    "line": 23
                },
                {
                    "index": 21,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 95
                },
                {
                    "index": 22,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\ResourceResponse.php",
                    "line": 39
                },
                {
                    "index": 23,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 221
                },
                {
                    "index": 24,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 137
                },
                {
                    "index": 25,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 26,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 27,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 28,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 29,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 30,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 31,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 33,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 34,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 35,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 37,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 38,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 39,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 40,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 41,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 42,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 43,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 44,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 167,
            "time": 107.95000000000036,
            "query": "select * from `media` where `media`.`model_id` = ? and `media`.`model_id` is not null and `media`.`model_type` = ?",
            "model": "App\\Models\\LabProfile",
            "relatedModel": "media",
            "relation": "media",
            "sources": [
                {
                    "index": 17,
                    "name": "\\vendor\\spatie\\laravel-medialibrary\\src\\InteractsWithMedia.php",
                    "line": 562
                },
                {
                    "index": 18,
                    "name": "\\vendor\\spatie\\laravel-medialibrary\\src\\MediaCollections\\MediaRepository.php",
                    "line": 33
                },
                {
                    "index": 19,
                    "name": "\\vendor\\spatie\\laravel-medialibrary\\src\\InteractsWithMedia.php",
                    "line": 290
                },
                {
                    "index": 20,
                    "name": "\\vendor\\spatie\\laravel-medialibrary\\src\\InteractsWithMedia.php",
                    "line": 301
                },
                {
                    "index": 21,
                    "name": "\\app\\Models\\LabProfile.php",
                    "line": 70
                },
                {
                    "index": 27,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\DelegatesToResource.php",
                    "line": 140
                },
                {
                    "index": 28,
                    "name": "\\app\\Http\\Resources\\LabProfileResource.php",
                    "line": 35
                },
                {
                    "index": 29,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 95
                },
                {
                    "index": 30,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\ResourceResponse.php",
                    "line": 39
                },
                {
                    "index": 31,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 221
                },
                {
                    "index": 32,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 137
                },
                {
                    "index": 33,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 34,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 35,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 36,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 37,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 38,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 39,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 40,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 41,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 42,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 43,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 44,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 45,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 46,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 47,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 48,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 49,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                }
            ]
        },
        {
            "count": 205,
            "time": 133.60000000000028,
            "query": "select * from `lab_invoice_profiles` where `lab_invoice_profiles`.`id` in (1)",
            "model": "App\\Models\\LabProfile",
            "relatedModel": "App\\Models\\LabInvoiceProfile",
            "relation": "App\\Models\\LabInvoiceProfile",
            "sources": [
                {
                    "index": 19,
                    "name": "\\app\\Models\\LabInvoiceProfile.php",
                    "line": 54
                },
                {
                    "index": 25,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\DelegatesToResource.php",
                    "line": 140
                },
                {
                    "index": 26,
                    "name": "\\app\\Http\\Resources\\LabInvoiceProfileResource.php",
                    "line": 20
                },
                {
                    "index": 27,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 95
                },
                {
                    "index": 28,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\ResourceResponse.php",
                    "line": 39
                },
                {
                    "index": 29,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 221
                },
                {
                    "index": 30,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 137
                },
                {
                    "index": 31,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 32,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 33,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 34,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 35,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 36,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 37,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 38,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 39,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 40,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 41,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 42,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 43,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 44,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 45,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 46,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 47,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 48,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 49,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                }
            ]
        },
        {
            "count": 205,
            "time": 125.66000000000031,
            "query": "select * from `regions` where `regions`.`id` = ? limit 1",
            "model": "App\\Models\\LabInvoiceProfile",
            "relatedModel": "region",
            "relation": "region",
            "sources": [
                {
                    "index": 19,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\DelegatesToResource.php",
                    "line": 118
                },
                {
                    "index": 20,
                    "name": "\\app\\Http\\Resources\\LabInvoiceProfileResource.php",
                    "line": 26
                },
                {
                    "index": 21,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 95
                },
                {
                    "index": 22,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\ResourceResponse.php",
                    "line": 39
                },
                {
                    "index": 23,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 221
                },
                {
                    "index": 24,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 137
                },
                {
                    "index": 25,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 26,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 27,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 28,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 29,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 30,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 31,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 33,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 34,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 35,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 37,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 38,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 39,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 40,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 41,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 42,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 43,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 44,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 205,
            "time": 155.11999999999998,
            "query": "select * from `media` where `media`.`model_id` = ? and `media`.`model_id` is not null and `media`.`model_type` = ?",
            "model": "App\\Models\\LabInvoiceProfile",
            "relatedModel": "media",
            "relation": "media",
            "sources": [
                {
                    "index": 17,
                    "name": "\\vendor\\spatie\\laravel-medialibrary\\src\\InteractsWithMedia.php",
                    "line": 562
                },
                {
                    "index": 18,
                    "name": "\\vendor\\spatie\\laravel-medialibrary\\src\\MediaCollections\\MediaRepository.php",
                    "line": 33
                },
                {
                    "index": 19,
                    "name": "\\vendor\\spatie\\laravel-medialibrary\\src\\InteractsWithMedia.php",
                    "line": 290
                },
                {
                    "index": 20,
                    "name": "\\vendor\\spatie\\laravel-medialibrary\\src\\InteractsWithMedia.php",
                    "line": 301
                },
                {
                    "index": 21,
                    "name": "\\app\\Models\\LabInvoiceProfile.php",
                    "line": 65
                },
                {
                    "index": 27,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\DelegatesToResource.php",
                    "line": 140
                },
                {
                    "index": 28,
                    "name": "\\app\\Http\\Resources\\LabInvoiceProfileResource.php",
                    "line": 40
                },
                {
                    "index": 29,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 95
                },
                {
                    "index": 30,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\ResourceResponse.php",
                    "line": 39
                },
                {
                    "index": 31,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Resources\\Json\\JsonResource.php",
                    "line": 221
                },
                {
                    "index": 32,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 137
                },
                {
                    "index": 33,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 34,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 35,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 36,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 37,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 38,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 39,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 40,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 41,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 42,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 43,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 44,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 45,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 46,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 47,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 48,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 49,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                }
            ]
        },
        {
            "count": 175,
            "time": 200.89999999999927,
            "query": "select `work_stages`.*, `work_template_stages`.`work_template_id` as `pivot_work_template_id`, `work_template_stages`.`work_stage_id` as `pivot_work_stage_id`, `work_template_stages`.`id` as `pivot_id`, `work_template_stages`.`rank` as `pivot_rank`, `work_template_stages`.`day_number` as `pivot_day_number` from `work_stages` inner join `work_template_stages` on `work_stages`.`id` = `work_template_stages`.`work_stage_id` where `work_template_stages`.`work_template_id` = ? and `work_stages`.`deleted_at` is null order by `work_template_stages`.`rank` asc",
            "model": "App\\Models\\WorkTemplate",
            "relatedModel": "workStagesOrdered",
            "relation": "workStagesOrdered",
            "sources": [
                {
                    "index": 21,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Collections\\Traits\\EnumeratesValues.php",
                    "line": 234
                },
                {
                    "index": 24,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 206
                },
                {
                    "index": 25,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 85
                },
                {
                    "index": 26,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 27,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 28,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 29,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 30,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 31,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 33,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 34,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 35,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 37,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 38,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 39,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 40,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 41,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 42,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 43,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 44,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 45,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 175,
            "time": 110.2499999999999,
            "query": "update `work_template_stages` set `work_template_stages`.`updated_at` = ? where `work_template_stages`.`work_template_id` = ? and `work_template_stages`.`work_template_id` is not null order by `rank` asc",
            "model": "App\\Models\\WorkTemplate",
            "relatedModel": "App\\Models\\WorkTemplateStage",
            "relation": "App\\Models\\WorkTemplateStage",
            "sources": [
                {
                    "index": 15,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Collections\\Traits\\EnumeratesValues.php",
                    "line": 234
                },
                {
                    "index": 18,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 206
                },
                {
                    "index": 19,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 85
                },
                {
                    "index": 20,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 21,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 22,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 23,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 24,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 25,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 26,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 27,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 28,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 29,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 30,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 31,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 32,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 33,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 34,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 35,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 36,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 37,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 38,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 39,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        },
        {
            "count": 175,
            "time": 125.99999999999967,
            "query": "select * from `work_template_stages` where `work_template_stages`.`work_template_id` = ? and `work_template_stages`.`work_template_id` is not null order by `rank` asc",
            "model": "App\\Models\\WorkTemplate",
            "relatedModel": "templateStagesOrdered",
            "relation": "templateStagesOrdered",
            "sources": [
                {
                    "index": 21,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Collections\\Traits\\EnumeratesValues.php",
                    "line": 234
                },
                {
                    "index": 24,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 206
                },
                {
                    "index": 25,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 85
                },
                {
                    "index": 26,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Strategies\\Responses\\UseApiResourceTags.php",
                    "line": 54
                },
                {
                    "index": 27,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 236
                },
                {
                    "index": 28,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 172
                },
                {
                    "index": 29,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Extracting\\Generator.php",
                    "line": 127
                },
                {
                    "index": 30,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 119
                },
                {
                    "index": 31,
                    "name": "\\vendor\\knuckleswtf\\scribe\\src\\Commands\\GenerateDocumentation.php",
                    "line": 73
                },
                {
                    "index": 32,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 36
                },
                {
                    "index": 33,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php",
                    "line": 40
                },
                {
                    "index": 34,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 93
                },
                {
                    "index": 35,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php",
                    "line": 37
                },
                {
                    "index": 36,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php",
                    "line": 653
                },
                {
                    "index": 37,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 136
                },
                {
                    "index": 38,
                    "name": "\\vendor\\symfony\\console\\Command\\Command.php",
                    "line": 299
                },
                {
                    "index": 39,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php",
                    "line": 121
                },
                {
                    "index": 40,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 978
                },
                {
                    "index": 41,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 295
                },
                {
                    "index": 42,
                    "name": "\\vendor\\symfony\\console\\Application.php",
                    "line": 167
                },
                {
                    "index": 43,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php",
                    "line": 94
                },
                {
                    "index": 44,
                    "name": "\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php",
                    "line": 129
                },
                {
                    "index": 45,
                    "name": "\\artisan",
                    "line": 37
                }
            ]
        }
    ]
}

Request      

GET api/technical/central_seed

Migrating tenants

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/technical/tenants_migrate" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/technical/tenants_migrate"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "message": "clear cache complete"
}

Request      

GET api/technical/tenants_migrate

Clear cache

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/technical/clear_cache" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/technical/clear_cache"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "message": "clear cache complete"
}

Request      

GET api/technical/clear_cache

Install a tenant

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/technical/install_tenant/sit" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/technical/install_tenant/sit"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "message": "Tenant $tenant_name created"
}

Request      

GET api/technical/install_tenant/{tenant_name}

URL Parameters

tenant_name  string  

Reset database for a tenant

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/technical/reset_tenant/laudantium" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/technical/reset_tenant/laudantium"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "message": "Tenant $tenant_name refreshed"
}

Request      

GET api/technical/reset_tenant/{tenant_name}

URL Parameters

tenant_name  string  

Sabloane - etape

APIs for managing work templates

WTS Listing of work template stages

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stages-listing" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"work_template_id":1}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stages-listing"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "work_template_id": 1
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 101,
            "name": null,
            "type": null,
            "price_type": null,
            "min_duration": null,
            "cost": null,
            "remake_cost": null,
            "special_cost": null,
            "description": null,
            "to_send": null,
            "confirmation_required": null,
            "extra_cost_applied": null,
            "multi_factor_dentition": null,
            "pivot_rank": 0,
            "pivot_day_number": 0,
            "pivot_work_template_id": 0,
            "pivot_work_stage_id": 0,
            "pivot_id": 0
        },
        {
            "id": 102,
            "name": null,
            "type": null,
            "price_type": null,
            "min_duration": null,
            "cost": null,
            "remake_cost": null,
            "special_cost": null,
            "description": null,
            "to_send": null,
            "confirmation_required": null,
            "extra_cost_applied": null,
            "multi_factor_dentition": null,
            "pivot_rank": 0,
            "pivot_day_number": 0,
            "pivot_work_template_id": 0,
            "pivot_work_stage_id": 0,
            "pivot_id": 0
        }
    ]
}

Request      

POST api/v1/ro/work-template-stages-listing

Body Parameters

work_template_id  integer  

WTS creates a work template stage.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stages" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"work_template_id":19,"work_stage_id":15,"rank":3}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stages"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "work_template_id": 19,
    "work_stage_id": 15,
    "rank": 3
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 103,
        "name": null,
        "type": null,
        "price_type": null,
        "min_duration": null,
        "cost": null,
        "remake_cost": null,
        "special_cost": null,
        "description": null,
        "to_send": null,
        "confirmation_required": null,
        "extra_cost_applied": null,
        "multi_factor_dentition": null,
        "pivot_rank": 0,
        "pivot_day_number": 0,
        "pivot_work_template_id": 0,
        "pivot_work_stage_id": 0,
        "pivot_id": 0
    }
}

Request      

POST api/v1/ro/work-template-stages

Body Parameters

work_template_id  integer  

work_stage_id  integer  

rank  integer  

WTS Remove a work template stage.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stages" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"work_template_id":8,"work_stage_id":10}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stages"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "work_template_id": 8,
    "work_stage_id": 10
}

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{}

Request      

DELETE api/v1/ro/work-template-stages

Body Parameters

work_template_id  integer  

work_stage_id  integer  

WTS update work template stages.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stages" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"work_template_id":12,"work_template_stages":[{"work_stage_id":12,"rank":10}]}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stages"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "work_template_id": 12,
    "work_template_stages": [
        {
            "work_stage_id": 12,
            "rank": 10
        }
    ]
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 104,
            "name": null,
            "type": null,
            "price_type": null,
            "min_duration": null,
            "cost": null,
            "remake_cost": null,
            "special_cost": null,
            "description": null,
            "to_send": null,
            "confirmation_required": null,
            "extra_cost_applied": null,
            "multi_factor_dentition": null,
            "pivot_rank": 0,
            "pivot_day_number": 0,
            "pivot_work_template_id": 0,
            "pivot_work_stage_id": 0,
            "pivot_id": 0
        },
        {
            "id": 105,
            "name": null,
            "type": null,
            "price_type": null,
            "min_duration": null,
            "cost": null,
            "remake_cost": null,
            "special_cost": null,
            "description": null,
            "to_send": null,
            "confirmation_required": null,
            "extra_cost_applied": null,
            "multi_factor_dentition": null,
            "pivot_rank": 0,
            "pivot_day_number": 0,
            "pivot_work_template_id": 0,
            "pivot_work_stage_id": 0,
            "pivot_id": 0
        }
    ]
}

Request      

PUT api/v1/ro/work-template-stages

Body Parameters

work_template_id  integer  

work_template_stages  object[] optional  

work_template_stages[].work_stage_id  integer  

work_template_stages[].rank  integer  

WTS update work template stage day number.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stages/update-day-number" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"work_template_id":1,"work_template_stage_id":17,"day_number":1}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stages/update-day-number"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "work_template_id": 1,
    "work_template_stage_id": 17,
    "day_number": 1
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/work-template-stages/update-day-number

Body Parameters

work_template_id  integer  

work_template_stage_id  integer  

day_number  integer  

Sabloane - utilizatori etape

APIs for managing work templates

Listing of work template stage users

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stage-users-listing" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"work_template_id":1,"work_stage_id":12}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stage-users-listing"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "work_template_id": 1,
    "work_stage_id": 12
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 501,
            "username": null,
            "first_name": null,
            "last_name": null,
            "status": null,
            "roles": null,
            "pivot_work_template_stage_id": 0,
            "pivot_work_template_id": 0,
            "pivot_work_stage_id": 0,
            "pivot_user_id": 0,
            "pivot_price": null,
            "pivot_rank": 0
        },
        {
            "id": 502,
            "username": null,
            "first_name": null,
            "last_name": null,
            "status": null,
            "roles": null,
            "pivot_work_template_stage_id": 0,
            "pivot_work_template_id": 0,
            "pivot_work_stage_id": 0,
            "pivot_user_id": 0,
            "pivot_price": null,
            "pivot_rank": 0
        }
    ]
}

Request      

POST api/v1/ro/work-template-stage-users-listing

Body Parameters

work_template_id  integer  

work_stage_id  integer  

Creates a work template stage user.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stage-users" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"work_template_id":2,"work_stage_id":6,"user_id":5,"price":365674.238426034}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stage-users"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "work_template_id": 2,
    "work_stage_id": 6,
    "user_id": 5,
    "price": 365674.238426034
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 503,
        "username": null,
        "first_name": null,
        "last_name": null,
        "status": null,
        "roles": null,
        "pivot_work_template_stage_id": 0,
        "pivot_work_template_id": 0,
        "pivot_work_stage_id": 0,
        "pivot_user_id": 0,
        "pivot_price": null,
        "pivot_rank": 0
    }
}

Request      

POST api/v1/ro/work-template-stage-users

Body Parameters

work_template_id  integer  

work_stage_id  integer  

user_id  integer  

price  number  

Remove a work template stage user.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stage-users" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"work_template_id":4,"work_stage_id":3,"user_id":3}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stage-users"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "work_template_id": 4,
    "work_stage_id": 3,
    "user_id": 3
}

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{}

Request      

DELETE api/v1/ro/work-template-stage-users

Body Parameters

work_template_id  integer  

work_stage_id  integer  

user_id  integer  

WTS update work template stages.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stage-users" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"work_template_id":2,"work_stage_id":9,"work_template_stage_users":[{"user_id":4,"price":8}]}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-template-stage-users"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "work_template_id": 2,
    "work_stage_id": 9,
    "work_template_stage_users": [
        {
            "user_id": 4,
            "price": 8
        }
    ]
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 504,
            "username": null,
            "first_name": null,
            "last_name": null,
            "status": null,
            "roles": null,
            "pivot_work_template_stage_id": 0,
            "pivot_work_template_id": 0,
            "pivot_work_stage_id": 0,
            "pivot_user_id": 0,
            "pivot_price": null,
            "pivot_rank": 0
        },
        {
            "id": 505,
            "username": null,
            "first_name": null,
            "last_name": null,
            "status": null,
            "roles": null,
            "pivot_work_template_stage_id": 0,
            "pivot_work_template_id": 0,
            "pivot_work_stage_id": 0,
            "pivot_user_id": 0,
            "pivot_price": null,
            "pivot_rank": 0
        }
    ]
}

Request      

PUT api/v1/ro/work-template-stage-users

Body Parameters

work_template_id  integer  

work_stage_id  integer  

work_template_stage_users  object[] optional  

work_template_stage_users[].user_id  integer  

work_template_stage_users[].price  integer optional  

Sabloane

APIs for managing work templates

Work template listing.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/work-templates" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-templates"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 21,
            "name": "Id enim numquam enim ut est.",
            "min_duration": 5,
            "estimated_duration": 9,
            "cost": 4064.28,
            "extra_cost": 1706.44,
            "description": "Dolor hic cum sit facere occaecati quo. Labore et est sint voluptatem quo. Commodi sit placeat eaque repellat quos provident dolores. Expedita ut sit dolor modi dolorem quaerat.",
            "type": "",
            "price_type": "fix",
            "symbol": "dignissimos",
            "multi_factor_dentition": {
                "1": true,
                "2": true,
                "3": true,
                "4": true,
                "5": true,
                "6": true,
                "7": true
            }
        },
        {
            "id": 22,
            "name": "Ut ducimus id eum aut sit.",
            "min_duration": 7,
            "estimated_duration": 2,
            "cost": 6754.44,
            "extra_cost": 3260.02,
            "description": "Perferendis numquam laudantium dolores ipsum facilis non est incidunt. Reiciendis consequatur quidem sint nemo minus libero sunt. Quam eaque quaerat necessitatibus iure dicta velit ipsam.",
            "type": "",
            "price_type": "elemente",
            "symbol": "tempora",
            "multi_factor_dentition": {
                "1": true,
                "2": true,
                "3": true,
                "4": true,
                "5": true,
                "6": true,
                "7": true
            }
        }
    ]
}

Request      

GET api/v1/ro/work-templates

WT Store a newly created work template.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/work-templates" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"vel","min_duration":6,"estimated_duration":2,"symbol":"voluptatem","cost":136154173.45,"extra_cost":97685243.3,"description":"dignissimos","type":"neque","price_type":"fix","multi_factor_dentition":{"1":false,"2":false,"3":false,"4":false,"5":false,"6":false,"7":false}}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-templates"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vel",
    "min_duration": 6,
    "estimated_duration": 2,
    "symbol": "voluptatem",
    "cost": 136154173.45,
    "extra_cost": 97685243.3,
    "description": "dignissimos",
    "type": "neque",
    "price_type": "fix",
    "multi_factor_dentition": {
        "1": false,
        "2": false,
        "3": false,
        "4": false,
        "5": false,
        "6": false,
        "7": false
    }
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 23,
        "name": "Dolores sit illo enim.",
        "min_duration": 4,
        "estimated_duration": 8,
        "cost": 9017.89,
        "extra_cost": 668.87,
        "description": "Est quod optio odit deserunt voluptatum voluptas. Harum similique qui omnis velit doloremque. Odio dolorum voluptas doloremque ut et vero. Facilis beatae ratione maxime.",
        "type": "",
        "price_type": "fix",
        "symbol": "delectus",
        "multi_factor_dentition": {
            "1": true,
            "2": true,
            "3": true,
            "4": true,
            "5": true,
            "6": true,
            "7": true
        }
    }
}

Request      

POST api/v1/ro/work-templates

Body Parameters

name  string  

min_duration  integer  

estimated_duration  integer  

symbol  string optional  

cost  number  

extra_cost  number  

description  string optional  

type  string optional  

price_type  string  
The value must be one of fix, elemente, or arcada.

multi_factor_dentition  object optional  

multi_factor_dentition.1  boolean  

multi_factor_dentition.2  boolean  

multi_factor_dentition.3  boolean  

multi_factor_dentition.4  boolean  

multi_factor_dentition.5  boolean  

multi_factor_dentition.6  boolean  

multi_factor_dentition.7  boolean  

WT Display a work template.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/work-templates/19" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-templates/19"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 24,
        "name": "Voluptatum soluta quia modi.",
        "min_duration": 7,
        "estimated_duration": 7,
        "cost": 8580.53,
        "extra_cost": 9393.84,
        "description": "Corrupti molestiae eum autem. Quaerat cumque voluptatibus eos earum eos aliquam. Veritatis possimus quaerat ut deleniti et.",
        "type": "",
        "price_type": "elemente",
        "symbol": "labore",
        "multi_factor_dentition": {
            "1": true,
            "2": true,
            "3": true,
            "4": true,
            "5": true,
            "6": true,
            "7": true
        }
    }
}

Request      

GET api/v1/ro/work-templates/{work_template}

URL Parameters

work_template  integer  

WT Update a work template.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/work-templates/13" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"fugit","min_duration":5,"estimated_duration":14,"symbol":"esse","cost":51954.048,"extra_cost":7568.605377,"description":"illum","type":"et","price_type":"elemente","multi_factor_dentition":{"1":false,"2":false,"3":false,"4":false,"5":false,"6":false,"7":false}}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-templates/13"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "fugit",
    "min_duration": 5,
    "estimated_duration": 14,
    "symbol": "esse",
    "cost": 51954.048,
    "extra_cost": 7568.605377,
    "description": "illum",
    "type": "et",
    "price_type": "elemente",
    "multi_factor_dentition": {
        "1": false,
        "2": false,
        "3": false,
        "4": false,
        "5": false,
        "6": false,
        "7": false
    }
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 25,
        "name": "Repellendus ut quas et et.",
        "min_duration": 3,
        "estimated_duration": 10,
        "cost": 1457.41,
        "extra_cost": 487.59,
        "description": "Impedit non ratione voluptas eveniet. Est aut sunt aspernatur ut cupiditate vel in. Vitae fugiat dolore nostrum iusto optio quia.",
        "type": "",
        "price_type": "elemente",
        "symbol": "non",
        "multi_factor_dentition": {
            "1": true,
            "2": true,
            "3": true,
            "4": true,
            "5": true,
            "6": true,
            "7": true
        }
    }
}

Request      

PUT api/v1/ro/work-templates/{work_template}

PATCH api/v1/ro/work-templates/{work_template}

URL Parameters

work_template  integer  

Body Parameters

name  string  

min_duration  integer  

estimated_duration  integer  

symbol  string optional  

cost  number  

extra_cost  number  

description  string optional  

type  string optional  

price_type  string  
The value must be one of fix, elemente, or arcada.

multi_factor_dentition  object optional  

multi_factor_dentition.1  boolean  

multi_factor_dentition.2  boolean  

multi_factor_dentition.3  boolean  

multi_factor_dentition.4  boolean  

multi_factor_dentition.5  boolean  

multi_factor_dentition.6  boolean  

multi_factor_dentition.7  boolean  

WT Remove a work template.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/work-templates/7" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-templates/7"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/work-templates/{work_template}

URL Parameters

work_template  integer  

WT Reset all work templates.

requires authentication

Example request:

curl -X DELETE \
    "https://api.dentalsystem.ro/api/v1/ro/work-templates-reset" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-templates-reset"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

DELETE api/v1/ro/work-templates-reset

Clone a work template.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/work-templates-clone" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"work_template_id":18}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-templates-clone"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "work_template_id": 18
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/work-templates-clone

Body Parameters

work_template_id  integer  

Setari

APIs for getting configurations

Work stage types configuration

requires authentication

Possible types of work stages

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/work-stage-types" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-stage-types"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/work-stage-types

Work stage price types configuration

requires authentication

Possible values of work stage prices types

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/work-templates-price-types" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/work-templates-price-types"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/work-templates-price-types

User statuses configuration

requires authentication

Possible values of user status

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/user-statuses" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/user-statuses"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/user-statuses

Order statuses configuration

requires authentication

Possible values of order status

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/order-statuses" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/order-statuses"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/order-statuses

OWS possible special stages

requires authentication

Data of possible special stages for order work stages

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/ows-special-stages" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/ows-special-stages"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/ows-special-stages

Utilizatori

APIs for managing users

Login a user.

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/login" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"username":"qui","password":"consequuntur"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/login"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "username": "qui",
    "password": "consequuntur"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/login

Body Parameters

username  string optional  
required.

password  string optional  
required.

Logout logged user token.

requires authentication

Deletes token

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/logout" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/logout"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

POST api/v1/ro/logout

Refresh token.

requires authentication

Deletes current token for user and generate 1 new

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/refresh" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/refresh"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro/refresh

End the collaboration with the given user.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/users/voluptate/end-collaboration" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"end_collaboration":false}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/users/voluptate/end-collaboration"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "end_collaboration": false
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

PUT api/v1/ro/users/{user}/end-collaboration

URL Parameters

user  string  

Body Parameters

end_collaboration  boolean  

All possible users on specific client

requires authentication

This endpoint allows you to see all possible users on specific client

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/users?sort=-id%2Cfirst_name%2Clast_name" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/users"
);

let params = {
    "sort": "-id,first_name,last_name",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 5,
            "username": "lupu.daniela",
            "username_identifier": null,
            "username_suffix": "daniela",
            "first_name": "Tinca",
            "last_name": "Trifan",
            "department": null,
            "mobile": "0798659755",
            "phone_fax": "0722397230",
            "email": "igrigoras@example.org",
            "website": "http:\/\/ignat.info\/sequi-excepturi-animi-exercitationem-eveniet-veniam-dignissimos-deserunt-consequatur",
            "address": "Calea Albert Einstein 962, Corabia, Giurgiu, CP 435751",
            "status": "vacation",
            "profile_pic": null,
            "use_profile_pic": false,
            "roles_ids": [],
            "roles": [],
            "permissions": []
        },
        {
            "id": 6,
            "username": "adanila",
            "username_identifier": null,
            "username_suffix": null,
            "first_name": "Ariadna",
            "last_name": "Bogdan",
            "department": null,
            "mobile": "0264791695",
            "phone_fax": "0254655830",
            "email": "hortensia.nagy@example.org",
            "website": "http:\/\/tudorache.com\/natus-et-voluptatum-in-ut-est-ullam.html",
            "address": "Calea Petrache Poenaru 625, Sinaia, Galați, CP 337879",
            "status": "vacation",
            "profile_pic": null,
            "use_profile_pic": true,
            "roles_ids": [],
            "roles": [],
            "permissions": []
        }
    ]
}

Request      

GET api/v1/ro/users

Query Parameters

sort  string optional  
Field to sort by. Sorting ASC id Sorting DESC -id

Store a newly created user.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/users" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"username_suffix":"repudiandae","first_name":"consequuntur","last_name":"perferendis","department_id":13,"phone_fax":"autem","mobile":"culpa","email":"vesta.lockman@example.net","website":"https:\/\/www.bashirian.com\/voluptas-quia-aperiam-aliquam-et","address":"neque","status":"active","use_profile_pic":false,"roles_ids":[2,14],"password":"excepturi","password_confirmation":"nesciunt"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/users"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "username_suffix": "repudiandae",
    "first_name": "consequuntur",
    "last_name": "perferendis",
    "department_id": 13,
    "phone_fax": "autem",
    "mobile": "culpa",
    "email": "vesta.lockman@example.net",
    "website": "https:\/\/www.bashirian.com\/voluptas-quia-aperiam-aliquam-et",
    "address": "neque",
    "status": "active",
    "use_profile_pic": false,
    "roles_ids": [
        2,
        14
    ],
    "password": "excepturi",
    "password_confirmation": "nesciunt"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 7,
        "username": "remus.farcas",
        "username_identifier": null,
        "username_suffix": "farcas",
        "first_name": "Lorin",
        "last_name": "Costache",
        "department": null,
        "mobile": "0267263627",
        "phone_fax": "0342494978",
        "email": "anabela95@example.net",
        "website": "http:\/\/www.fratila.com\/enim-rerum-recusandae-dolores-ipsam",
        "address": "P-ța J.J Rousseau nr. 6, bl. C, et. 75, ap. 93, Mun. Focșani, Călărași, CP 361767",
        "status": "vacation",
        "profile_pic": null,
        "use_profile_pic": false,
        "roles_ids": [],
        "roles": [],
        "permissions": []
    }
}

Request      

POST api/v1/ro/users

Body Parameters

username_suffix  string  

first_name  string  

last_name  string  

department_id  integer  

phone_fax  string optional  

mobile  string optional  

email  string optional  
Câmpul value trebuie să fie o adresă de e-mail validă.

website  string optional  
The value must be a valid URL.

address  string optional  

status  string  
The value must be one of active or vacation.

use_profile_pic  boolean optional  

roles_ids  integer[]  

password  string  

password_confirmation  required optional  

Display a user.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/users/17" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/users/17"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 8,
        "username": "bartolomeu28",
        "username_identifier": null,
        "username_suffix": null,
        "first_name": "Roberta",
        "last_name": "Bratu",
        "department": null,
        "mobile": "0721237036",
        "phone_fax": "0785108981",
        "email": "georgiana.filip@example.org",
        "website": "http:\/\/stefanescu.com\/dolorem-eum-rem-optio-sequi-fugiat-in-et",
        "address": "Splaiul J.J Rousseau nr. 3B, bl. B, et. 0, ap. 17, Cisnădie, Ialomița, CP 666896",
        "status": "vacation",
        "profile_pic": null,
        "use_profile_pic": true,
        "roles_ids": [],
        "roles": [],
        "permissions": []
    }
}

Request      

GET api/v1/ro/users/{user}

URL Parameters

user  integer  

Update a user.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/users/16" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"username_suffix":"nihil","first_name":"velit","last_name":"aperiam","department_id":14,"phone_fax":"nesciunt","mobile":"eligendi","email":"alba57@example.net","website":"http:\/\/www.damore.biz\/illum-voluptates-aut-ducimus-ab-doloremque-quis-molestiae","address":"culpa","status":"vacation","use_profile_pic":false,"roles_ids":[13,5],"password":"quia","end_collaboration":false,"password_confirmation":"cum"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/users/16"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "username_suffix": "nihil",
    "first_name": "velit",
    "last_name": "aperiam",
    "department_id": 14,
    "phone_fax": "nesciunt",
    "mobile": "eligendi",
    "email": "alba57@example.net",
    "website": "http:\/\/www.damore.biz\/illum-voluptates-aut-ducimus-ab-doloremque-quis-molestiae",
    "address": "culpa",
    "status": "vacation",
    "use_profile_pic": false,
    "roles_ids": [
        13,
        5
    ],
    "password": "quia",
    "end_collaboration": false,
    "password_confirmation": "cum"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 9,
        "username": "mircea.elodia",
        "username_identifier": null,
        "username_suffix": "elodia",
        "first_name": "Fabia",
        "last_name": "Barbulescu",
        "department": null,
        "mobile": "0360555558",
        "phone_fax": "0736473958",
        "email": "dorin.gheorghiu@example.org",
        "website": "https:\/\/nita.biz\/minima-ducimus-voluptates-ipsa-ut.html",
        "address": "B-dul. Mircea cel Bătrân 296, Găești, Vrancea, CP 904704",
        "status": "active",
        "profile_pic": null,
        "use_profile_pic": false,
        "roles_ids": [],
        "roles": [],
        "permissions": []
    }
}

Request      

PUT api/v1/ro/users/{user}

PATCH api/v1/ro/users/{user}

URL Parameters

user  integer  

Body Parameters

username_suffix  string  

first_name  string  

last_name  string  

department_id  integer  

phone_fax  string optional  

mobile  string optional  

email  string optional  
Câmpul value trebuie să fie o adresă de e-mail validă.

website  string optional  
The value must be a valid URL.

address  string optional  

status  string  
The value must be one of active or vacation.

use_profile_pic  boolean optional  

roles_ids  integer[]  

password  string optional  

end_collaboration  boolean optional  

password_confirmation  required optional  

Logged user profile.

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro/user" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/user"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 10,
        "username": "dumitrescu.dumitru",
        "username_identifier": null,
        "username_suffix": "dumitru",
        "first_name": "Olivia",
        "last_name": "Diaconu",
        "department": null,
        "mobile": "0709168807",
        "phone_fax": "0339727056",
        "email": "pompiliu.niculae@example.com",
        "website": "https:\/\/gherman.com\/nemo-accusamus-voluptatem-adipisci.html",
        "address": "Aleea Eroilor 7\/6, Călărași, Vâlcea, CP 081115",
        "status": "vacation",
        "profile_pic": null,
        "use_profile_pic": true,
        "roles_ids": [],
        "roles": [],
        "permissions": []
    }
}

Request      

GET api/v1/ro/user

Update logged user profile.

requires authentication

Example request:

curl -X PUT \
    "https://api.dentalsystem.ro/api/v1/ro/user" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"first_name":"optio","last_name":"ea","phone_fax":"odit","mobile":"enim","email":"kwilkinson@example.org","website":"https:\/\/www.schumm.com\/sapiente-eaque-rem-et-ut-nihil-ipsa-incidunt","address":"quasi","status":"active","use_profile_pic":false,"password":"velit","password_confirmation":"vel"}'
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/user"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "optio",
    "last_name": "ea",
    "phone_fax": "odit",
    "mobile": "enim",
    "email": "kwilkinson@example.org",
    "website": "https:\/\/www.schumm.com\/sapiente-eaque-rem-et-ut-nihil-ipsa-incidunt",
    "address": "quasi",
    "status": "active",
    "use_profile_pic": false,
    "password": "velit",
    "password_confirmation": "vel"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 11,
        "username": "qvoinea",
        "username_identifier": null,
        "username_suffix": null,
        "first_name": "Ștefana",
        "last_name": "Giurgiu",
        "department": null,
        "mobile": "0238360555",
        "phone_fax": "0742940180",
        "email": "carina67@example.net",
        "website": "http:\/\/www.ionita.com\/nostrum-dolores-porro-doloremque-modi.html",
        "address": "B-dul. Jiului 768, Întorsura Buzăului, Hunedoara, CP 843036",
        "status": "vacation",
        "profile_pic": null,
        "use_profile_pic": false,
        "roles_ids": [],
        "roles": [],
        "permissions": []
    }
}

Request      

PUT api/v1/ro/user

Body Parameters

first_name  string  

last_name  string  

phone_fax  string optional  

mobile  string optional  

email  string optional  
Câmpul value trebuie să fie o adresă de e-mail validă.

website  string optional  
The value must be a valid URL.

address  string optional  

status  string  
The value must be one of active or vacation.

use_profile_pic  boolean optional  

password  string optional  

password_confirmation  required optional  

Update user's profile picture.

requires authentication

Example request:

curl -X POST \
    "https://api.dentalsystem.ro/api/v1/ro/user-profile-photo/17" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: multipart/form-data" \
    -H "Accept: application/json" \
    -F "picture=@C:\Users\Stefi\AppData\Local\Temp\phpFC54.tmp" 
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro/user-profile-photo/17"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('picture', document.querySelector('input[name="picture"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (200):

{
    "data": {
        "id": 12,
        "username": "octaviu.marcu",
        "username_identifier": null,
        "username_suffix": "marcu",
        "first_name": "Nicolaie",
        "last_name": "Danila",
        "department": null,
        "mobile": "0240178556",
        "phone_fax": "0780020068",
        "email": "dima.pamfil@example.net",
        "website": "http:\/\/croitoru.com\/assumenda-adipisci-unde-autem-illum",
        "address": "Str. Făget nr. 363, bl. 0, sc. B, et. 46, ap. 6, Mun. Titu, Maramureț, CP 575273",
        "status": "vacation",
        "profile_pic": null,
        "use_profile_pic": true,
        "roles_ids": [],
        "roles": [],
        "permissions": []
    }
}

Request      

POST api/v1/ro/user-profile-photo/{user}

URL Parameters

user  integer  

Body Parameters

picture  file optional  

X_unsorted_endpoints

tenancy/assets/{path?}

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/tenancy/assets/qui" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/tenancy/assets/qui"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET tenancy/assets/{path?}

URL Parameters

path  string optional  

api/v1/ro

requires authentication

Example request:

curl -X GET \
    -G "https://api.dentalsystem.ro/api/v1/ro" \
    -H "Authorization: Bearer {YOUR_TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.dentalsystem.ro/api/v1/ro"
);

let headers = {
    "Authorization": "Bearer {YOUR_TOKEN}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

{
    "message": "Necesita autentificare"
}

Request      

GET api/v1/ro